{"report_id":"f66435b2-d904-4850-a765-8aa7dc2c0122","version":0,"status":"done","tags":[],"date":"2026-07-27T08:20:10Z","url":{"schema":"https","addr":"notrx.app/","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"final":{"url":{"schema":"https","addr":"notrx.app/","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"title":"notrx — Zero-Fee USDT to TRX Swap | No Gas, No KYC","dom":{"size":52710,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (20978)","md5":"73d929414a5d687ba35ae348638b9d65","sha1":"208b61aacf89654997e01c75e5cd13007ca0455e","sha256":"f4cf31e67b3debfcd3bad1563eb926df259f23981ece535930d71d7efcdd3e45","sha512":"8eda3c08832dda068988698cf2907a0301b12c5d8b7262b26a442a9d3980d1b760f3a3ca1a3d0dd169e776860e14bd9bfec404a24bc53b955ea996eaff0f4072","ssdeep":"1536:9DCWlHJSAAAAppppPPPPAAAA222ANHWJs/P/f/SRjmuS2A3BMsqb7pKkZYrSM363:kW1CNHWJs/P/f/SRjmuS2A3BMsqb7pKa","tlshash":"02333aa4a35c523a7113c3d9769fb7ae30a59187e6069060f7dc04accfc6cea0d76789","dom_hash":"domhash70c045f1637c09a02674e8b137f77210","first_seen":"2026-07-27T08:20:14.866001Z","last_seen":"2026-07-27T08:20:14.866001Z","times_seen":1,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"notrx.app/","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T08:20:10Z","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":2}},"detection":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":2,"received_data":9517,"sent_data":1116,"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"]}]},{"fqdn":"unpkg.com","ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2016-01-06","domain_rank":1093,"first_seen":"2016-01-07T23:26:01Z","last_seen":"2026-07-27T07:50:35.491492Z","alert_count":0,"request_count":1,"received_data":41877,"sent_data":463,"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":"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":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}]},{"fqdn":"api.binance.com","ip":{"addr":"143.204.237.122","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2017-04-01","domain_rank":543119,"first_seen":"2017-12-19T18:31:49Z","last_seen":"2026-07-27T00:52:56.308231Z","alert_count":0,"request_count":1,"received_data":937,"sent_data":480,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}]},{"fqdn":"orangerosehamburg.com","ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2025-11-12","domain_rank":0,"first_seen":"2025-11-15T14:14:06.509371Z","last_seen":"2026-07-27T05:18:35.770696Z","alert_count":10,"request_count":5,"received_data":589579,"sent_data":2537,"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":"Express","description":"Express is a web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs.","website":"https://expressjs.com","common_platform_enumeration":"cpe:2.3:a:expressjs:express:*:*:*:*:*:*:*:*","icon":"Express.svg","categories":["Web frameworks","Web servers"]},{"name":"Node.js","description":"Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside a web browser.","website":"https://nodejs.org","common_platform_enumeration":"cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*","icon":"Node.js.svg","categories":["Programming languages"]}]},{"fqdn":"notrx.app","ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2026-07-27T05:18:35.156251Z","last_seen":"2026-07-27T05:18:35.156251Z","alert_count":0,"request_count":5,"received_data":51492,"sent_data":2917,"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"]}]},{"fqdn":"explorer-api.walletconnect.com","ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-12-19","domain_rank":466611,"first_seen":"2022-10-10T18:16:28Z","last_seen":"2026-07-20T21:56:40.518786Z","alert_count":0,"request_count":11,"received_data":466929,"sent_data":6837,"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"]}]},{"fqdn":"cdn.jsdelivr.net","ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2012-05-16","domain_rank":1678,"first_seen":"2012-09-30T00:15:09Z","last_seen":"2026-07-26T23:00:42.445991Z","alert_count":0,"request_count":7,"received_data":791505,"sent_data":3678,"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":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":7,"received_data":308821,"sent_data":3916,"comment":"","tags":null,"fingerprints":null}],"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":"notrx.app/cdn-cgi/challenge-platform/scripts/jsd/main.js","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"43f622022a8ab393cc4a164b2c7c303c","sha1":"683e005b1da78c540f51fba195eb22571d854af5","sha256":"a8f882c03c115d6846e77706a101eb2a84070fcec33aa19783939951cc657c37","sha512":"76649a39c2bc9b9585ac79498b760f58b4f145bfdcd9e93879a2c4c512233daa5bb0d4e18468e9c5f14455db763d0e998a337e39ebe93e6e228d6a3ac2a54628","ssdeep":"384:bXTc8Ps/tOGK/riRg1D+U1bdmt9/nRNOOGUrmX0TrKlthfy2NxrM5QyF1k/YB66:bXQ8Ps1QDewiUqtFOnAytMqyo/YJ","tlshash":"559294ca7ccab408934676b4453f34e6a27f6c84249cca45d1a092dc7d3b75e98bacdc","size":20770,"data":"","first_seen":"2026-07-27T07:56:22.06761Z","last_seen":"2026-07-27T08:20:14.893132Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@walletconnect/sign-client@latest/dist/index.umd.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"1f6b360fc920b7659537e3b2393c7f80","sha1":"acb07575f71b9d47b8b1250e3352ed201a83cb75","sha256":"7996c60fd7e211bd4d183288adbbca70d700695ce8d7a131035b6bf22f2ee004","sha512":"e5aaa8e12694b3e421f02553552897c3002a0fa77b5ff00d272a11da9c090e418e81b05961a6fdeeb8929ce4c497c0c5d1cdd756b2f47e32001a6dc9e67a4d2b","ssdeep":"6144:qt1WNHz1fVOlZmfovycIfZcIdcAR6rbJtHvydzDQ8EDzDVr:2STNV6mwvyfZcIFR6rb/HvyB+D/N","tlshash":"6e944b4072e1a47243ea55e994375101f239d864304d846cfbacfdef7ea488a967bf38","size":426768,"data":"","first_seen":"2026-06-27T12:53:11.206172Z","last_seen":"2026-07-27T11:57:52.257218Z","times_seen":14,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-tronlink@1.1.10/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"65de35d52e65e4d8ee324b758b0cab0d","sha1":"405d64a3a95c694e66cf2e3f644a31bbb5baa05e","sha256":"508e49a1e33ce63aa1f27f3adad76a7f7179fa4b8d6848239c2f1739d945ba5c","sha512":"a4371fca4573b48236c19aa73d4bf4bc73c355b82b57647be93383874346206268a9f8d1f639382a55e463f816e38aa30baec6494e28c62a4b47a8b48d707b1e","ssdeep":"768:RkhRfDrmR0DF5jULphFGokqXR+rAHTBsiOdW7cNX6RQwPVAwBS:RVFbkN8HiilI6R/O","tlshash":"45d23aa4a304348152a347ec45370277d720757d710e90b8731d9ce76a6ab8bf29bbbe","size":30481,"data":"","first_seen":"2025-06-29T04:43:04.394998Z","last_seen":"2026-07-27T11:57:52.140511Z","times_seen":261,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-bitkeep@1.1.0/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"3fe28ff2275f95b883a158ba2107ee1c","sha1":"ee3137c25a6b3a9dfb8c3348a24d59a9f004150e","sha256":"a20c7db2d780e85480644007d6d89cfde981baf3dbbb0d78810c4d4f00e309b5","sha512":"8cdd24e8cc7aead5e315c19dde5451a28909b137ebc38ecc98eb3085fcf76e0b9940a181a28a108101b531e102fbb6d3e9fde83ac31145b425676d5fde5bcb72","ssdeep":"1536:IM+kN8HiiadI0/wVeNSNePgx9UpF46d+JxhgT/bOyV/kYxrvCfupHb7KPko:IM+SJvwVeNSNl3UbQ6T/bOMkY5Cy7OP3","tlshash":"9dc3bfa0e3567096465303eea13f1133f224786da619807cb32c58e6625bb43f46bbfd","size":122635,"data":"","first_seen":"2025-06-29T04:43:04.400086Z","last_seen":"2026-07-27T11:57:52.263151Z","times_seen":260,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-ledger@1.1.8/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"11343b667b97d3bfbc3d6eb9b65d97c8","sha1":"a2f8686a03ab3eeed0792345d232b17781e8a772","sha256":"4acce69f6f0af26517527af70044bf74a9bcf98cb0160edf336d071d35f23a8a","sha512":"3b621eb7e554131e696204841f74ba56c3887ea19141d3088a3a746b67659ee4f694cbb4a9690edc1424b90533de50624d9754fda4dfea84d9954e1e4c17a6e5","ssdeep":"1536:UYRcTahUzhYEiAoSFSFbfrAWFP8jW86603hHOHsEAHthWDL7bXHthhj:5Rc2ihY0oSQFL0sEjWa03rEVV","tlshash":"f9f33bc8b391b025539716f6407f100af3396e19f80c4468b364d8db7cf998a96abf79","size":160316,"data":"","first_seen":"2025-06-29T04:43:04.385454Z","last_seen":"2026-07-27T11:57:52.255038Z","times_seen":261,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-okxwallet@1.0.4/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0c56f69b7bd5e1db1f8049dd75842ea","sha1":"df39d13ba1ee8d11192afdff5acd2064cf049469","sha256":"e1acce03fcf9262854d67b6b180011446afb93124e5c906cb9902858ee4f76e1","sha512":"53b4434de9757429e231202979a745f59cc3054cb1b4ee8c74e9a9024c29bce52d8d8a69e88ffd4c54ae078b411bda10628c71dd0049c18c4761554aff099cb8","ssdeep":"768:RmZorDrmRIdiat4agkqXR+rAHTBsiGkNCTak6SQOa+sICqWaIa5Kuqat8ysL6H2y:RqxkN8Hiipq6SZ/y6J","tlshash":"c4132a50b304348616d707ad443b1277d220b47c710a90f9b35c9cdb5abeb8af65bbba","size":42213,"data":"","first_seen":"2025-06-29T04:43:04.395908Z","last_seen":"2026-07-27T11:57:52.142418Z","times_seen":260,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/axios@1.6.7/dist/axios.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"a46ffdababfaea9a1d2f8da24fd43086","sha1":"a54d5dade6f704214f6184c815926158c0fc21e0","sha256":"3434b67595c68071824e142d077ce7e105d40ac40b15164896d11e54078d0213","sha512":"3507c1fdb0da07c91a49717c13bec98e11c6e4f33a5d5471bc7ce4662c25ddd7560843c16b6dd3efa32e592c0025d306267990a8cd15798f6416ccecac1105ad","ssdeep":"768:M+/XtcUl+5BCzCk3cuyl+lRCj1Q3w8zdTtWaqlBxHdhJNK/1:ZtPZleRSJzB2qt","tlshash":"2e03d8c9b6d2f06143a771b4806f200bf23aa915b48d8454f225ece67cb950e936bf7d","size":40997,"data":"","first_seen":"2024-01-25T21:42:49Z","last_seen":"2026-08-02T08:07:45.627396Z","times_seen":13703,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"notrx.app/","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"b5ea017efda4aae23f66a0e20fc9c0a8","sha1":"e494241b50d78b8b66e549db40b5ae493809d6a7","sha256":"a35342ddc39cbfddddd5bb18c3fdc4f7d0a72100163d995c0c49cd5c3908babc","sha512":"20381f3fd83f330c84b54daea7a87b00c02ffbb8846e61a0eacd55f3b9a57d713ddfe2b3a3208649e59687946a53301d37fafe6b2fe9751a0da2b46a9a2f93db","ssdeep":"","tlshash":"5560000000f00030c0f000300c000330cc3000c0003f3f33030000c00003300000c000","size":14,"data":"","first_seen":"2025-06-29T04:43:04.40586Z","last_seen":"2026-07-27T11:57:52.26775Z","times_seen":260,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"notrx.app/","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"9e925e9341b490bfd3b4c4ca3b0c1ef2","sha1":"c2543fff3bfa6f144c2f06a7de6cd10c0b650cae","sha256":"1eb79602411ef02cf6fe117897015fff89f80face4eccd50425c45149b148408","sha512":"1f4be9bd3c61e621ef43bb2e0a2d7836786f730e4e0e6aa546899bceab0571904dfc6efc94c1324b1a22ae446f0a995b533054b1dbd09d0cda03e0985786d59a","ssdeep":"","tlshash":"2a30000000000003000c00000000000000000000000000000000000000000000000000","size":4,"data":"","first_seen":"2023-03-07T01:03:43Z","last_seen":"2026-08-09T22:47:24.240176Z","times_seen":807089,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"about","addr":"about:blank","fqdn":"","domain":"","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"scriptElement","is_inline":false,"md5":"5ce67ea6276601a5377b00e58c825bec","sha1":"0fc2ecf828fb5ad17da1130ab4b00db47de9f594","sha256":"99f4646ec9a36ba7bddb54713db4f0b9a18ba917cd7f8735c4c22471d471398c","sha512":"2937830e5d4487766c2798261f701b89aac0ce6cc141be5519dabcd627e749d2b121006e1bcbd6ea4835e79b73c0d20335197c1d3837112c8e4ad5d9629d1a80","ssdeep":"","tlshash":"75d0239a2db588305194018b60bee7d42b70215067117601c1ddcc3f7e10ed344f1569","size":217,"data":"","first_seen":"2026-07-27T08:20:14.939621Z","last_seen":"2026-07-27T08:20:14.939621Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"orangerosehamburg.com/files/tronwallet-adapter-walletconnect/lib/umd/index.js","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"9414e5d455ff6ecd455430bf86b240c2","sha1":"8abf6ede9de08257728d808f7b54f270febfa45e","sha256":"0b1a36787e79f8bb0b46c0beb6ec8eae9ca526593623178e787b178aab720a1c","sha512":"966183cbf2f411b640d2b3cac24cb5a2b90deb2a7e8948a7f04de5e738d12448c5714dceb777389d3d1a33af178317ad4a7db96fb274051171592d836758b467","ssdeep":"6144:5S8OglnAKs7CbTv7/EDYzA8BciAaYjMUXSfT3LMDzegPTKuwhFIK0iD/bC:Yh4hf8Dzj7VwhFIG/e","tlshash":"13a46dd47360b12a539343aa417f000bf3387865580d456cb26cd9eba4e99edd6bbf38","size":475962,"data":"","first_seen":"2025-06-29T04:43:04.402452Z","last_seen":"2026-07-27T11:57:52.213411Z","times_seen":260,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"orangerosehamburg.com/files/script_tron.js","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a178a22e7cb6fa7a0bdfec73d7765ce","sha1":"d4f1ad166c043830b6caaec9e756f2923bb953ff","sha256":"e878ee1fa501e1a7f60c73306309cc6a233c3248cedda5e196332baeeabb3535","sha512":"9422a0072b3ea85575a17c967da0cf9a3209812d4e56f0f6c70d55edc3c06c1781086f40a2ca0b870e865dc2d6edfdc67647ac741c38e430c493c636b889d4bb","ssdeep":"768:7xQUxL7I75gwZRP9LhGMxM4naz2ZXvZ4VZ8rkQSOwrTZRm:tvItbZRP9LgMxM4vZXh48rU/do","tlshash":"5b83dd602e67bdd5cbbe31504aaf191cead85b1d97490ddc714e38e42bb9830c2ee1d8","size":85752,"data":"","first_seen":"2025-09-24T11:19:50.992716Z","last_seen":"2026-07-27T11:57:52.214696Z","times_seen":234,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"orangerosehamburg.com/files/script.js?v=1785140381816","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"416deba78f7a3ede340480ec34357d13","sha1":"aad904b665a9901422d687a9a21a5c055fd7bccf","sha256":"887b6258a276fc275b66e6673853c14427b4710f77a0f94c105cd751d5d82492","sha512":"70a0b84c3e32ca29b90a2253a8815bb93bffbb62ab09dc6051d22f26c481cd801d51d20f0a5cd0c3bc1a1459a493790c0bb99137014c731fb6d1279f2e96e51a","ssdeep":"384:/0AUyF3StRNRARxrRM5ZP/SImGstS2A3lP1S1sqbV5pKkWAYrSM363zB8u9VW5kP:fUi3St/SzrOZP/SImGYS2A3lPMsqb7pr","tlshash":"1cb2d864931da739970b8bddeaaf9af530e581c7e3032054e7d8055cd6c68cb1ca87ca","size":24028,"data":"","first_seen":"2026-02-28T15:05:45.093333Z","last_seen":"2026-07-27T11:57:52.153928Z","times_seen":23,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"log","text":"✅ inline rewrite (alfabez) veapen → trxnetwork активирован","filename":"https://notrx.app/","line_number":38,"column_number":11}]},"http":[{"url":{"schema":"https","addr":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/77c1d3dd-0213-400a-f9cc-bfd524c47f00?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.289Z","timestamp":1785140383289,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/77c1d3dd-0213-400a-f9cc-bfd524c47f00?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a3883880d5693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 76169\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfvWH7-l2WGZEJvxD_-cbyo5fufmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=1338+0 c=0+1 v=2026.4.7 l=1404 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1404\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"]}],"data":{"size":1404,"size_decoded":2120,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 120x120, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"434c7550a1a937d1e7e8bb8416691d9b","sha1":"d837654b42d1474560a5698cfac3514209cde2c2","sha256":"5f0f065528ec2543e34a03df1cd588b4c4ce7764d1ff62e67cec0677f638c549","sha512":"eefe6cf29ea82af55070456f2bf2cf1ab3c3328938ea092695f0a25370e6cef7ed1da43633a4548b22b46d7d7a87253ef01b2c01847ea84725cd4acc7be813fb","ssdeep":"","tlshash":"9f21e6a32c3914ddefa65f1485a00d8dff03c1a5983ee3d896e83548e5788da6ca00c2","first_seen":"2024-12-05T15:42:26.602777Z","last_seen":"2026-08-09T10:08:04.419903Z","times_seen":2937,"resource_available":false,"data":"UklGRnQFAABXRUJQVlA4IGgFAABwHQCdASp4AHgAPkkij0SioiGUjASwKASEoA1mnA/gH4wa/X3r8buZ84f8U83QjTqV5VfoP/VfUb5gH6If5zqAeYD+V/3H9a/fb9FPoAf4b/XdYX6AHlq/tx8HP7P/ud7NP//vSj8fyjigF2DvoygeB+kjmR+OX6U9gn9Wusd+wHskftyWzq1KKcCjwJWtk++zJO5EzYg5YkIqaJa5zOIHwve0pgSJwK2Hghf6Xufyj7msKqfXYlj2vOHe5LK4QXMiNDDehXYTsHGDzdRAxCQfOTpjRUxV9yECHHMPWti3IIseyq9eGTJ2nJ2reFapyk3fFgwAAP7whQgM/wmf4TP4DM+y59qgKAAI7VhJpdb93DPSrqeafrUfzbIBjVlKx/01vtgEPArJZPv9jJC7h36hxkhaq5kvGO8qX5DVj1J3fM11yaCGnn1vPiLm7bMsaqF1uED68Y89INi/yFwznz6e16GUaHWc8zbxzvLaV1xDpQNDPiuebLGx3ABJOr+KXJMRmPhxtSd43rk6oUv+xd7kCz9hQVVPtY9y0C1xkmDuEDHjDKjenRqifiANPZ3HIuXUSdy8Ua0Tp3EvZ2H3v4tPQnAvV+J7Kww/h/jKqBjOGwiI+QLMVg0xey5qOF3fxhoshoqwTQeZ2fTwqRcVXY7nGz3SeiyC4AZZEdWwQqXOIiId3qqzWOZMJlB+V1MEnnXDqGMqpxu0KAN/Y9bYAde1R1CcR8lMAgJMXgzK9y8niE1xyDe30PA1p7DMTX/hmRqO3wfuRSottjOJSOmGYor2uMIuzHgVNxcl33X9RMrOBK8iOtYd4sNzUIOr6Fb347oqlgoXXNvpxg+pfiCOP/UZ8HGhEBzdYAs5+8DdNvPN4zRdMtJuriy8zqE54ITrgSQzBnXu7wY8eZg4bXFQNHaEubJKmNF9IAc2854GmCgL2iotiHdPWiJBZ/jM+/hvm6QLSAWt9Hclm3FOPRAftx5rbRLnrd+nwpvksW5MXLV5+9raaJLSy63D3JaJspq75wJ9nm8Pj3yc0UiVJ2gSAhFyRbYLX5jSjOG2TxSZc16dXpRqEco1drQZsghUB1JTJeVz+RWjymnYfXvzgpSXvHNFkq3rTlmD9oiiJIq7vOdtnfv+hXp0Sc7XdTnqgoOL+oJ0phG3kc8N/H633dgB6v3AK79OuccrZxcxYhhfLEblsgKFxlJ/QH7H7tJGSg43t9zHarvoZ0nKqpmqTH+9UG/M4IWKsY/jBgL6w5CBZ8pp0bo/KxZU39FN8e5bR0mhXiszUY4iqOAf7D8iLx9yh+8Ku2Oqur91zqBxIokPLtkQ1waxPMT9N1NfWOrMt00gtxBfry4qFfSueAryBkqPb0o8/7ScxdQcvyA9uED3dOOKVk5jbJA54pssTSgGjTMAwvtWWAXY9OVKx40cTI2JnK9uY6y9KpQz4fwiAF/mRHHDGB1GFQ8SVbGpx6evLMkGwSXix6Qg2ns2928FxTegAqWvfhKqiulKFZOHIt2Rl7oKkFUQhwhkegAYxaxBNzQf2LtoOVGTDlDY/QnsApAhHnvLHqQQ9+jvBMP3q+5nTkw2TI0reLiKq02kjI86lOB2WcdfgtVOqYVEkt9//y1/X2r4JQ9x4vgcMGfB86CqdDrFd838+L5uKb/GuiM9eOEEy/TOWzJTs4PPLslllvY8j8VQbgytHMCTkNuXSP/Thn98goExfEMH++c3SmuFzaf18Pdk2BtQuIQ/Fp7kOzNblKTJskJ14IBj3WMOBzwfym+9b08Y+znRyzmErPxPtCiMjJiEWDqKr/H2CA9R2RLs2vWN0KrFV/sqbYy8R17SW+XteXxxXjAAAAAA"}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-okxwallet@1.0.4/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.540Z","timestamp":1785140382540,"http_version":"HTTP/3","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":"*.jsdelivr.net","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV R36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 22 Apr 2026 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"65:D9:C4:7E:04:4C:FD:DD:60:E0:CC:18:B5:B7:01:68:B4:2D:C7:34","sha256":"50:6C:A4:F6:ED:74:C7:E9:68:DB:32:56:5A:68:4C:98:ED:01:28:36:F8:13:BA:CC:19:A7:FD:7A:0A:6E:E7:D4"}}},"request":{"raw":"GET /npm/@tronweb3/tronwallet-adapter-okxwallet@1.0.4/lib/umd/index.min.js HTTP/1.1\r\nHost: cdn.jsdelivr.net\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 14402\r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=31536000, s-maxage=31536000, immutable\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-jsd-version: 1.0.4\r\nx-jsd-version-type: version\r\netag: W/\"a4e5-3znRO6HujREZKv3/Ws0gZM8ElGk\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\nx-served-by: cache-fra-etou8220070-FRA\r\nx-cache: HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=3,i=?0\r\nage: 5011003\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=j%2BfgYVa%2FYGVdF%2Fu1EIgTE28ATKqQ8AIBnfcHK9WBDcW%2FZis%2BjQTRF5sMUxmyA%2BVe2r6MReNgPANtt5RERFZ0rA8%2FXobRpN2hxp8OcB%2F6LYyppTtjNZgkRTiP3seaBnjwFS4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: a21a387ee856b4f1-OSL\r\nserver-timing: cfExtPri\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":42213,"size_decoded":15552,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (42212)","md5":"b0c56f69b7bd5e1db1f8049dd75842ea","sha1":"df39d13ba1ee8d11192afdff5acd2064cf049469","sha256":"e1acce03fcf9262854d67b6b180011446afb93124e5c906cb9902858ee4f76e1","sha512":"53b4434de9757429e231202979a745f59cc3054cb1b4ee8c74e9a9024c29bce52d8d8a69e88ffd4c54ae078b411bda10628c71dd0049c18c4761554aff099cb8","ssdeep":"768:RmZorDrmRIdiat4agkqXR+rAHTBsiGkNCTak6SQOa+sICqWaIa5Kuqat8ysL6H2y:RqxkN8Hiipq6SZ/y6J","tlshash":"c4132a50b304348616d707ad443b1277d220b47c710a90f9b35c9cdb5abeb8af65bbba","first_seen":"2025-06-29T04:43:04.395908Z","last_seen":"2026-07-27T11:57:52.142418Z","times_seen":260,"resource_available":true,"data":"IWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6dHx8c2VsZilbIkB0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItb2t4d2FsbGV0Il09ZSgpfSh0aGlzLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9O2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsImRlZmF1bHQiKT90LmRlZmF1bHQ6dH12YXIgbj17fSxvPXt9LHI9e30saT17fSxzPXtleHBvcnRzOnt9fTshZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxuPSJ+IjtmdW5jdGlvbiBvKCl7fWZ1bmN0aW9uIHIodCxlLG4pe3RoaXMuZm49dCx0aGlzLmNvbnRleHQ9ZSx0aGlzLm9uY2U9bnx8ITF9ZnVuY3Rpb24gaSh0LGUsbyxpLHMpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBvKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBsaXN0ZW5lciBtdXN0IGJlIGEgZnVuY3Rpb24iKTt2YXIgYT1uZXcgcihvLGl8fHQscyksbD1uP24rZTplO3JldHVybiB0Ll9ldmVudHNbbF0/dC5fZXZlbnRzW2xdLmZuP3QuX2V2ZW50c1tsXT1bdC5fZXZlbnRzW2xdLGFdOnQuX2V2ZW50c1tsXS5wdXNoKGEpOih0Ll9ldmVudHNbbF09YSx0Ll9ldmVudHNDb3VudCsrKSx0fWZ1bmN0aW9uIHModCxlKXswPT0tLXQuX2V2ZW50c0NvdW50P3QuX2V2ZW50cz1uZXcgbzpkZWxldGUgdC5fZXZlbnRzW2VdfWZ1bmN0aW9uIGEoKXt0aGlzLl9ldmVudHM9bmV3IG8sdGhpcy5fZXZlbnRzQ291bnQ9MH1PYmplY3QuY3JlYXRlJiYoby5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShudWxsKSwobmV3IG8pLl9fcHJvdG9fX3x8KG49ITEpKSxhLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7dmFyIHQsbyxyPVtdO2lmKDA9PT10aGlzLl9ldmVudHNDb3VudClyZXR1cm4gcjtmb3IobyBpbiB0PXRoaXMuX2V2ZW50cyllLmNhbGwodCxvKSYmci5wdXNoKG4/by5zbGljZSgxKTpvKTtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9yLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKTpyfSxhLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24odCl7dmFyIGU9bj9uK3Q6dCxvPXRoaXMuX2V2ZW50c1tlXTtpZighbylyZXR1cm5bXTtpZihvLmZuKXJldHVybltvLmZuXTtmb3IodmFyIHI9MCxpPW8ubGVuZ3RoLHM9bmV3IEFycmF5KGkpO3I8aTtyKyspc1tyXT1vW3JdLmZuO3JldHVybiBzfSxhLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKHQpe3ZhciBlPW4/bit0OnQsbz10aGlzLl9ldmVudHNbZV07cmV0dXJuIG8/by5mbj8xOm8ubGVuZ3RoOjB9LGEucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24odCxlLG8scixpLHMpe3ZhciBhPW4/bit0OnQ7aWYoIXRoaXMuX2V2ZW50c1thXSlyZXR1cm4hMTt2YXIgbCxjLGQ9dGhpcy5fZXZlbnRzW2FdLGg9YXJndW1lbnRzLmxlbmd0aDtpZihkLmZuKXtzd2l0Y2goZC5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKHQsZC5mbix2b2lkIDAsITApLGgpe2Nhc2UgMTpyZXR1cm4gZC5mbi5jYWxsKGQuY29udGV4dCksITA7Y2FzZSAyOnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LGUpLCEwO2Nhc2UgMzpyZXR1cm4gZC5mbi5jYWxsKGQuY29udGV4dCxlLG8pLCEwO2Nhc2UgNDpyZXR1cm4gZC5mbi5jYWxsKGQuY29udGV4dCxlLG8sciksITA7Y2FzZSA1OnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LGUsbyxyLGkpLCEwO2Nhc2UgNjpyZXR1cm4gZC5mbi5jYWxsKGQuY29udGV4dCxlLG8scixpLHMpLCEwfWZvcihjPTEsbD1uZXcgQXJyYXkoaC0xKTtjPGg7YysrKWxbYy0xXT1hcmd1bWVudHNbY107ZC5mbi5hcHBseShkLmNvbnRleHQsbCl9ZWxzZXt2YXIgdSx3PWQubGVuZ3RoO2ZvcihjPTA7Yzx3O2MrKylzd2l0Y2goZFtjXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKHQsZFtjXS5mbix2b2lkIDAsITApLGgpe2Nhc2UgMTpkW2NdLmZuLmNhbGwoZFtjXS5jb250ZXh0KTticmVhaztjYXNlIDI6ZFtjXS5mbi5jYWxsKGRbY10uY29udGV4dCxlKTticmVhaztjYXNlIDM6ZFtjXS5mbi5jYWxsKGRbY10uY29udGV4dCxlLG8pO2JyZWFrO2Nhc2UgNDpkW2NdLmZuLmNhbGwoZFtjXS5jb250ZXh0LGUsbyxyKTticmVhaztkZWZhdWx0OmlmKCFsKWZvcih1PTEsbD1uZXcgQXJyYXkoaC0xKTt1PGg7dSsrKWxbdS0xXT1hcmd1bWVudHNbdV07ZFtjXS5mbi5hcHBseShkW2NdLmNvbnRleHQsbCl9fXJldHVybiEwfSxhLnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGkodGhpcyx0LGUsbiwhMSl9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpKHRoaXMsdCxlLG4sITApfSxhLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbih0LGUsbyxyKXt2YXIgaT1uP24rdDp0O2lmKCF0aGlzLl9ldmVudHNbaV0pcmV0dXJuIHRoaXM7aWYoIWUpcmV0dXJuIHModGhpcyxpKSx0aGlzO3ZhciBhPXRoaXMuX2V2ZW50c1tpXTtpZihhLmZuKWEuZm4hPT1lfHxyJiYhYS5vbmNlfHxvJiZhLmNvbnRleHQhPT1vfHxzKHRoaXMsaSk7ZWxzZXtmb3IodmFyIGw9MCxjPVtdLGQ9YS5sZW5ndGg7bDxkO2wrKykoYVtsXS5mbiE9PWV8fHImJiFhW2xdLm9uY2V8fG8mJmFbbF0uY29udGV4dCE9PW8pJiZjLnB1c2goYVtsXSk7Yy5sZW5ndGg/dGhpcy5fZXZlbnRzW2ldPTE9PT1jLmxlbmd0aD9jWzBdOmM6cyh0aGlzLGkpfXJldHVybiB0aGlzfSxhLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHQ/KGU9bj9uK3Q6dCx0aGlzLl9ldmVudHNbZV0mJnModGhpcyxlKSk6KHRoaXMuX2V2ZW50cz1uZXcgbyx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzfSxhLnByb3RvdHlwZS5vZmY9YS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIsYS5wcm90b3R5cGUuYWRkTGlzdGVuZXI9YS5wcm90b3R5cGUub24sYS5wcmVmaXhlZD1uLGEuRXZlbnRFbWl0dGVyPWEsdC5leHBvcnRzPWF9KHMpO3ZhciBhPXMuZXhwb3J0czshZnVuY3Rpb24oZSl7dmFyIG49dCYmdC5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuQWRhcHRlcj1lLkFkYXB0ZXJTdGF0ZT1lLldhbGxldFJlYWR5U3RhdGU9ZS5FdmVudEVtaXR0ZXI9dm9pZCAwO2NvbnN0IG89bihhKTt2YXIgcixpO2UuRXZlbnRFbWl0dGVyPW8uZGVmYXVsdCwocj1lLldhbGxldFJlYWR5U3RhdGV8fChlLldhbGxldFJlYWR5U3RhdGU9e30pKS5Mb2FkaW5nPSJMb2FkaW5nIixyLk5vdEZvdW5kPSJOb3RGb3VuZCIsci5Gb3VuZD0iRm91bmQiLGZ1bmN0aW9uKHQpe3QuTG9hZGluZz0iTG9hZGluZyIsdC5Ob3RGb3VuZD0iTm90Rm91bmQiLHQuRGlzY29ubmVjdD0iRGlzY29ubmVjdGVkIix0LkNvbm5lY3RlZD0iQ29ubmVjdGVkIn0oaT1lLkFkYXB0ZXJTdGF0ZXx8KGUuQWRhcHRlclN0YXRlPXt9KSk7Y2xhc3MgcyBleHRlbmRzIG8uZGVmYXVsdHtnZXQgY29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT1pLkNvbm5lY3RlZH1kaXNjb25uZWN0KCl7cmV0dXJuIGNvbnNvbGUuaW5mbygiVGhlIGN1cnJlbnQgYWRhcHRlciBkb2Vzbid0IHN1cHBvcnQgZGlzY29ubmVjdCBieSBEQXBwLiIpLFByb21pc2UucmVzb2x2ZSgpfW11bHRpU2lnbiguLi50KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoIlRoZSBjdXJyZW50IHdhbGxldCBkb2Vzbid0IHN1cHBvcnQgbXVsdGlTaWduLiIpfXN3aXRjaENoYWluKHQpe3JldHVybiBQcm9taXNlLnJlamVjdCgiVGhlIGN1cnJlbnQgd2FsbGV0IGRvZXNuJ3Qgc3VwcG9ydCBzd2l0Y2ggY2hhaW4uIil9fWUuQWRhcHRlcj1zfShpKTt2YXIgbD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkobCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbC5XYWxsZXRHZXROZXR3b3JrRXJyb3I9bC5XYWxsZXRTd2l0Y2hDaGFpbkVycm9yPWwuV2FsbGV0V2luZG93Q2xvc2VkRXJyb3I9bC5XYWxsZXRXYWxsZXRMb2FkRXJyb3I9bC5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcj1sLldhbGxldFNpZ25NZXNzYWdlRXJyb3I9bC5XYWxsZXREaXNjb25uZWN0aW9uRXJyb3I9bC5XYWxsZXRDb25uZWN0aW9uRXJyb3I9bC5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcj1sLldhbGxldE5vdFNlbGVjdGVkRXJyb3I9bC5XYWxsZXROb3RGb3VuZEVycm9yPWwuV2FsbGV0RXJyb3I9dm9pZCAwO2NsYXNzIGMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQpLHRoaXMuZXJyb3I9ZX19bC5XYWxsZXRFcnJvcj1jO2wuV2FsbGV0Tm90Rm91bmRFcnJvcj1jbGFzcyBleHRlbmRzIGN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0Tm90Rm91bmRFcnJvciIsdGhpcy5tZXNzYWdlPSJUaGUgd2FsbGV0IGlzIG5vdCBmb3VuZC4ifX07bC5XYWxsZXROb3RTZWxlY3RlZEVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXROb3RTZWxlY3RlZEVycm9yIix0aGlzLm1lc3NhZ2U9Ik5vIHdhbGxldCBpcyBzZWxlY3RlZC4gUGxlYXNlIHNlbGVjdCBhIHdhbGxldC4ifX07bC5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcj1jbGFzcyBleHRlbmRzIGN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0RGlzY29ubmVjdGVkRXJyb3IiLHRoaXMubWVzc2FnZT0iVGhlIHdhbGxldCBpcyBkaXNjb25uZWN0ZWQuIFBsZWFzZSBjb25uZWN0IGZpcnN0LiJ9fTtsLldhbGxldENvbm5lY3Rpb25FcnJvcj1jbGFzcyBleHRlbmRzIGN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0Q29ubmVjdGlvbkVycm9yIn19O2wuV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXREaXNjb25uZWN0aW9uRXJyb3IifX07bC5XYWxsZXRTaWduTWVzc2FnZUVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRTaWduTWVzc2FnZUVycm9yIn19O2wuV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3I9Y2xhc3MgZXh0ZW5kcyBje2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yIn19O2wuV2FsbGV0V2FsbGV0TG9hZEVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRXYWxsZXRMb2FkRXJyb3IifX07bC5XYWxsZXRXaW5kb3dDbG9zZWRFcnJvcj1jbGFzcyBleHRlbmRzIGN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0V2luZG93Q2xvc2VkRXJyb3IiLHRoaXMubWVzc2FnZT0iVGhlIFFSIHdpbmRvdyBpcyBjbG9zZWQuIn19O2wuV2FsbGV0U3dpdGNoQ2hhaW5FcnJvcj1jbGFzcyBleHRlbmRzIGN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0U3dpdGNoQ2hhaW5FcnJvciJ9fTtsLldhbGxldEdldE5ldHdvcmtFcnJvcj1jbGFzcyBleHRlbmRzIGN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0R2V0TmV0d29ya0Vycm9yIn19O3ZhciBkPXt9OyFmdW5jdGlvbih0KXt2YXIgZSxuO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkNoYWluTmV0d29yaz10Lk5ldHdvcmtUeXBlPXZvaWQgMCwoZT10Lk5ldHdvcmtUeXBlfHwodC5OZXR3b3JrVHlwZT17fSkpLk1haW5uZXQ9Ik1haW5uZXQiLGUuU2hhc3RhPSJTaGFzdGEiLGUuTmlsZT0iTmlsZSIsZS5Vbmtub3duPSJVbmtub3duIiwobj10LkNoYWluTmV0d29ya3x8KHQuQ2hhaW5OZXR3b3JrPXt9KSkuTWFpbm5ldD0iTWFpbm5ldCIsbi5TaGFzdGE9IlNoYXN0YSIsbi5OaWxlPSJOaWxlIn0oZCk7dmFyIGg9e307ZnVuY3Rpb24gdSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcn1PYmplY3QuZGVmaW5lUHJvcGVydHkoaCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksaC5pc0luTW9iaWxlQnJvd3Nlcj1oLmNoZWNrQWRhcHRlclN0YXRlPWguaXNJbkJyb3dzZXI9dm9pZCAwLGguaXNJbkJyb3dzZXI9dSxoLmNoZWNrQWRhcHRlclN0YXRlPWZ1bmN0aW9uKHQpe2lmKCF1KCkpcmV0dXJuO2NvbnN0IGU9W107ZnVuY3Rpb24gbigpe2Zvcihjb25zdCB0IG9mIGUpdCgpfWZ1bmN0aW9uIG8oKXt0KCkmJm4oKX1jb25zdCByPXNldEludGVydmFsKG8sNTAwKTtlLnB1c2goKCgpPT5jbGVhckludGVydmFsKHIpKSksImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8se29uY2U6ITB9KSxlLnB1c2goKCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixvKSkpKSwiY29tcGxldGUiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixvLHtvbmNlOiEwfSksZS5wdXNoKCgoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLG8pKSkpLG8oKSxzZXRUaW1lb3V0KG4sNmU0KX0saC5pc0luTW9iaWxlQnJvd3Nlcj1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxXaW5kb3dzIFBob25lL2kpfSxmdW5jdGlvbihlKXt2YXIgbj10JiZ0Ll9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24odCxlLG4sbyl7dm9pZCAwPT09byYmKG89bik7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG4pO3ImJiEoImdldCJpbiByPyFlLl9fZXNNb2R1bGU6ci53cml0YWJsZXx8ci5jb25maWd1cmFibGUpfHwocj17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxvLHIpfTpmdW5jdGlvbih0LGUsbixvKXt2b2lkIDA9PT1vJiYobz1uKSx0W29dPWVbbl19KSxvPXQmJnQuX19leHBvcnRTdGFyfHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbyBpbiB0KSJkZWZhdWx0Ij09PW98fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG8pfHxuKGUsdCxvKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG8oaSxlKSxvKGwsZSksbyhkLGUpLG8oaCxlKX0ocik7dmFyIHc9e30sTT17fSxBPXt9LE49dCYmdC5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKChmdW5jdGlvbihyLGkpe2Z1bmN0aW9uIHModCl7dHJ5e2woby5uZXh0KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBhKHQpe3RyeXtsKG8udGhyb3codCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGwodCl7dmFyIGU7dC5kb25lP3IodC52YWx1ZSk6KGU9dC52YWx1ZSxlIGluc3RhbmNlb2Ygbj9lOm5ldyBuKChmdW5jdGlvbih0KXt0KGUpfSkpKS50aGVuKHMsYSl9bCgobz1vLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS53YWl0VHJvbndlYlJlYWR5PUEub3BlblRyb25MaW5rPUEuaXNJblRyb25MaW5rQXBwPUEuc3VwcG9ydFRyb25MaW5rPUEuc3VwcG9ydFRyb249dm9pZCAwO2NvbnN0IHA9cjtmdW5jdGlvbiBnKCl7cmV0dXJuISghd2luZG93LnRyb258fCF3aW5kb3cudHJvbi5pc1Ryb25MaW5rKX1mdW5jdGlvbiB5KCl7cmV0dXJuISEoZygpfHx3aW5kb3cudHJvbkxpbmt8fHdpbmRvdy50cm9uV2ViKX1mdW5jdGlvbiBmKCl7cmV0dXJuKDAscC5pc0luQnJvd3NlcikoKSYmdm9pZCAwIT09d2luZG93LmlUcm9ufUEuc3VwcG9ydFRyb249ZyxBLnN1cHBvcnRUcm9uTGluaz15LEEuaXNJblRyb25MaW5rQXBwPWYsQS5vcGVuVHJvbkxpbms9ZnVuY3Rpb24oe2RhcHBJY29uOnQsZGFwcE5hbWU6ZX09e2RhcHBJY29uOiIiLGRhcHBOYW1lOiIifSl7aWYoIXkoKSYmKDAscC5pc0luTW9iaWxlQnJvd3NlcikoKSYmIWYoKSl7bGV0IG49IiIsbz0iIjt0cnl7bj1kb2N1bWVudC50aXRsZTtjb25zdCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpbmtbcmVsKj0iaWNvbiJdJyk7dCYmKG89bmV3IFVSTCh0LmdldEF0dHJpYnV0ZSgiaHJlZiIpfHwiIixsb2NhdGlvbi5ocmVmKS50b1N0cmluZygpKX1jYXRjaCh0KXt9Y29uc3R7b3JpZ2luOnIscGF0aG5hbWU6aSxzZWFyY2g6cyxoYXNoOmF9PXdpbmRvdy5sb2NhdGlvbixsPXIraStzKyhhLmluY2x1ZGVzKCI/Iik/YTpgJHthfT9fPTFgKSxjPXthY3Rpb246Im9wZW4iLGFjdGlvbklkOkRhdGUubm93KCkrIiIsY2FsbGJhY2tVcmw6Imh0dHA6Ly9zb21ldXJsLmNvbSIsZGFwcEljb246dHx8byxkYXBwTmFtZTplfHxuLHVybDpsLHByb3RvY29sOiJUcm9uTGluayIsdmVyc2lvbjoiMS4wIixjaGFpbklkOiIweDJiNjY1M2RjIn07cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmPWB0cm9ubGlua291dHNpZGU6Ly9wdWxsLmFjdGl2aXR5P3BhcmFtPSR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGMpKX1gLCEwfXJldHVybiExfSxBLndhaXRUcm9ud2ViUmVhZHk9ZnVuY3Rpb24odCl7cmV0dXJuIE4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtyZXR1cm4gbmV3IFByb21pc2UoKChlLG4pPT57Y29uc3Qgbz1zZXRJbnRlcnZhbCgoKCk9Pnt0LnRyb25XZWImJihjbGVhckludGVydmFsKG8pLGNsZWFyVGltZW91dChyKSxlKCkpfSksNTApLHI9c2V0VGltZW91dCgoKCk9PntjbGVhckludGVydmFsKG8pLG4oImB3aW5kb3cudHJvbi50cm9ud2ViYCBpcyBub3QgcmVhZHkuIil9KSwyZTMpfSkpfSkpfSxmdW5jdGlvbihlKXt2YXIgbj10JiZ0Ll9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIsaSl7ZnVuY3Rpb24gcyh0KXt0cnl7bChvLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2woby50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gbCh0KXt2YXIgZTt0LmRvbmU/cih0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oKGZ1bmN0aW9uKHQpe3QoZSl9KSkpLnRoZW4ocyxhKX1sKChvPW8uYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLlRyb25MaW5rQWRhcHRlcj1lLlRyb25MaW5rQWRhcHRlck5hbWU9ZS5nZXROZXR3b3JrSW5mb0J5VHJvbldlYj1lLmNoYWluSWROZXR3b3JrTWFwPXZvaWQgMDtjb25zdCBvPXIsaT1BO2Z1bmN0aW9uIHModCl7dmFyIHIsaSxzO3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3R7YmxvY2tJRDpuPSIifT15aWVsZCB0LnRyeC5nZXRCbG9ja0J5TnVtYmVyKDApLGE9YDB4JHtuLnNsaWNlKC04KX1gO3JldHVybntuZXR3b3JrVHlwZTplLmNoYWluSWROZXR3b3JrTWFwW2FdfHxvLk5ldHdvcmtUeXBlLlVua25vd24sY2hhaW5JZDphLGZ1bGxOb2RlOihudWxsPT09KHI9dC5mdWxsTm9kZSl8fHZvaWQgMD09PXI/dm9pZCAwOnIuaG9zdCl8fCIiLHNvbGlkaXR5Tm9kZToobnVsbD09PShpPXQuc29saWRpdHlOb2RlKXx8dm9pZCAwPT09aT92b2lkIDA6aS5ob3N0KXx8IiIsZXZlbnRTZXJ2ZXI6KG51bGw9PT0ocz10LmV2ZW50U2VydmVyKXx8dm9pZCAwPT09cz92b2lkIDA6cy5ob3N0KXx8IiJ9fSkpfWUuY2hhaW5JZE5ldHdvcmtNYXA9eyIweDJiNjY1M2RjIjpvLk5ldHdvcmtUeXBlLk1haW5uZXQsIjB4OTRhOTA1OWUiOm8uTmV0d29ya1R5cGUuU2hhc3RhLCIweGNkODY5MGRjIjpvLk5ldHdvcmtUeXBlLk5pbGV9LGUuZ2V0TmV0d29ya0luZm9CeVRyb25XZWI9cyxlLlRyb25MaW5rQWRhcHRlck5hbWU9IlRyb25MaW5rIjtjbGFzcyBhIGV4dGVuZHMgby5BZGFwdGVye2NvbnN0cnVjdG9yKHQ9e30pe3N1cGVyKCksdGhpcy5uYW1lPWUuVHJvbkxpbmtBZGFwdGVyTmFtZSx0aGlzLnVybD0iaHR0cHM6Ly93d3cudHJvbmxpbmsub3JnLyIsdGhpcy5pY29uPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUYwQUFBQmRDQVlBQUFESGNXckRBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFVR1ZZU1daTlRRQXFBQUFBQ0FBQ0FSSUFBd0FBQUFFQUFRQUFoMmtBQkFBQUFBRUFBQUFtQUFBQUFBQURvQUVBQXdBQUFBRUFBUUFBb0FJQUJBQUFBQUVBQUFCZG9BTUFCQUFBQUFFQUFBQmRBQUFBQU1rVEJmSUFBQUZaYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNlQzSnBaVzUwWVhScGIyNCtNVHd2ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajRLSUNBZ0lDQWdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtDaUFnSUR3dmNtUm1PbEpFUmo0S1BDOTRPbmh0Y0cxbGRHRStDaGxlNFFjQUFCWmhTVVJCVkhnQjdWMEpsQlRWdWY2cnVudFdsbGtBMlFlWVFRUkJaSE5GeFpqdzRqRnFNRUZ4Q1dJUzF5T2FUZUo3Nm5rNUx5YzVDVVpOZkNvYTBCZ1V4UmgzUUQyQ0pzOGxFTGFJZ09Ddzc4c3N6TjR6MDEzMXZ1L1cxTkRUZmJ0bmVxYTdaeDV2L25ONnBycnExcTJxNzcvL2V2OWJiVWdjTkhqbS9zeWE3UElpSXhBNDNUQ05VYllFY3czYnNPTG80djk4VTlzV0F4U3diYnZZSTdMRENEWitkZXpsODQ3RzgyQkdXeHJuelZsL25tRjViaEN4dmlHMkZCb2VuMCtFcDlwdE9mMFViT1BBWmxzTmhPQ1ltT1lhd3phWGlyZnluWkxucGxhMTlzQXhRYys1YWMxNGp5ZjlJYkhzcXcxdnV0ZTJHb0Y3OFA4eDJCbzREVk1NRTJPUXFBUURXOFcyZmx2NjRvUVhNQ2lqanNpb29PZlAzakFYdmYwU0hmYTJBL1hzVW5YYy9TY0dBZ0FmcWdmZ0IxOHpHcXZ2S1ZrNjlaQ3VkU1RvdDYzejVmdk5SdzB6N1c3YkNwQjl1dk82OThWQXdQQm1BcmFHelhiUXVxNXN5Y1N0NFUzTmxqdHNBNEQvd2ZCazNJMlR1Z0Z2Q1U2YnY5bUJPaWdKNzFqVFk3emQrK1oxaGVFbnRnQTk3NmIxUDhZSXY5TU8rTkd1VzUyRWd4WFBkenNJbGV4SksvUmE1dUsrZDIzcEVYcHVNK2g5YmxvMzBUUzkvNldNWlRmZ29SaTFlNXVEMS9CbVhHQlYxajBZMm9rRCtpOXNtR0RqVjJMNnNtRjlRNDkzYjNjUUFUWGlUYy9jM0J2WGpYTzdVcUQzMmJuMkl0djBUbGNOM0NQZC94T0RBQWF4NFVuUDhwam12VzZIQ25UYk5tK0I0c2QydHg1M2dVbmtmdzVtVzZ3WlVPRUQySytaTTJkakRvTEx5K3dnQXA5dVNnNENhclJuNUlrcGwvSUNwaW5XR2ZCdkJuWHI4dVRnM2R3cklsZmtiUzV5UUxka1BOeEVCRW5kcXFVWm9HUnNxQ0RUSEsxQXQyeVpabmQ3TE1tQXVVV2ZEc1oyMzZMTFY2U2JHUFhaM2FPOEJUN0ovT0x4OThpQlNyZTc5VW95VVc3Uk4zSmgvTzRFUnkyT2RIOUpOZ0xkb0NjYllVMy8zYUJyUUVuMnJtN1FrNDJ3cG4rdlpsL2N1emdUVXR2Z0pNbzhwaUVlc05MRS84Z1prcmk3UGlWUDZERG9qVUZiNXMwWUlJUHowMlREemhyNThvQmY5aHlybDlLcWdHSUVacS9BQkVPWTJVRUZRVGNqTUl3NkRIb0FvTzg5MWlBUGZIZWczSHhwSDRhNmNyeXlVWFlmclpkTmUrdGswNTVhTUtKTzloNXZVSXlvZzBTY1pBU1lRR2Fja3VNNStrTjFHUFIwbnlrck4xWElvYklHR1ppWHBnRHQxOXNuL0p4N3VqTmhncWhYamxVNGpQaGlieTBZVWRmRWlIb3BnMFRVTmJLWXhKVUlnd21oVTVvNkREbzBoaHc5MFNqdmI2eVFXeTdycXdXTGJmcm4rTlRuL0ZFbkdjSHpkaDd4eXhlUUNES0RxbWxmaWNPSStpWkdlSEd5eHdOR25FTGkwR0hRaVRJQmVXTk51Y3o1V2w4MVlyWEloKzNrT1FOeWZlb3pkWFJQZFRRSWtUaFdFWkFkaC8xUVRZNUViRDlZQjBZMFNGbDFRQnBPRVVZa0JQUTBXTW0xeFRWQ2dNNFluQmtHYjl1LzB1QzZqTGhvak1NSTJneEt4STRqOVVvYWFDTzJIZlRMZmpDaW5Jd0lPS3JKQzJuZytXUm1WNmVFZ0U1OVhGRWJsSGZXbnVnUTZEcXdDT1lnZUViOFhITG1TVVljTG0rVTRrTlFUZnNjMWJUZFpVUk5RQnE3T0NNU0FqckI4Z0djZDlhZGtIdXY3QzlwM3VRT056SmlTSjgwOWZuYVdiMFVyK2k2SGdFanZpSWpxSnJ3SVNNT1FDSk8xQVNGeHlrRnRBK2RMUkVKQlgwelJ0MTYrT3F1c2RTTjNHVHRJOU5kUmx6V3hBaXFIa3JFVjRjb0RTY2w0a0Nwd3dpcXJzNWdSTUpBcDdQdHI3Zmt6ZFhsblFLNmpwbVV1SUsrYWVyempmRzlWUk42UlhSdnQwTWlOa01heUF4S0J4bEJGZWt5d3JVUlZKMkpwc1NCamp2alE3Ny9yd3A1WU9aQTZaV0Y2dTAyVWkyWVJYdlFJOU9VY1VPejRPLzdoQStkREVyM0dUTDh0SFQxK2VZRWx4R1dIQ3hyVk9xSXFzbGx4RUV5b2k0b3dTYUpTQlFqRWdvNmIyb1hJdEdQdjZ5U0t5Ymx0Qm16ckhSVFJnQ0lXNS9hcmRUQnFFRVp3cys0Z2l3Wk96UlRSZzdJa1A1d0w2bENra0VNOEhoOWZpNmY2RERDajhpWm85K1JDRVRXWUFZTjkwRklTV1d0SlhSdkdjU3BPQUk2S2g2Sk1QSm5yMzhMdFY5WENTdDBFMEFNODJkTnpaZG43eDRlZDI5TUZjeDVmSmQ4QXFaUmFwaFM0UC9jSGw2bHI4OEFJODRhMXNTSWdSbHlHZ0l1UG5TcWlNOUdWNVVHZXZNK1J5SmNSbFRWdGNJSUUrUGJEbXpMckt1Zm1IRFFMU1FiODNwNjVPTmZqMUUrZDd5QWxGUUcxSWhuaEVzSklER05RQkVQWU1ObFJCNFlNUlQ2bW5IQnVJSk1TRVNXbkU1RzlQYXFER2U4MTIxdmU2cEdNbUliWWhTcUpUS2orRkM5c2h2VmZxZ200S0Vrd3VzVGp4SGNsdVZQQXVpOGVZNklCYmNQazlsSWdMV0hxdjJXekYyNFIxNzVwRXd5QWJ4dUxJY3pncnFhakNqb213NUdRQ0tnbXM2RWFpcUNha28xSTJwdy80eWlHU3dxR3dHdnJ2aElRSTZXMVczelZQc1RQOUlKY24yakpWK0h0L0Q2L1NPMWdHM1lWUXM5blM0OU02TWJXN3A3Ly83Q2Zubm0vV05DbmRzV25Va3BvelJRMzFJaXlJajhuZzRqUmtNaXhnL0xCQ095cExCL3V2UkZRaTZGbWttb2ZwQjUzYk5rVTgxWkNUV2s3cWhtV21ETlY5WEs4RkRrdzZteU5pQjNQSDFZbm9JMDlJN2k1VkNYLzI3T1VLWFA1Nzl4V0hrenJZRkVNVTVUalU3S0JyT1l6T2VzeHYyUUVSbHBwbUxFTUtpbTBVT29taHdiNFRMaTVKbmhkOTJ4N3ozaG1jRTU4QlR1OEZPN0o1NDRLaGtGMGczODZkWDlJeTV3d1JrOVpkNmY5OHUxRCsrUXhmZU9VQVl4b2hGMnNKOEg0WDdtOWZESWd5OGRWQ09ZMFdROHhCa3M0TXplMUduQVhVcVI3MmMrNTdQdDFXb2ZKYWxQTDY4TTY1Y3VZNXB0UkNhOG1ReElST0lnWWd4QThtU052LzE2ekNTTVNuUXRJN3VuU04xNGNiNEt1OVhWbXY0UXVFcjR2d3ZlT3liL1JLTHNrckc5MUlnT2JSTzZQV1ZrRHhYZ3JOeFVxUkpjQkxLOXhETzVHSXYzUUJkVXVhSFlXUU9qUjRPNERoSDF1eHNxbEQxWitrbXBMRU5xWXlQVUlTTmJna1lwZGcxOHZQZUFuRkRsRi92cUZ5U09qV0YzNElONm9DWGZzTHRHemdWbzRmU3R5Ym55Nk50SFpPMk9Hdm51YjR2bFQvZU1nTTdOQ20vVy9IM1dSZm1TQTBONXg0TGRTUE1HbFN2WmZMQ0RHMlFFbWNDNTNWQ0o0TVFMd2Y1a0s1YUdvbEVtUkthdkt4RlFUWFJmeDhGWUQ0Ti9UeVBlVmtyYVNPZUQwSjNLeWZMQ3FEcEpxZENib29IN2VHdTFtazhsaU8vQ1JUeDdlSmJ5UGtMYmhXN1RFK0ZzMUVkZlZDS3RHMHhhMU1wcjh2NU5WeUl3Z0NnUmp2UUcxZFFqSlhURitoTktJdWhscllCMGZMNjdWbzZDVVhRVGFjVEpwRkFLQnFWeTB6Ny9ncVNCem90Ukp4UFFHNkJpcURkRGljZnE0YUZRZkduY3FHNjRUY09yTTc3dXVVeHFYUXAxeEtpWFdjVmtwUXZjNjRYKzF6SUNuS2pDdmUvR1BER2RCejREMWRKZndBZ09KT2IvanlIMkFBdkJOS3V5NUVqamdvUUhSNkUzeVcyNmZxLzhyS2c1dkE0OWZoajVqcW4vc1ZVeGhxTHQ2c3hIYmhraTM1c1cyOGZmZTd4ZWJ2bnYzYklHeHBDK2ZGY2lla2tXL2dTd0JGZWxDOEN0N0t4MHljKzJ2eXJxMHpnaDZYZkxpNzZ4cGt5THlRQWt0cVpoMURZRUlJOGdqdHBHeU9ZOWkvYkpINWJGZnNjQmd5QXljenFTVmxSalhZa294YlFSVkRFMHVwUmtEcWhENVkzV3hpME5XRldYWktLLy9kRVhWY3BGMDExcXhubTVDSThwdUE3eFp2bjF3U1VINUJkTEQ2b1I0eDRMLzAralJwZnp1cWw1cXNhR09yZXJFcC9KVllWSkI1MGdNbis5OHZNS0xSNFhZeTUwQkNKRVJwSXU0UlRsblR6ODVtSDUwYlA3eEk4SU54b3hxbjNtenVGeXg3LzFrM3FrSHlqYVhaMlNEam9CSUpkZlgzTkNDd2p6N3RQUDdxMW0ra1BCNGptMC9vcytPQzYzUHJrYjZkVG83eWlnTkQyQzZQWCs3d3hVMDNJaC9BdnRzdE8zT1hkNzRBQk5hZ3FJQWNWcUdEeld1T2hveHJtNVN1L3BCaWwxNG12L0tKY2JIOXNaVlVXeFQ2V1NFTDMrNW51RDhjM0p2K2l1MVZuN21JK2FNRHc3N2FORlJVNDRrT3dib2JwZ3VRVGRLUjFOS3NwV2t4VnVtQnplaHNCL2lHaVVhUU5Pa3NTaXV5NC9UWjY4YlpoeVVhUDFGK3Y4WkJ5am9aOEZ1L1BLendwOVBUUDZwZ1owUGdpTnlOdkl4ZWlBb0hyNDF1UWNWVG9SN2FIcEZxN2ZoZWgxZnJIeWZhTzE0LzdyRWIwK1AzZUU5TTcyS0pjMVZ0dGtIcU45WVpyN3R1bjk1S25iaGtwT3RoZlBVSjRhOWNJSFkxcUFnY0svRUxYcDZNb3BPU3JqR01zUVppREE0a3pOVEl4NHppN0ZvbTlpMm0zcFQ0dGtFTnhTVGthbm1taFg2QXF6b3ZuUjd3OUZST3ZFSWJ5UGxPaDBYZ2dhUnZuVGI2TDhUa2VqQm1YS2xKSFpyWTVNUnJhTVJHOTRkR2RVZGVYMnoxS1FWK2VORkU3emNjNHpWZVRrODIzNTFVMUQ1RCt2R3hTUnQwOFo2SHhncXBIM0VCb3pveGRPMVBzMHFJemtXaU5LRGIyWkh6eXhXMTc0VzBuTTVwelkvdXZQaStRY0pOMG82c2ttcWsvbWFSNy9ZWUhjYzhWcDJzdWxGSFRxZGFxSFQ3YzVlZXp3TzZMcnlNbG16Z0MxUnV5TEtZWjdGdTJWeDlzU3ZkNVhLTk14bTVYTTZKVXVJZU9HWis4ZUVUT05rVkxRQ1NTRElGYjQ2b2oxaWd5VzNMU0FyazNvUHJvQnpJMmZqRjVEajdiYzd0dkxKNHQvMUJTOXdwdG9YWjVhbnQvYU53NkFmamxlV2ZMalFxRjlpa1VwQjUwcWh1NGZjOVU2bW5GZW52SzVkY2QwKzZpV3FHNmM2SFd2bXAvVnRlTStGYjNla2Zqb2xSRXpDNWhldmE5SUxtNHFjdFhkZ3crNUdGTEtRV2RhZ0VVOHF3QzhqbGlaeXdjSVRRdm8yb1h1QzQxZWY5aGE5SW9IZitTV29mTHpheElUdmRKT2NQTGx0WGxGbUEvQWl2OFk5TUhubGY0bkgxNGJTRG5vdkNlQzlBWnFIbldVQTk5YWx4YlF0UTNmRjAvMCt0QzFqRjZIcUM3b2JiU0hhQitvRHVraGNZSWxGajMxZnFuTS92M080S2FxQ3F0VFFHZGE0QjlJQyt5S2toYjROdE1DY0EzYkE0V0tYakd6MUxib3RaODhjV3VCcE9OK2RFRmJMQkFKT0hYM1N6OHBsSUVvK1l0R2ZJWmYvL1VReWtrT3FHbm93WU1IcDE2OThPYW9oN25rY2ZsNmZlWnhDdElDWTRaa3hBMkUrK0JNbExGa20zT3ZETWhpRVdlMW5zZjhiRnVqVjRKWUI4QTV5ZkluUkwwcytZdEdhcm5uOC9zVjZQUzJ6S1l5bjA0WjZieEpKeTFRcmdXV0FkQVZyYVFGb2oyb3U1OFRCOFdINjlzY3ZiNzhFMGF2YVRFTk1VTUlKcTdtd3Y5KzhyYUNtRlVCclBLNjgrazk4dVI3UnlVZDkwS1Y2bEtuZ1U2UGd5a0Ixdi9wNktvcHVhcmN1ZzJ4a3U1MHRZOHpOMjcwdWp4S3NzMDkrWUl6R0wwV29TQW9VeHRFdWRWakQ4NGNKTCtaUGFSNVFzSTlQL1EvQzV4WUNQdlMvNVJLRmdFUFBZanRUZ09kTjhMUkVDMHR3REs0eVlXdHB3WENuaWZpcXh1OWZ2K0pYZkxpMzF1UFh1bUZzR1FrTkhxbG9lVkluUSt3Nzc5R3ZYQXU0anJ1RG5wbXN4N1pLY3MzbklncUNaMEdPbStTUHZzSzNKd3VTbVNKSEExcXNDTkR2UWtKTjNxZHU3QU4wU3VxdkpDQ0ZhN2M0SDFSTDlPb0w3aGptTnlPMmFsWXhCTHFtZk4zSU9LdVVpT2NiV2tETERDTndWUHoreE9TVmVFVjYrYmNZNnpVWW1uMCtTaXpZMEYrT0xISWs2VU0vcWIxbytISDQvbk9HaGFtM2VBckt3QXVIdE9yaFo0TjdTczd3Nk5zeWg2VVZWQTlQWWV3L3VwemNrT2JSR3pUY0RNSnh3WEl6TDBRNUFBK1hGaVdoeHFmc1FYWk11M01IaFdYRkhqK0dOMzBSblNibkIwY1NmVFp2OTYwT0N2MEtxeHhvUi84K3VveU5iTVVlcXc5Mi9TYUtGMk1Yam1wTXYvbW9XckdYdGNYbzllbk1icXBMbUxWNGZEYzVTZzZjcWNVYVl3TCtxRTRWZFZFT3VYYUhGRE1LVUZvMDU3OXNOelQ2YUM3YVFHT2VCWnhodE9NODNPamxuQ0V0MjNMZHc1NGVqWUxNZmZLUWloNklkSFdSOUhuYncxd0xpVCsrK1lxRkxvT1VoVnFuR1EvRFJJYTZxMjQ5MVVEZFVXS2ZFcTNSWXIrTXkyd3Y3UmVQbVJBYzJGZXhGV25JUzFRQUQxN0VNV2RGTlZFRUh0eG90Y3lyS2dMeU1LN2hrZXRIRzd0ZWtXb3M1OS9zeFBadHRiV1BkNnBodFM5Q1ZxYmFHa0JCaDgwYWl6QlN6UVIrRlhROGRmK2JnZks0bUxQdlVhN2RudldQSFVKME5QZ0hkRGlSM3R3VG02a3dlZE9QT3dvOCtEY0t5cUh2OFBvRlN2b1VrRmRBblFhT09yMGQyR1FkSFFPcHZGWXJCOXZma1RYbDI2ZmlsNnhPSXZ1WG10enI3cnoyN3JQcmJuc0VxRHpwcEZ6a3JmK2lXb0JUY2FQb0hCZEttZG1ra1dNWGxtTGZqM2N2azlibWZTTzV4NllOdURydFQ3NHZGcCsvODZSaHBXZkhnNTJ1aUYxSDhBSDFEZWl4R0l6MGdLc1V3K25xODdKa2NlWEgxV2pYZWNaaExkdnozZDZVaVZOcjhLNnNPa2ROUEgwUTRCUkpLcW1KSm5lNE1vNkx2NTFWbDZqT0RiUTJKaHZOWFlkMEFra2x6Syt2YlpjQy9vWXJIeVlXSmlGVVZpdGZPMTR3SWluTGRPOGcvdEVCbXJoZmJDNmdLdW5uWVc4ZGJKbFA5NHhBUGVSK3lvMGI5M3dlYjBJbWlET1NEVjVZWjI2ekN2a09OS1dyNnVRKzY0ZUVGRnpUdGZ5MjRnSzZST3pYVEtJR1FkbUJIWHhBcS9IMVJlcjhMNHlCVEJHOENIVTE3TXFnYmFHZHNsOXJRbnpQZnhFSTZUQTdNU3NUNDkyaFRqMk0wZkNCYStyaS9YVkFwZFB6RkV2Wk5Pby9UaXVFcjBwTFVZMnZCa3V6ZEVSbDFZK2dCSnV2dW1EbzVxNUdRNEF1cDYwT3d6L0NYNE1zcjNaOWJacFc1N1BERGU3SHFOMXFnNjVhUUhkOWJncy9VS2tZTnRhTGFEckk5WStKcVp5VWZyR0ZFQTQ4VmhwVmFQMFJGNkdBS3RKaWRnQXQrakM0THNReGE3WTgveTBldVNCckEzNG9ic1dEVHJ6QzBjT2x5NHlKNjBqTGlLSTQxbDFYVVRkUndsaWNvcWpQWnlxTWFxWk5taGxKSWVmZHZJN1FiZk5ZaVRkYk5NVFNOdUN0ek9VcXJkU25telNhVnZVM2Z2d05vd1BOK3VyQlM0ZDF3dHZ4RWhYYTNrU2ZaTWN6WHlQZ000NzRndDRLdkIrTUw1RnRiMWtpUFVaenpXUHZUenVLSzd5cWZ2emp1M3RNTEhuT1psSFhaL1V0MXdpbVl5aVVJNTBaZ04xcEY1amk5SGVMc2pCUmZ6c1RxMFI5S3hpMzBxTzhHdUNMempwZHQzbFVyK1AxUUtNRExtQ1RrY3FMUkRETzlDZDA5WjlmRVdoam82ak9JcjVINTBVNk5xSDdqTThhWURYWG5YOHBRbFFMMDJnOS9MMVdRWk9iRlFIUTF0MzBqWWwrRGhlb3NEbDRqcmlBbDYrK1loR041RkVRSmtQMXhFbk05cVhoc0FvdHdLV1lkaVB1ZjJxa2I3bitlRis2UG1IOEx2SlNQaTJTNERjL2hMMm43cjlMZFE4NmdxQjZLSjF0RnBBZDZOMCthS3BGL3JrN1prNXhBOEc0cnpBS3lXTEozL2tYclBaVEpmOGVmSnlzUnVlTVh5eEs1WGNFNVA5bjE3TUJxUUZHSWpvaU5VQ1BUSlFrSlNnd2E0Q0kyUTcrV0ptSFRFdkU3ZHF3Uy94MmtIL1BnbjY1b1gyMlF3NmQ1cDFtZlB3YzQ2citNdXhuVTE4UUw1RjR4MGt3WFEwRnErUW1qQUMxUUlKVWpIa1hUYVl5RmRoNmVod2VVTjhvS3UzdWxpVmhoVzh1V3pKK0FPaGZiWUEvZmlyWjFZM05GcXp3SjBQRFMrVFRwMnJhaGhLYy80eHRCekN2WGxPSG5DeW1PLzJTZ1RSWGVRTGYzUlRkengySEtubjBFWEdNYTlKd3luMkNTTVl1S0hreFNsL0MyL2JBblFlckhwNWNnbCs2bmlHSGF4N1RzaXRwbDhLRHo4eEZkOFo5ZkdGOTN4NXNvNHVuOVJiNVVubzZuV1UyQWRmSDVLVkhqblNPYmRaam1CTkJaV3hMb1FHU2t2WXdTM0E4SXFTRjZHeU5SUUJPdHVVTFRtdnNuVHh4QjlZVnVCNlZHMXN4VzlPNHpjMXdiMjRsWnJtaW5Ic29welJINDgybFRjY2M2ZXN6RXBFV29ETGJtaEVkYkVQazFwOFU1TlR4cUY1QUF4T1J5VWJWV0kxUE5iUUVKaFc5dUk1bjJsYXFsMzZ6RTVUNi9JWEppN051M0gxQ3NPMHI0T21tWTJNNUNUOG9HbW13M0lNalVSWnNXaDNoLzNwR2JhczNPS1hFNWhKeTRsTXM4czFXRVN3YkFNT2Vqd2RVb2FJVmFSL250NkpLSzFHb1ZBUURFRjYxbEc0K0tzMkdQUmdRYklkM0luWmw3Y3hRQmVXTEo3MFpZekhVWWRpZ3M0V0hQWDR0eEE5TDhxZnMzNFVmTTdKMkI2TkZWbUR4TEI2aTkycTBLa0x0ZmNQaFgwdlNxcTNINmdlQy85OFJIZy9Wd0wwTVc4ZS9oanZWeS9YaW0zNENWRysyMWgrZVBhd2pBazRIREcxYnlGTjRxK3IvZFFINzRhYURHT3RGdm53NHdDKzJCSnpvOGRiL1huSmMxTmpyN0VNdWE3RHVKQWRYWFhUcnE4ZkkybHBVeVB2ejhMU2pqWExqQ0VYSEl3OEZ0OGV1NjVzcW1Ua2pvazRLK0F2Tm55WkgwWHNiK2VPL3dXcmc0NkRvLzdnWUFBQUFBQkpSVTVFcmtKZ2dnPT0iLHRoaXMuX3JlYWR5U3RhdGU9KDAsby5pc0luQnJvd3NlcikoKT9vLldhbGxldFJlYWR5U3RhdGUuTG9hZGluZzpvLldhbGxldFJlYWR5U3RhdGUuTm90Rm91bmQsdGhpcy5fc3RhdGU9by5BZGFwdGVyU3RhdGUuTG9hZGluZyx0aGlzLl9zdXBwb3J0TmV3VHJvblByb3RvY29sPSExLHRoaXMuX3Ryb25MaW5rTWVzc2FnZUhhbmRsZXI9dD0+e3ZhciBlLG4scixpLHM7Y29uc3QgYT1udWxsPT09KGU9dC5kYXRhKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5tZXNzYWdlO2lmKGEpaWYoImFjY291bnRzQ2hhbmdlZCI9PT1hLmFjdGlvbilzZXRUaW1lb3V0KCgoKT0+e3ZhciB0O2NvbnN0IGU9dGhpcy5hZGRyZXNzfHwiIjtpZihudWxsPT09KHQ9dGhpcy5fd2FsbGV0KXx8dm9pZCAwPT09dD92b2lkIDA6dC5yZWFkeSl7Y29uc3QgdD1hLmRhdGEuYWRkcmVzczt0aGlzLnNldEFkZHJlc3ModCksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpfWVsc2UgdGhpcy5zZXRBZGRyZXNzKG51bGwpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCk7dGhpcy5lbWl0KCJhY2NvdW50c0NoYW5nZWQiLHRoaXMuYWRkcmVzc3x8IiIsZSksIWUmJnRoaXMuYWRkcmVzcz90aGlzLmVtaXQoImNvbm5lY3QiLHRoaXMuYWRkcmVzcyk6ZSYmIXRoaXMuYWRkcmVzcyYmdGhpcy5lbWl0KCJkaXNjb25uZWN0Iil9KSwyMDApO2Vsc2UgaWYoInNldE5vZGUiPT09YS5hY3Rpb24pdGhpcy5lbWl0KCJjaGFpbkNoYW5nZWQiLHtjaGFpbklkOihudWxsPT09KHI9bnVsbD09PShuPWEuZGF0YSl8fHZvaWQgMD09PW4/dm9pZCAwOm4ubm9kZSl8fHZvaWQgMD09PXI/dm9pZCAwOnIuY2hhaW5JZCl8fCIifSk7ZWxzZSBpZigiY29ubmVjdCI9PT1hLmFjdGlvbil7Y29uc3QgdD0obnVsbD09PShzPW51bGw9PT0oaT10aGlzLl93YWxsZXQudHJvbldlYil8fHZvaWQgMD09PWk/dm9pZCAwOmkuZGVmYXVsdEFkZHJlc3MpfHx2b2lkIDA9PT1zP3ZvaWQgMDpzLmJhc2U1OCl8fCIiO3RoaXMuc2V0QWRkcmVzcyh0KSx0aGlzLnNldFN0YXRlKG8uQWRhcHRlclN0YXRlLkNvbm5lY3RlZCksdGhpcy5lbWl0KCJjb25uZWN0Iix0KX1lbHNlImRpc2Nvbm5lY3QiPT09YS5hY3Rpb24mJih0aGlzLnNldEFkZHJlc3MobnVsbCksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KSx0aGlzLmVtaXQoImRpc2Nvbm5lY3QiKSl9LHRoaXMuX29uQ2hhaW5DaGFuZ2VkPXQ9Pnt0aGlzLmVtaXQoImNoYWluQ2hhbmdlZCIsdCl9LHRoaXMuX29uQWNjb3VudHNDaGFuZ2VkPSgpPT57dmFyIHQsZSxuO2NvbnN0IHI9dGhpcy5hZGRyZXNzfHwiIixpPShudWxsPT09KHQ9dGhpcy5fd2FsbGV0KXx8dm9pZCAwPT09dD92b2lkIDA6dC50cm9uV2ViKSYmKG51bGw9PT0obj1udWxsPT09KGU9dGhpcy5fd2FsbGV0KXx8dm9pZCAwPT09ZT92b2lkIDA6ZS50cm9uV2ViLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09bj92b2lkIDA6bi5iYXNlNTgpfHwiIjtpZihpKXtjb25zdCB0PWk7dGhpcy5zZXRBZGRyZXNzKHQpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKX1lbHNlIHRoaXMuc2V0QWRkcmVzcyhudWxsKSx0aGlzLnNldFN0YXRlKG8uQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpO3RoaXMuZW1pdCgiYWNjb3VudHNDaGFuZ2VkIix0aGlzLmFkZHJlc3N8fCIiLHIpLCFyJiZ0aGlzLmFkZHJlc3M/dGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3MpOnImJiF0aGlzLmFkZHJlc3MmJnRoaXMuZW1pdCgiZGlzY29ubmVjdCIpfSx0aGlzLl9jaGVja1Byb21pc2U9bnVsbCx0aGlzLl91cGRhdGVXYWxsZXQ9KCk9Pnt2YXIgdCxlLG4scixpLHMsYSxsO2xldCBjPXRoaXMuc3RhdGUsZD10aGlzLmFkZHJlc3M7KDAsby5pc0luTW9iaWxlQnJvd3NlcikoKT8od2luZG93LnRyb25MaW5rP3RoaXMuX3dhbGxldD13aW5kb3cudHJvbkxpbms6dGhpcy5fd2FsbGV0PXtyZWFkeTohIShudWxsPT09KHQ9d2luZG93LnRyb25XZWIpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmRlZmF1bHRBZGRyZXNzKSx0cm9uV2ViOndpbmRvdy50cm9uV2ViLHJlcXVlc3Q6KCk9PlByb21pc2UucmVzb2x2ZSghMCl9LGQ9KG51bGw9PT0obj1udWxsPT09KGU9dGhpcy5fd2FsbGV0LnRyb25XZWIpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09bj92b2lkIDA6bi5iYXNlNTgpfHxudWxsLGM9ZD9vLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQ6by5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCk6d2luZG93LnRyb24mJndpbmRvdy50cm9uLmlzVHJvbkxpbms/KHRoaXMuX3N1cHBvcnROZXdUcm9uUHJvdG9jb2w9ITAsdGhpcy5fd2FsbGV0PXdpbmRvdy50cm9uLHRoaXMuX2xpc3RlblRyb25FdmVudCgpLGQ9dGhpcy5fd2FsbGV0LnRyb25XZWImJihudWxsPT09KGk9bnVsbD09PShyPXRoaXMuX3dhbGxldC50cm9uV2ViKXx8dm9pZCAwPT09cj92b2lkIDA6ci5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PWk/dm9pZCAwOmkuYmFzZTU4KXx8bnVsbCxjPWQ/by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkOm8uQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpOndpbmRvdy50cm9uTGluaz8odGhpcy5fd2FsbGV0PXdpbmRvdy50cm9uTGluayx0aGlzLl9saXN0ZW5Ucm9uTGlua0V2ZW50KCksZD0obnVsbD09PShhPW51bGw9PT0ocz10aGlzLl93YWxsZXQudHJvbldlYil8fHZvaWQgMD09PXM/dm9pZCAwOnMuZGVmYXVsdEFkZHJlc3MpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmJhc2U1OCl8fG51bGwsYz10aGlzLl93YWxsZXQucmVhZHk/by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkOm8uQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpOndpbmRvdy50cm9uV2ViPyh0aGlzLl93YWxsZXQ9e3JlYWR5OndpbmRvdy50cm9uV2ViLnJlYWR5LHRyb25XZWI6d2luZG93LnRyb25XZWIscmVxdWVzdDooKT0+UHJvbWlzZS5yZXNvbHZlKCEwKX0sZD0obnVsbD09PShsPXRoaXMuX3dhbGxldC50cm9uV2ViLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09bD92b2lkIDA6bC5iYXNlNTgpfHxudWxsLGM9dGhpcy5fd2FsbGV0LnJlYWR5P28uQWRhcHRlclN0YXRlLkNvbm5lY3RlZDpvLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KToodGhpcy5fd2FsbGV0PW51bGwsZD1udWxsLGM9by5BZGFwdGVyU3RhdGUuTm90Rm91bmQpLCgwLG8uaXNJbk1vYmlsZUJyb3dzZXIpKCkmJmM9PT1vLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0JiZ0aGlzLmNoZWNrRm9yV2FsbGV0UmVhZHlGb3JBcHAoKSx0aGlzLnNldEFkZHJlc3MoZCksdGhpcy5zZXRTdGF0ZShjKX0sdGhpcy5jaGVja1JlYWR5SW50ZXJ2YWw9bnVsbDtjb25zdHtjaGVja1RpbWVvdXQ6bj0zZTQsZGFwcEljb246cj0iIixkYXBwTmFtZTpzPSIiLG9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQ6YT0hMCxvcGVuVHJvbkxpbmtBcHBPbk1vYmlsZTpsPSEwfT10O2lmKCJudW1iZXIiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoIltUcm9uTGlua0FkYXB0ZXJdIGNvbmZpZy5jaGVja1RpbWVvdXQgc2hvdWxkIGJlIGEgbnVtYmVyIik7aWYodGhpcy5jb25maWc9e2NoZWNrVGltZW91dDpuLG9wZW5Ucm9uTGlua0FwcE9uTW9iaWxlOmwsb3BlblVybFdoZW5XYWxsZXROb3RGb3VuZDphLGRhcHBJY29uOnIsZGFwcE5hbWU6c30sdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl93YWxsZXQ9bnVsbCx0aGlzLl9hZGRyZXNzPW51bGwsISgwLG8uaXNJbkJyb3dzZXIpKCkpcmV0dXJuIHRoaXMuX3JlYWR5U3RhdGU9by5XYWxsZXRSZWFkeVN0YXRlLk5vdEZvdW5kLHZvaWQgdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Ob3RGb3VuZCk7KDAsaS5zdXBwb3J0VHJvbikoKXx8KDAsby5pc0luTW9iaWxlQnJvd3NlcikoKSYmKHdpbmRvdy50cm9uTGlua3x8d2luZG93LnRyb25XZWIpPyh0aGlzLl9yZWFkeVN0YXRlPW8uV2FsbGV0UmVhZHlTdGF0ZS5Gb3VuZCx0aGlzLl91cGRhdGVXYWxsZXQoKSk6dGhpcy5fY2hlY2tXYWxsZXQoKS50aGVuKCgoKT0+e3RoaXMuY29ubmVjdGVkJiZ0aGlzLmVtaXQoImNvbm5lY3QiLHRoaXMuYWRkcmVzc3x8IiIpfSkpfWdldCBhZGRyZXNzKCl7cmV0dXJuIHRoaXMuX2FkZHJlc3N9Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfWdldCByZWFkeVN0YXRlKCl7cmV0dXJuIHRoaXMuX3JlYWR5U3RhdGV9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGluZ31uZXR3b3JrKCl7dmFyIHQ7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7aWYoeWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlIT09by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKXRocm93IG5ldyBvLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO2NvbnN0IGU9KG51bGw9PT0odD10aGlzLl93YWxsZXQpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LnRyb25XZWIpfHx3aW5kb3cudHJvbldlYjtpZighZSl0aHJvdyBuZXcgby5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjt0cnl7cmV0dXJuIHlpZWxkIHMoZSl9Y2F0Y2godCl7dGhyb3cgbmV3IG8uV2FsbGV0R2V0TmV0d29ya0Vycm9yKG51bGw9PXQ/dm9pZCAwOnQubWVzc2FnZSx0KX19Y2F0Y2godCl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsdCksdH19KSl9Y29ubmVjdCgpe3ZhciB0LGU7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7aWYodGhpcy5jaGVja0lmT3BlblRyb25MaW5rKCksdGhpcy5jb25uZWN0ZWR8fHRoaXMuY29ubmVjdGluZylyZXR1cm47aWYoeWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlPT09by5BZGFwdGVyU3RhdGUuTm90Rm91bmQpdGhyb3chMSE9PXRoaXMuY29uZmlnLm9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQmJigwLG8uaXNJbkJyb3dzZXIpKCkmJndpbmRvdy5vcGVuKHRoaXMudXJsLCJfYmxhbmsiKSxuZXcgby5XYWxsZXROb3RGb3VuZEVycm9yO2lmKCF0aGlzLl93YWxsZXQpcmV0dXJuO2lmKHRoaXMuX2Nvbm5lY3Rpbmc9ITAsdGhpcy5fc3VwcG9ydE5ld1Ryb25Qcm90b2NvbCl7Y29uc3QgdD10aGlzLl93YWxsZXQ7dHJ5e2NvbnN0IGU9KHlpZWxkIHQucmVxdWVzdCh7bWV0aG9kOiJldGhfcmVxdWVzdEFjY291bnRzIn0pKVswXTt0aGlzLnNldEFkZHJlc3MoZSksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpLHRoaXMuX2xpc3RlblRyb25FdmVudCgpLHRoaXMuX3dhbGxldC50cm9uV2VifHwoeWllbGQoMCxpLndhaXRUcm9ud2ViUmVhZHkpKHRoaXMuX3dhbGxldCkpfWNhdGNoKHQpe2xldCBlPShudWxsPT10P3ZvaWQgMDp0Lm1lc3NhZ2UpfHx0fHwiQ29ubmVjdCBUcm9uTGluayB3YWxsZXQgZmFpbGVkLiI7dGhyb3ctMzIwMDI9PT10LmNvZGUmJihlPSJUaGUgc2FtZSBEQXBwIGhhcyBhbHJlYWR5IGluaXRpYXRlZCBhIHJlcXVlc3QgdG8gY29ubmVjdCB0byBUcm9uTGluayB3YWxsZXQsIGFuZCB0aGUgcG9wLXVwIHdpbmRvdyBoYXMgbm90IGJlZW4gY2xvc2VkLiIpLDQwMDE9PT10LmNvZGUmJihlPSJUaGUgdXNlciByZWplY3RlZCBjb25uZWN0aW9uLiIpLG5ldyBvLldhbGxldENvbm5lY3Rpb25FcnJvcihlLHQpfX1lbHNlIGlmKHdpbmRvdy50cm9uTGluayl7Y29uc3QgZT10aGlzLl93YWxsZXQ7dHJ5e2NvbnN0IHQ9eWllbGQgZS5yZXF1ZXN0KHttZXRob2Q6InRyb25fcmVxdWVzdEFjY291bnRzIn0pO2lmKCF0KXRocm93IG5ldyBvLldhbGxldENvbm5lY3Rpb25FcnJvcigiVHJvbkxpbmsgd2FsbGV0IGlzIGxvY2tlZCBvciBubyB3YWxsZXQgYWNjb3VudCBpcyBhdmFsaWFibGUuIik7aWYoNGUzPT09dC5jb2RlKXRocm93IG5ldyBvLldhbGxldENvbm5lY3Rpb25FcnJvcigiVGhlIHNhbWUgREFwcCBoYXMgYWxyZWFkeSBpbml0aWF0ZWQgYSByZXF1ZXN0IHRvIGNvbm5lY3QgdG8gVHJvbkxpbmsgd2FsbGV0LCBhbmQgdGhlIHBvcC11cCB3aW5kb3cgaGFzIG5vdCBiZWVuIGNsb3NlZC4iKTtpZig0MDAxPT09dC5jb2RlKXRocm93IG5ldyBvLldhbGxldENvbm5lY3Rpb25FcnJvcigiVGhlIHVzZXIgcmVqZWN0ZWQgY29ubmVjdGlvbi4iKX1jYXRjaCh0KXt0aHJvdyBuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IobnVsbD09dD92b2lkIDA6dC5tZXNzYWdlLHQpfWNvbnN0IG49KG51bGw9PT0odD1lLnRyb25XZWIuZGVmYXVsdEFkZHJlc3MpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmJhc2U1OCl8fCIiO3RoaXMuc2V0QWRkcmVzcyhuKSx0aGlzLnNldFN0YXRlKG8uQWRhcHRlclN0YXRlLkNvbm5lY3RlZCksdGhpcy5fbGlzdGVuVHJvbkxpbmtFdmVudCgpfWVsc2V7aWYoIXdpbmRvdy50cm9uV2ViKXRocm93IG5ldyBvLldhbGxldENvbm5lY3Rpb25FcnJvcigiQ2Fubm90IGNvbm5lY3Qgd2FsbGV0LiIpO3tjb25zdCB0PXRoaXMuX3dhbGxldCxuPShudWxsPT09KGU9dC50cm9uV2ViLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5iYXNlNTgpfHwiIjt0aGlzLnNldEFkZHJlc3MobiksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpfX10aGlzLmNvbm5lY3RlZCYmdGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3N8fCIiKX1jYXRjaCh0KXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIix0KSx0fWZpbmFsbHl7dGhpcy5fY29ubmVjdGluZz0hMX19KSl9ZGlzY29ubmVjdCgpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dGhpcy5fc3VwcG9ydE5ld1Ryb25Qcm90b2NvbD90aGlzLl9zdG9wTGlzdGVuVHJvbkV2ZW50KCk6dGhpcy5fc3RvcExpc3RlblRyb25MaW5rRXZlbnQoKSx0aGlzLnN0YXRlPT09by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkJiYodGhpcy5zZXRBZGRyZXNzKG51bGwpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCksdGhpcy5lbWl0KCJkaXNjb25uZWN0IikpfSkpfXNpZ25UcmFuc2FjdGlvbih0LGUpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IG49eWllbGQgdGhpcy5jaGVja0FuZEdldFdhbGxldCgpO3RyeXtyZXR1cm4geWllbGQgbi50cm9uV2ViLnRyeC5zaWduKHQsZSl9Y2F0Y2godCl7dGhyb3cgdCBpbnN0YW5jZW9mIEVycm9yP25ldyBvLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yKHQubWVzc2FnZSx0KTpuZXcgby5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcih0LG5ldyBFcnJvcih0KSl9fWNhdGNoKHQpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLHQpLHR9fSkpfW11bHRpU2lnbiguLi50KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCBlPXlpZWxkIHRoaXMuY2hlY2tBbmRHZXRXYWxsZXQoKTt0cnl7cmV0dXJuIHlpZWxkIGUudHJvbldlYi50cngubXVsdGlTaWduKC4uLnQpfWNhdGNoKHQpe3Rocm93IHQgaW5zdGFuY2VvZiBFcnJvcj9uZXcgby5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcih0Lm1lc3NhZ2UsdCk6bmV3IG8uV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IodCxuZXcgRXJyb3IodCkpfX1jYXRjaCh0KXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIix0KSx0fX0pKX1zaWduTWVzc2FnZSh0LGUpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IG49eWllbGQgdGhpcy5jaGVja0FuZEdldFdhbGxldCgpO3RyeXtyZXR1cm4geWllbGQgbi50cm9uV2ViLnRyeC5zaWduTWVzc2FnZVYyKHQsZSl9Y2F0Y2godCl7dGhyb3cgdCBpbnN0YW5jZW9mIEVycm9yP25ldyBvLldhbGxldFNpZ25NZXNzYWdlRXJyb3IodC5tZXNzYWdlLHQpOm5ldyBvLldhbGxldFNpZ25NZXNzYWdlRXJyb3IodCxuZXcgRXJyb3IodCkpfX1jYXRjaCh0KXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIix0KSx0fX0pKX1zd2l0Y2hDaGFpbih0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtpZih5aWVsZCB0aGlzLl9jaGVja1dhbGxldCgpLHRoaXMuc3RhdGU9PT1vLkFkYXB0ZXJTdGF0ZS5Ob3RGb3VuZCl0aHJvdyExIT09dGhpcy5jb25maWcub3BlblVybFdoZW5XYWxsZXROb3RGb3VuZCYmKDAsby5pc0luQnJvd3NlcikoKSYmd2luZG93Lm9wZW4odGhpcy51cmwsIl9ibGFuayIpLG5ldyBvLldhbGxldE5vdEZvdW5kRXJyb3I7aWYoIXRoaXMuX3N1cHBvcnROZXdUcm9uUHJvdG9jb2wpdGhyb3cgbmV3IG8uV2FsbGV0U3dpdGNoQ2hhaW5FcnJvcigiQ3VycmVudCB2ZXJzaW9uIG9mIFRyb25MaW5rIGRvZXNuJ3Qgc3VwcG9ydCBzd2l0Y2ggY2hhaW4gb3BlcmF0aW9uLiIpO2NvbnN0IGU9dGhpcy5fd2FsbGV0O3RyeXt5aWVsZCBlLnJlcXVlc3Qoe21ldGhvZDoid2FsbGV0X3N3aXRjaEV0aGVyZXVtQ2hhaW4iLHBhcmFtczpbe2NoYWluSWQ6dH1dfSl9Y2F0Y2godCl7dGhyb3cgbmV3IG8uV2FsbGV0U3dpdGNoQ2hhaW5FcnJvcigobnVsbD09dD92b2lkIDA6dC5tZXNzYWdlKXx8dCx0IGluc3RhbmNlb2YgRXJyb3I/dDpuZXcgRXJyb3IodCkpfX1jYXRjaCh0KXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIix0KSx0fX0pKX1jaGVja0FuZEdldFdhbGxldCgpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7aWYodGhpcy5jaGVja0lmT3BlblRyb25MaW5rKCkseWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlIT09by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKXRocm93IG5ldyBvLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO2NvbnN0IHQ9dGhpcy5fd2FsbGV0O2lmKCF0fHwhdC50cm9uV2ViKXRocm93IG5ldyBvLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO3JldHVybiB0fSkpfV9saXN0ZW5Ucm9uTGlua0V2ZW50KCl7dGhpcy5fc3RvcExpc3RlblRyb25MaW5rRXZlbnQoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fdHJvbkxpbmtNZXNzYWdlSGFuZGxlcil9X3N0b3BMaXN0ZW5Ucm9uTGlua0V2ZW50KCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3Ryb25MaW5rTWVzc2FnZUhhbmRsZXIpfWNoZWNrSWZPcGVuVHJvbkxpbmsoKXtjb25zdHtkYXBwTmFtZTp0PSIiLGRhcHBJY29uOmU9IiJ9PXRoaXMuY29uZmlnO2lmKCExIT09dGhpcy5jb25maWcub3BlblRyb25MaW5rQXBwT25Nb2JpbGUmJigwLGkub3BlblRyb25MaW5rKSh7ZGFwcEljb246ZSxkYXBwTmFtZTp0fSkpdGhyb3cgbmV3IG8uV2FsbGV0Tm90Rm91bmRFcnJvcn1fbGlzdGVuVHJvbkV2ZW50KCl7dGhpcy5fc3RvcExpc3RlblRyb25FdmVudCgpLHRoaXMuX3N0b3BMaXN0ZW5Ucm9uTGlua0V2ZW50KCk7Y29uc3QgdD10aGlzLl93YWxsZXQ7dC5vbigiY2hhaW5DaGFuZ2VkIix0aGlzLl9vbkNoYWluQ2hhbmdlZCksdC5vbigiYWNjb3VudHNDaGFuZ2VkIix0aGlzLl9vbkFjY291bnRzQ2hhbmdlZCl9X3N0b3BMaXN0ZW5Ucm9uRXZlbnQoKXtjb25zdCB0PXRoaXMuX3dhbGxldDt0LnJlbW92ZUxpc3RlbmVyKCJjaGFpbkNoYW5nZWQiLHRoaXMuX29uQ2hhaW5DaGFuZ2VkKSx0LnJlbW92ZUxpc3RlbmVyKCJhY2NvdW50c0NoYW5nZWQiLHRoaXMuX29uQWNjb3VudHNDaGFuZ2VkKX1fY2hlY2tXYWxsZXQoKXtpZih0aGlzLnJlYWR5U3RhdGU9PT1vLldhbGxldFJlYWR5U3RhdGUuRm91bmQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSghMCk7aWYodGhpcy5fY2hlY2tQcm9taXNlKXJldHVybiB0aGlzLl9jaGVja1Byb21pc2U7Y29uc3QgdD1NYXRoLmZsb29yKDIwKSxlPU1hdGguZmxvb3IodGhpcy5jb25maWcuY2hlY2tUaW1lb3V0LzEwMCk7bGV0IG4scj0wO3JldHVybiB0aGlzLl9jaGVja1Byb21pc2U9bmV3IFByb21pc2UoKHM9Pntjb25zdCBhPSgpPT57cisrO2NvbnN0IGE9cjx0JiYhKDAsby5pc0luTW9iaWxlQnJvd3NlcikoKT8oMCxpLnN1cHBvcnRUcm9uKSgpOigwLGkuc3VwcG9ydFRyb25MaW5rKSgpOyhhfHxyPmUpJiYobiYmY2xlYXJJbnRlcnZhbChuKSx0aGlzLl9yZWFkeVN0YXRlPWE/by5XYWxsZXRSZWFkeVN0YXRlLkZvdW5kOm8uV2FsbGV0UmVhZHlTdGF0ZS5Ob3RGb3VuZCx0aGlzLl91cGRhdGVXYWxsZXQoKSx0aGlzLmVtaXQoInJlYWR5U3RhdGVDaGFuZ2VkIix0aGlzLnJlYWR5U3RhdGUpLHMoYSkpfTtuPXNldEludGVydmFsKGEsMTAwKSxhKCl9KSksdGhpcy5fY2hlY2tQcm9taXNlfWNoZWNrRm9yV2FsbGV0UmVhZHlGb3JBcHAoKXtpZih0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbClyZXR1cm47bGV0IHQ9MDtjb25zdCBlPU1hdGguZmxvb3IodGhpcy5jb25maWcuY2hlY2tUaW1lb3V0LzIwMCk7dGhpcy5jaGVja1JlYWR5SW50ZXJ2YWw9c2V0SW50ZXJ2YWwoKCgpPT57dmFyIG4sbzsod2luZG93LnRyb25MaW5rP251bGw9PT0obj13aW5kb3cudHJvbkxpbmsudHJvbldlYil8fHZvaWQgMD09PW4/dm9pZCAwOm4uZGVmYXVsdEFkZHJlc3M6bnVsbD09PShvPXdpbmRvdy50cm9uV2ViKXx8dm9pZCAwPT09bz92b2lkIDA6by5kZWZhdWx0QWRkcmVzcyk/KHRoaXMuY2hlY2tSZWFkeUludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuY2hlY2tSZWFkeUludGVydmFsKSx0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbD1udWxsLHRoaXMuX3VwZGF0ZVdhbGxldCgpLHRoaXMuZW1pdCgiY29ubmVjdCIsdGhpcy5hZGRyZXNzfHwiIikpOnQ+ZT8odGhpcy5jaGVja1JlYWR5SW50ZXJ2YWwmJmNsZWFySW50ZXJ2YWwodGhpcy5jaGVja1JlYWR5SW50ZXJ2YWwpLHRoaXMuY2hlY2tSZWFkeUludGVydmFsPW51bGwpOnQrK30pLDIwMCl9c2V0QWRkcmVzcyh0KXt0aGlzLl9hZGRyZXNzPXR9c2V0U3RhdGUodCl7dCE9PXRoaXMuc3RhdGUmJih0aGlzLl9zdGF0ZT10LHRoaXMuZW1pdCgic3RhdGVDaGFuZ2VkIix0KSl9fWUuVHJvbkxpbmtBZGFwdGVyPWF9KE0pO3ZhciB2PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh2LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlKXt2YXIgbj10JiZ0Ll9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24odCxlLG4sbyl7dm9pZCAwPT09byYmKG89bik7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG4pO3ImJiEoImdldCJpbiByPyFlLl9fZXNNb2R1bGU6ci53cml0YWJsZXx8ci5jb25maWd1cmFibGUpfHwocj17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxvLHIpfTpmdW5jdGlvbih0LGUsbixvKXt2b2lkIDA9PT1vJiYobz1uKSx0W29dPWVbbl19KSxvPXQmJnQuX19leHBvcnRTdGFyfHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbyBpbiB0KSJkZWZhdWx0Ij09PW98fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG8pfHxuKGUsdCxvKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG8oTSxlKSxvKHYsZSksbyhBLGUpfSh3KTt2YXIgST17fTtyZXR1cm4gZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQub3Blbk9reFdhbGxldD10LmlzT0tBcHA9dC5zdXBwb3J0T2t4V2FsbGV0PXZvaWQgMDtjb25zdCBlPXI7dC5zdXBwb3J0T2t4V2FsbGV0PWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lm9reHdhbGxldHx8IXdpbmRvdy5va3h3YWxsZXQudHJvbkxpbmspfSx0LmlzT0tBcHA9L09LQXBwL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0Lm9wZW5Pa3hXYWxsZXQ9ZnVuY3Rpb24oKXtyZXR1cm4hKHQuaXNPS0FwcHx8ISgwLGUuaXNJbk1vYmlsZUJyb3dzZXIpKCkpJiYod2luZG93LmxvY2F0aW9uLmhyZWY9Im9reDovL3dhbGxldC9kYXBwL3VybD9kYXBwVXJsPSIrZW5jb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5ocmVmKSwhMCl9fShJKSxmdW5jdGlvbihlKXt2YXIgbj10JiZ0Ll9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIsaSl7ZnVuY3Rpb24gcyh0KXt0cnl7bChvLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2woby50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gbCh0KXt2YXIgZTt0LmRvbmU/cih0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oKGZ1bmN0aW9uKHQpe3QoZSl9KSkpLnRoZW4ocyxhKX1sKChvPW8uYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLk9reFdhbGxldEFkYXB0ZXI9ZS5Pa3hXYWxsZXRBZGFwdGVyTmFtZT12b2lkIDA7Y29uc3Qgbz1yLGk9dyxzPUk7ZS5Pa3hXYWxsZXRBZGFwdGVyTmFtZT0iT0tYIFdhbGxldCI7Y2xhc3MgYSBleHRlbmRzIG8uQWRhcHRlcntjb25zdHJ1Y3Rvcih0PXt9KXtzdXBlcigpLHRoaXMubmFtZT1lLk9reFdhbGxldEFkYXB0ZXJOYW1lLHRoaXMudXJsPSJodHRwczovL29reC5jb20iLHRoaXMuaWNvbj0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTkRBaUlHaGxhV2RvZEQwaU5EQWlJSFpwWlhkQ2IzZzlJakFnTUNBME1DQTBNQ0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BISmxZM1FnZDJsa2RHZzlJalF3SWlCb1pXbG5hSFE5SWpRd0lpQnllRDBpT0NJZ1ptbHNiRDBpWW14aFkyc2lMejRLUEhCaGRHZ2daRDBpVFRJekxqVTFPRE1nTVRVdU9EazJOVWd4Tmk0ME5EYzBRekUyTGpFME5UTWdNVFV1T0RrMk5TQXhOUzQ1TURBMElERTJMakUwTVRRZ01UVXVPVEF3TkNBeE5pNDBORE0xVmpJekxqVTFORFJETVRVdU9UQXdOQ0F5TXk0NE5UWTFJREUyTGpFME5UTWdNalF1TVRBeE5DQXhOaTQwTkRjMElESTBMakV3TVRSSU1qTXVOVFU0TTBNeU15NDROakEwSURJMExqRXdNVFFnTWpRdU1UQTFNeUF5TXk0NE5UWTFJREkwTGpFd05UTWdNak11TlRVME5GWXhOaTQwTkRNMVF6STBMakV3TlRNZ01UWXVNVFF4TkNBeU15NDROakEwSURFMUxqZzVOalVnTWpNdU5UVTRNeUF4TlM0NE9UWTFXaUlnWm1sc2JEMGlkMmhwZEdVaUx6NEtQSEJoZEdnZ1pEMGlUVEUyTGpRME56UWdNVFl1TXprMk5VZ3lNeTQxTlRnelF6SXpMalU0TkRJZ01UWXVNemsyTlNBeU15NDJNRFV6SURFMkxqUXhOelVnTWpNdU5qQTFNeUF4Tmk0ME5ETTFWakl6TGpVMU5EUkRNak11TmpBMU15QXlNeTQxT0RBeklESXpMalU0TkRJZ01qTXVOakF4TkNBeU15NDFOVGd6SURJekxqWXdNVFJJTVRZdU5EUTNORU14Tmk0ME1qRTBJREl6TGpZd01UUWdNVFl1TkRBd05DQXlNeTQxT0RBeklERTJMalF3TURRZ01qTXVOVFUwTkZZeE5pNDBORE0xUXpFMkxqUXdNRFFnTVRZdU5ERTNOU0F4Tmk0ME1qRTBJREUyTGpNNU5qVWdNVFl1TkRRM05DQXhOaTR6T1RZMVdpSWdjM1J5YjJ0bFBTSjNhR2wwWlNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWpBdU1UVWlMejRLUEhCaGRHZ2daRDBpVFRFMUxqTTFNRE1nTnk0Mk9URTBNVWc0TGpJek9UTTNRemN1T1RNM01qZ2dOeTQyT1RFME1TQTNMalk1TWpNNElEY3VPVE0yTXlBM0xqWTVNak00SURndU1qTTRORll4TlM0ek5Ea3pRemN1TmpreU16Z2dNVFV1TmpVeE5DQTNMamt6TnpJNElERTFMamc1TmpNZ09DNHlNemt6TnlBeE5TNDRPVFl6U0RFMUxqTTFNRE5ETVRVdU5qVXlNeUF4TlM0NE9UWXpJREUxTGpnNU56SWdNVFV1TmpVeE5DQXhOUzQ0T1RjeUlERTFMak0wT1ROV09DNHlNemcwUXpFMUxqZzVOeklnTnk0NU16WXpJREUxTGpZMU1qTWdOeTQyT1RFME1TQXhOUzR6TlRBeklEY3VOamt4TkRGYUlpQm1hV3hzUFNKM2FHbDBaU0l2UGdvOGNHRjBhQ0JrUFNKTk9DNHlNemt6TnlBNExqRTVNVFF4U0RFMUxqTTFNRE5ETVRVdU16YzJNaUE0TGpFNU1UUXhJREUxTGpNNU56SWdPQzR5TVRJME5TQXhOUzR6T1RjeUlEZ3VNak00TkZZeE5TNHpORGt6UXpFMUxqTTVOeklnTVRVdU16YzFNaUF4TlM0ek56WXlJREUxTGpNNU5qTWdNVFV1TXpVd015QXhOUzR6T1RZelNEZ3VNak01TXpkRE9DNHlNVE0wTWlBeE5TNHpPVFl6SURndU1Ua3lNemdnTVRVdU16YzFNaUE0TGpFNU1qTTRJREUxTGpNME9UTldPQzR5TXpnMFF6Z3VNVGt5TXpnZ09DNHlNVEkwTkNBNExqSXhNelF5SURndU1Ua3hOREVnT0M0eU16a3pOeUE0TGpFNU1UUXhXaUlnYzNSeWIydGxQU0ozYUdsMFpTSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlqQXVNVFVpTHo0S1BIQmhkR2dnWkQwaVRUTXhMamMyTURRZ055NDJPVEUwTVVneU5DNDJORGsxUXpJMExqTTBOelFnTnk0Mk9URTBNU0F5TkM0eE1ESTFJRGN1T1RNMk15QXlOQzR4TURJMUlEZ3VNak00TkZZeE5TNHpORGt6UXpJMExqRXdNalVnTVRVdU5qVXhOQ0F5TkM0ek5EYzBJREUxTGpnNU5qTWdNalF1TmpRNU5TQXhOUzQ0T1RZelNETXhMamMyTURSRE16SXVNRFl5TlNBeE5TNDRPVFl6SURNeUxqTXdOelFnTVRVdU5qVXhOQ0F6TWk0ek1EYzBJREUxTGpNME9UTldPQzR5TXpnMFF6TXlMak13TnpRZ055NDVNell6SURNeUxqQTJNalVnTnk0Mk9URTBNU0F6TVM0M05qQTBJRGN1TmpreE5ERmFJaUJtYVd4c1BTSjNhR2wwWlNJdlBnbzhjR0YwYUNCa1BTSk5NalF1TmpRNU5TQTRMakU1TVRReFNETXhMamMyTURSRE16RXVOemcyTkNBNExqRTVNVFF4SURNeExqZ3dOelFnT0M0eU1USTBOU0F6TVM0NE1EYzBJRGd1TWpNNE5GWXhOUzR6TkRrelF6TXhMamd3TnpRZ01UVXVNemMxTWlBek1TNDNPRFkwSURFMUxqTTVOak1nTXpFdU56WXdOQ0F4TlM0ek9UWXpTREkwTGpZME9UVkRNalF1TmpJek5pQXhOUzR6T1RZeklESTBMall3TWpVZ01UVXVNemMxTWlBeU5DNDJNREkxSURFMUxqTTBPVE5XT0M0eU16ZzBRekkwTGpZd01qVWdPQzR5TVRJME5DQXlOQzQyTWpNMklEZ3VNVGt4TkRFZ01qUXVOalE1TlNBNExqRTVNVFF4V2lJZ2MzUnliMnRsUFNKM2FHbDBaU0lnYzNSeWIydGxMVzl3WVdOcGRIazlJakF1TVRVaUx6NEtQSEJoZEdnZ1pEMGlUVEUxTGpNMU1ETWdNalF1TURrNU5rZzRMakl6T1RNM1F6Y3VPVE0zTWpnZ01qUXVNRGs1TmlBM0xqWTVNak00SURJMExqTTBORFVnTnk0Mk9USXpPQ0F5TkM0Mk5EWTJWak14TGpjMU56VkROeTQyT1RJek9DQXpNaTR3TlRrMklEY3VPVE0zTWpnZ016SXVNekEwTlNBNExqSXpPVE0zSURNeUxqTXdORFZJTVRVdU16VXdNME14TlM0Mk5USTBJRE15TGpNd05EVWdNVFV1T0RrM015QXpNaTR3TlRrMklERTFMamc1TnpNZ016RXVOelUzTlZZeU5DNDJORFkyUXpFMUxqZzVOek1nTWpRdU16UTBOU0F4TlM0Mk5USTBJREkwTGpBNU9UWWdNVFV1TXpVd015QXlOQzR3T1RrMldpSWdabWxzYkQwaWQyaHBkR1VpTHo0S1BIQmhkR2dnWkQwaVRUZ3VNak01TXpjZ01qUXVOVGs1TmtneE5TNHpOVEF6UXpFMUxqTTNOaklnTWpRdU5UazVOaUF4TlM0ek9UY3pJREkwTGpZeU1EWWdNVFV1TXprM015QXlOQzQyTkRZMlZqTXhMamMxTnpWRE1UVXVNemszTXlBek1TNDNPRE0wSURFMUxqTTNOaklnTXpFdU9EQTBOU0F4TlM0ek5UQXpJRE14TGpnd05EVklPQzR5TXprek4wTTRMakl4TXpReUlETXhMamd3TkRVZ09DNHhPVEl6T0NBek1TNDNPRE0wSURndU1Ua3lNemdnTXpFdU56VTNOVll5TkM0Mk5EWTJRemd1TVRreU16Z2dNalF1TmpJd05pQTRMakl4TXpReUlESTBMalU1T1RZZ09DNHlNemt6TnlBeU5DNDFPVGsyV2lJZ2MzUnliMnRsUFNKM2FHbDBaU0lnYzNSeWIydGxMVzl3WVdOcGRIazlJakF1TVRVaUx6NEtQSEJoZEdnZ1pEMGlUVE14TGpjMk1EUWdNalF1TURrNU5rZ3lOQzQyTkRrMVF6STBMak0wTnpRZ01qUXVNRGs1TmlBeU5DNHhNREkxSURJMExqTTBORFVnTWpRdU1UQXlOU0F5TkM0Mk5EWTJWak14TGpjMU56VkRNalF1TVRBeU5TQXpNaTR3TlRrMklESTBMak0wTnpRZ016SXVNekEwTlNBeU5DNDJORGsxSURNeUxqTXdORFZJTXpFdU56WXdORU16TWk0d05qSTFJRE15TGpNd05EVWdNekl1TXpBM05DQXpNaTR3TlRrMklETXlMak13TnpRZ016RXVOelUzTlZZeU5DNDJORFkyUXpNeUxqTXdOelFnTWpRdU16UTBOU0F6TWk0d05qSTFJREkwTGpBNU9UWWdNekV1TnpZd05DQXlOQzR3T1RrMldpSWdabWxzYkQwaWQyaHBkR1VpTHo0S1BIQmhkR2dnWkQwaVRUSTBMalkwT1RVZ01qUXVOVGs1Tmtnek1TNDNOakEwUXpNeExqYzROalFnTWpRdU5UazVOaUF6TVM0NE1EYzBJREkwTGpZeU1EWWdNekV1T0RBM05DQXlOQzQyTkRZMlZqTXhMamMxTnpWRE16RXVPREEzTkNBek1TNDNPRE0wSURNeExqYzROalFnTXpFdU9EQTBOU0F6TVM0M05qQTBJRE14TGpnd05EVklNalF1TmpRNU5VTXlOQzQyTWpNMklETXhMamd3TkRVZ01qUXVOakF5TlNBek1TNDNPRE0wSURJMExqWXdNalVnTXpFdU56VTNOVll5TkM0Mk5EWTJRekkwTGpZd01qVWdNalF1TmpJd05pQXlOQzQyTWpNMklESTBMalU1T1RZZ01qUXVOalE1TlNBeU5DNDFPVGsyV2lJZ2MzUnliMnRsUFNKM2FHbDBaU0lnYzNSeWIydGxMVzl3WVdOcGRIazlJakF1TVRVaUx6NEtQQzl6ZG1jK0NnPT0iLHRoaXMuX3JlYWR5U3RhdGU9KDAsby5pc0luQnJvd3NlcikoKT9vLldhbGxldFJlYWR5U3RhdGUuTG9hZGluZzpvLldhbGxldFJlYWR5U3RhdGUuTm90Rm91bmQsdGhpcy5fc3RhdGU9by5BZGFwdGVyU3RhdGUuTG9hZGluZyx0aGlzLm1lc3NhZ2VIYW5kbGVyPXQ9Pnt2YXIgZSxuLHI7Y29uc3QgaT1udWxsPT09KGU9dC5kYXRhKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5tZXNzYWdlO2lmKGkpaWYoImFjY291bnRzQ2hhbmdlZCI9PT1pLmFjdGlvbilzZXRUaW1lb3V0KCgoKT0+e3ZhciB0O2NvbnN0IGU9dGhpcy5hZGRyZXNzfHwiIjtpZihudWxsPT09KHQ9dGhpcy5fd2FsbGV0KXx8dm9pZCAwPT09dD92b2lkIDA6dC5yZWFkeSl7Y29uc3QgdD1pLmRhdGEuYWRkcmVzczt0aGlzLnNldEFkZHJlc3ModCksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpfWVsc2UgdGhpcy5zZXRBZGRyZXNzKG51bGwpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCk7KHRoaXMuYWRkcmVzc3x8IiIpIT09ZSYmdGhpcy5lbWl0KCJhY2NvdW50c0NoYW5nZWQiLHRoaXMuYWRkcmVzc3x8IiIsZSksIWUmJnRoaXMuYWRkcmVzcz90aGlzLmVtaXQoImNvbm5lY3QiLHRoaXMuYWRkcmVzcyk6ZSYmIXRoaXMuYWRkcmVzcyYmdGhpcy5lbWl0KCJkaXNjb25uZWN0Iil9KSwyMDApO2Vsc2UgaWYoImNvbm5lY3QiPT09aS5hY3Rpb24pe2NvbnN0IHQ9dGhpcy5jb25uZWN0ZWQsZT10aGlzLmFkZHJlc3N8fCIiLGk9KG51bGw9PT0ocj1udWxsPT09KG49dGhpcy5fd2FsbGV0LnRyb25XZWIpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09cj92b2lkIDA6ci5iYXNlNTgpfHwiIjt0aGlzLnNldEFkZHJlc3MoaSksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpLHQ/aSE9PWUmJnRoaXMuZW1pdCgiYWNjb3VudHNDaGFuZ2VkIix0aGlzLmFkZHJlc3N8fCIiLGUpOnRoaXMuZW1pdCgiY29ubmVjdCIsaSl9ZWxzZSJkaXNjb25uZWN0Ij09PWkuYWN0aW9uJiYodGhpcy5zZXRBZGRyZXNzKG51bGwpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCksdGhpcy5lbWl0KCJkaXNjb25uZWN0IikpfSx0aGlzLl9jaGVja1Byb21pc2U9bnVsbCx0aGlzLl91cGRhdGVXYWxsZXQ9KCk9Pnt2YXIgdCxlO2xldCBuPXRoaXMuc3RhdGUscj10aGlzLmFkZHJlc3M7KDAscy5zdXBwb3J0T2t4V2FsbGV0KSgpPyh0aGlzLl93YWxsZXQ9d2luZG93Lm9reHdhbGxldC50cm9uTGluayx0aGlzLl9saXN0ZW5FdmVudCgpLHI9KG51bGw9PT0oZT1udWxsPT09KHQ9dGhpcy5fd2FsbGV0LnRyb25XZWIpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5iYXNlNTgpfHxudWxsLG49dGhpcy5fd2FsbGV0LnJlYWR5P28uQWRhcHRlclN0YXRlLkNvbm5lY3RlZDpvLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KToodGhpcy5fd2FsbGV0PW51bGwscj1udWxsLG49by5BZGFwdGVyU3RhdGUuTm90Rm91bmQpLHRoaXMuc2V0QWRkcmVzcyhyKSx0aGlzLnNldFN0YXRlKG4pfTtjb25zdHtjaGVja1RpbWVvdXQ6bj0yZTMsb3BlblVybFdoZW5XYWxsZXROb3RGb3VuZDpyPSEwLG9wZW5BcHBXaXRoRGVlcGxpbms6aT0hMH09dDtpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJbT2t4V2FsbGV0QWRhcHRlcl0gY29uZmlnLmNoZWNrVGltZW91dCBzaG91bGQgYmUgYSBudW1iZXIiKTtpZih0aGlzLmNvbmZpZz17Y2hlY2tUaW1lb3V0Om4sb3BlbkFwcFdpdGhEZWVwbGluazppLG9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQ6cn0sdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl93YWxsZXQ9bnVsbCx0aGlzLl9hZGRyZXNzPW51bGwsISgwLG8uaXNJbkJyb3dzZXIpKCkpcmV0dXJuIHRoaXMuX3JlYWR5U3RhdGU9by5XYWxsZXRSZWFkeVN0YXRlLk5vdEZvdW5kLHZvaWQgdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Ob3RGb3VuZCk7KDAscy5zdXBwb3J0T2t4V2FsbGV0KSgpPyh0aGlzLl9yZWFkeVN0YXRlPW8uV2FsbGV0UmVhZHlTdGF0ZS5Gb3VuZCx0aGlzLl91cGRhdGVXYWxsZXQoKSk6dGhpcy5fY2hlY2tXYWxsZXQoKS50aGVuKCgoKT0+e3RoaXMuY29ubmVjdGVkJiZ0aGlzLmVtaXQoImNvbm5lY3QiLHRoaXMuYWRkcmVzc3x8IiIpfSkpfWdldCBhZGRyZXNzKCl7cmV0dXJuIHRoaXMuX2FkZHJlc3N9Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfWdldCByZWFkeVN0YXRlKCl7cmV0dXJuIHRoaXMuX3JlYWR5U3RhdGV9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGluZ31uZXR3b3JrKCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7aWYoeWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlIT09by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKXRocm93IG5ldyBvLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO2NvbnN0IHQ9dGhpcy5fd2FsbGV0O2lmKCF0fHwhdC50cm9uV2ViKXRocm93IG5ldyBvLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO3RyeXtyZXR1cm4geWllbGQoMCxpLmdldE5ldHdvcmtJbmZvQnlUcm9uV2ViKSh0LnRyb25XZWIpfWNhdGNoKHQpe3Rocm93IG5ldyBvLldhbGxldEdldE5ldHdvcmtFcnJvcihudWxsPT10P3ZvaWQgMDp0Lm1lc3NhZ2UsdCl9fWNhdGNoKHQpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLHQpLHR9fSkpfWNvbm5lY3QoKXt2YXIgdDtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtpZih0aGlzLmNoZWNrSWZPcGVuT2t4V2FsbGV0KCksdGhpcy5jb25uZWN0ZWR8fHRoaXMuY29ubmVjdGluZylyZXR1cm47aWYoeWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlPT09by5BZGFwdGVyU3RhdGUuTm90Rm91bmQpdGhyb3chMSE9PXRoaXMuY29uZmlnLm9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQmJigwLG8uaXNJbkJyb3dzZXIpKCkmJndpbmRvdy5vcGVuKHRoaXMudXJsLCJfYmxhbmsiKSxuZXcgby5XYWxsZXROb3RGb3VuZEVycm9yO2lmKCF0aGlzLl93YWxsZXQpcmV0dXJuO3RoaXMuX2Nvbm5lY3Rpbmc9ITA7Y29uc3QgZT10aGlzLl93YWxsZXQ7dHJ5e2NvbnN0IHQ9eWllbGQgZS5yZXF1ZXN0KHttZXRob2Q6InRyb25fcmVxdWVzdEFjY291bnRzIn0pO2lmKCF0KXRocm93IG5ldyBvLldhbGxldENvbm5lY3Rpb25FcnJvcigiUmVxdWVzdCBjb25uZWN0IGVycm9yLiIpO2lmKDRlMz09PXQuY29kZSl0aHJvdyBuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRoZSBzYW1lIERBcHAgaGFzIGFscmVhZHkgaW5pdGlhdGVkIGEgcmVxdWVzdCB0byBjb25uZWN0IHRvIE9reFdhbGxldCwgYW5kIHRoZSBwb3AtdXAgd2luZG93IGhhcyBub3QgYmVlbiBjbG9zZWQuIik7aWYoNDAwMT09PXQuY29kZSl0aHJvdyBuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRoZSB1c2VyIHJlamVjdGVkIGNvbm5lY3Rpb24uIil9Y2F0Y2godCl7dGhyb3cgbmV3IG8uV2FsbGV0Q29ubmVjdGlvbkVycm9yKG51bGw9PXQ/dm9pZCAwOnQubWVzc2FnZSx0KX1jb25zdCBuPShudWxsPT09KHQ9ZS50cm9uV2ViLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09dD92b2lkIDA6dC5iYXNlNTgpfHwiIjt0aGlzLnNldEFkZHJlc3MobiksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpLHRoaXMuX2xpc3RlbkV2ZW50KCksdGhpcy5jb25uZWN0ZWQmJnRoaXMuZW1pdCgiY29ubmVjdCIsdGhpcy5hZGRyZXNzfHwiIil9Y2F0Y2godCl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsdCksdH1maW5hbGx5e3RoaXMuX2Nvbm5lY3Rpbmc9ITF9fSkpfWRpc2Nvbm5lY3QoKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RoaXMuX3N0b3BMaXN0ZW5FdmVudCgpLHRoaXMuc3RhdGU9PT1vLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQmJih0aGlzLnNldEFkZHJlc3MobnVsbCksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KSx0aGlzLmVtaXQoImRpc2Nvbm5lY3QiKSl9KSl9c2lnblRyYW5zYWN0aW9uKHQsZSl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgbj15aWVsZCB0aGlzLmNoZWNrQW5kR2V0V2FsbGV0KCk7dHJ5e3JldHVybiB5aWVsZCBuLnRyb25XZWIudHJ4LnNpZ24odCxlKX1jYXRjaCh0KXt0aHJvdyB0IGluc3RhbmNlb2YgRXJyb3I/bmV3IG8uV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IodC5tZXNzYWdlLHQpOm5ldyBvLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yKHQsbmV3IEVycm9yKHQpKX19Y2F0Y2godCl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsdCksdH19KSl9bXVsdGlTaWduKC4uLnQpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IGU9eWllbGQgdGhpcy5jaGVja0FuZEdldFdhbGxldCgpO3RyeXtyZXR1cm4geWllbGQgZS50cm9uV2ViLnRyeC5tdWx0aVNpZ24oLi4udCl9Y2F0Y2godCl7dGhyb3cgdCBpbnN0YW5jZW9mIEVycm9yP25ldyBvLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yKHQubWVzc2FnZSx0KTpuZXcgby5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcih0LG5ldyBFcnJvcih0KSl9fWNhdGNoKHQpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLHQpLHR9fSkpfXNpZ25NZXNzYWdlKHQsZSl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgbj15aWVsZCB0aGlzLmNoZWNrQW5kR2V0V2FsbGV0KCk7dHJ5e3JldHVybiB5aWVsZCBuLnRyb25XZWIudHJ4LnNpZ25NZXNzYWdlVjIodCxlKX1jYXRjaCh0KXt0aHJvdyB0IGluc3RhbmNlb2YgRXJyb3I/bmV3IG8uV2FsbGV0U2lnbk1lc3NhZ2VFcnJvcih0Lm1lc3NhZ2UsdCk6bmV3IG8uV2FsbGV0U2lnbk1lc3NhZ2VFcnJvcih0LG5ldyBFcnJvcih0KSl9fWNhdGNoKHQpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLHQpLHR9fSkpfWNoZWNrQW5kR2V0V2FsbGV0KCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZih0aGlzLmNoZWNrSWZPcGVuT2t4V2FsbGV0KCkseWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlIT09by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKXRocm93IG5ldyBvLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO2NvbnN0IHQ9dGhpcy5fd2FsbGV0O2lmKCF0fHwhdC50cm9uV2ViKXRocm93IG5ldyBvLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO3JldHVybiB0fSkpfV9saXN0ZW5FdmVudCgpe3RoaXMuX3N0b3BMaXN0ZW5FdmVudCgpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm1lc3NhZ2VIYW5kbGVyKX1fc3RvcExpc3RlbkV2ZW50KCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMubWVzc2FnZUhhbmRsZXIpfWNoZWNrSWZPcGVuT2t4V2FsbGV0KCl7aWYoITEhPT10aGlzLmNvbmZpZy5vcGVuQXBwV2l0aERlZXBsaW5rJiYoMCxzLm9wZW5Pa3hXYWxsZXQpKCkpdGhyb3cgbmV3IG8uV2FsbGV0Tm90Rm91bmRFcnJvcn1fY2hlY2tXYWxsZXQoKXtpZih0aGlzLnJlYWR5U3RhdGU9PT1vLldhbGxldFJlYWR5U3RhdGUuRm91bmQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSghMCk7aWYodGhpcy5fY2hlY2tQcm9taXNlKXJldHVybiB0aGlzLl9jaGVja1Byb21pc2U7Y29uc3QgdD1NYXRoLmZsb29yKHRoaXMuY29uZmlnLmNoZWNrVGltZW91dC8xMDApO2xldCBlLG49MDtyZXR1cm4gdGhpcy5fY2hlY2tQcm9taXNlPW5ldyBQcm9taXNlKChyPT57Y29uc3QgaT0oKT0+e24rKztjb25zdCBpPSgwLHMuc3VwcG9ydE9reFdhbGxldCkoKTsoaXx8bj50KSYmKGUmJmNsZWFySW50ZXJ2YWwoZSksdGhpcy5fcmVhZHlTdGF0ZT1pP28uV2FsbGV0UmVhZHlTdGF0ZS5Gb3VuZDpvLldhbGxldFJlYWR5U3RhdGUuTm90Rm91bmQsdGhpcy5fdXBkYXRlV2FsbGV0KCksdGhpcy5lbWl0KCJyZWFkeVN0YXRlQ2hhbmdlZCIsdGhpcy5yZWFkeVN0YXRlKSxyKGkpKX07ZT1zZXRJbnRlcnZhbChpLDEwMCksaSgpfSkpLHRoaXMuX2NoZWNrUHJvbWlzZX1zZXRBZGRyZXNzKHQpe3RoaXMuX2FkZHJlc3M9dH1zZXRTdGF0ZSh0KXt0IT09dGhpcy5zdGF0ZSYmKHRoaXMuX3N0YXRlPXQsdGhpcy5lbWl0KCJzdGF0ZUNoYW5nZWQiLHQpKX19ZS5Pa3hXYWxsZXRBZGFwdGVyPWF9KG8pLGZ1bmN0aW9uKGUpe3ZhciBuPXQmJnQuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbih0LGUsbixvKXt2b2lkIDA9PT1vJiYobz1uKTt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik7ciYmISgiZ2V0ImluIHI/IWUuX19lc01vZHVsZTpyLndyaXRhYmxlfHxyLmNvbmZpZ3VyYWJsZSl8fChyPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlW25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG8scil9OmZ1bmN0aW9uKHQsZSxuLG8pe3ZvaWQgMD09PW8mJihvPW4pLHRbb109ZVtuXX0pLHI9dCYmdC5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvIGluIHQpImRlZmF1bHQiPT09b3x8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbyl8fG4oZSx0LG8pfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscihvLGUpLHIoSSxlKX0obiksZShuKX0pKTsK"}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g7M8btVsD8CkGq7u0-K6z8GXhnU0.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.897Z","timestamp":1785140382897,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/dmsans/v17/rP2Yp2ywxg089UriI5-g7M8btVsD8CkGq7u0-K6z8GXhnU0.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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: identity\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 23696\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 05:17:17 GMT\r\nexpires: Tue, 27 Jul 2027 05:17:17 GMT\r\ncache-control: public, max-age=31536000\r\nage: 10945\r\nlast-modified: Wed, 10 Sep 2025 16:30:35 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":23696,"size_decoded":24508,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 23696, version 1.0","md5":"05552a034596c130e66112a4d819d813","sha1":"1637faa0a44f2c589683726324479e06526fd09d","sha256":"e2fc0128ac2999c95f61e85bde5a877459c45939d3359630292ffa5be89402f5","sha512":"37bd6b3f7771603fb533c9588216f8a9bd2bee8a2fe5be004c03438e0337039e9aebdd9970d9deb57f33d5dcd8d69896014fdab1478aef73b3e6bca58fa0c963","ssdeep":"384:QR2Vm5PqBvh8OU2092r48cQxim4TRHNKqQOUy528ZmnPfW5dDPsgwisSYKdsHxcg:y2VW6rXr4TRHwqQOJjZOKCip5+3fwyN","tlshash":"c7b2e033208e678e80d649756585072f1febce0ae15c9ec7d40d23a2e925732e61b9c7","first_seen":"2025-11-03T09:16:56.061936Z","last_seen":"2026-07-27T13:55:49.897165Z","times_seen":25,"resource_available":false,"data":"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"}},"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":"orangerosehamburg.com/files/script_tron.js","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.925Z","timestamp":1785140382925,"http_version":"HTTP/3","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":"orangerosehamburg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Jul 2026 04:01:40 GMT","end":"Mon, 05 Oct 2026 05:00:08 GMT"},"fingerprint":{"sha1":"0E:20:A6:BB:D6:C3:9A:0A:E1:5A:F3:79:45:1E:34:E1:F9:91:32:3D","sha256":"17:4A:A7:99:F6:38:19:32:B9:BE:7D:C9:ED:7C:5C:D4:F8:82:07:5A:C4:F4:09:DD:A7:04:92:5C:0F:AC:27:BE"}}},"request":{"raw":"GET /files/script_tron.js HTTP/1.1\r\nHost: orangerosehamburg.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: application/javascript\r\netag: W/\"699046e1-14ef8\"\r\npriority: u=3,i=?0\r\nlast-modified: Sat, 14 Feb 2026 09:56:49 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nexpires: Mon, 27 Jul 2026 09:19:43 GMT\r\ncache-control: public, max-age=14400, immutable\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=qpkMNlaM81RHwtRoUcTCA0HUoNZr0dz%2Bhdm1bEMvH19hI7nv89rE7nMNSqbwLljGjJNWxu5ms5Xj5f%2BhFxMuQ2WxJrJpFuKPy0E66r4m0ep9xxQLkgFqAig8hfq997dB3bjddNb1oqA%3D\"}]}\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\ncf-ray: a21a3881485a723c-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]}],"data":{"size":85752,"size_decoded":20486,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"4a178a22e7cb6fa7a0bdfec73d7765ce","sha1":"d4f1ad166c043830b6caaec9e756f2923bb953ff","sha256":"e878ee1fa501e1a7f60c73306309cc6a233c3248cedda5e196332baeeabb3535","sha512":"9422a0072b3ea85575a17c967da0cf9a3209812d4e56f0f6c70d55edc3c06c1781086f40a2ca0b870e865dc2d6edfdc67647ac741c38e430c493c636b889d4bb","ssdeep":"768:7xQUxL7I75gwZRP9LhGMxM4naz2ZXvZ4VZ8rkQSOwrTZRm:tvItbZRP9LgMxM4vZXh48rU/do","tlshash":"5b83dd602e67bdd5cbbe31504aaf191cead85b1d97490ddc714e38e42bb9830c2ee1d8","first_seen":"2025-09-24T11:19:50.992716Z","last_seen":"2026-07-27T11:57:52.214696Z","times_seen":234,"resource_available":true,"data":"dmFyIGl4OEVyVjQsUHR5bXc3LGJwMUhVRSxQc3hldnIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQsUGNBU2lHO2NvbnN0IHo5TE5EY1c9WzB4MCwweDEsMHg4LDB4ZmYsImxlbmd0aCIsMHgzZiwweDYsImZyb21Db2RlUG9pbnQiLDB4NywweGMsInVuZGVmaW5lZCIsMHg1YiwweDFmZmYsMHg1OCwweGQsMHhlLCEweDAsITB4MSwiXG4iLDB4ZmZjMDAwMDAsMHgxMCwweDg1ZWJjYTZiLDB4YzJiMmFlMzUsdm9pZCAweDAsMHg3MSwweDc2LDB4NmQsMHg3ZiwweDgwLG51bGwsMHg5NSwweDkyLDB4OWQsMHhhZCwweGFlLDB4MiwweGJiOCwweGEsMHhkZiwweGVmLDB4ZjUsMHhmMywweDEwNiwweDEwMCwweDY0LDB4MywweDEwZSwweDExZCwweDEyMCwweDIwMDAwMDAsMHg0MDAwMDAwLDB4MTJkLDB4NF07ZnVuY3Rpb24gS05lMGlJKGl4OEVyVjQpe3ZhciBQdHltdzc9IiVIJChgaCZnd1t7eEJGRXorX10seXwxKik7MEA+LzJeQ1wifj1qfWk8Lkc6P2ttREFuSjNJbE9NUE5vcHJMOUtxZVRic1IjNll0WmFjdjghUVNXN1VmdWQ0Vlg1IixicDFIVUUsUHN4ZXZyLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbTtSOXhSdnkoYnAxSFVFPSIiKyhpeDhFclY0fHwiIiksUHN4ZXZyPWJwMUhVRS5sZW5ndGgsSmhNVVRHWD1bXSxodW9jcmtnPXo5TE5EY1dbMHgwXSx3Szc0bVFKPXo5TE5EY1dbMHgwXSxsU1VVRE8wPS16OUxORGNXWzB4MV0pO2ZvcihUY3hZWWttPXo5TE5EY1dbMHgwXTtUY3hZWWttPFBzeGV2cjtUY3hZWWttKyspe3ZhciBpUDY0T209UHR5bXc3LmluZGV4T2YoYnAxSFVFW1RjeFlZa21dKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGxTVVVETzA8ejlMTkRjV1sweDBdKXtsU1VVRE8wPWlQNjRPbX1lbHNle1I5eFJ2eShsU1VVRE8wKz1pUDY0T20qejlMTkRjV1sweGJdLGh1b2Nya2d8PWxTVVVETzA8PHdLNzRtUUosd0s3NG1RSis9KGxTVVVETzAmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KEpoTVVUR1gucHVzaChodW9jcmtnJno5TE5EY1dbMHgzXSksaHVvY3JrZz4+PXo5TE5EY1dbMHgyXSx3Szc0bVFKLT16OUxORGNXWzB4Ml0pfXdoaWxlKHdLNzRtUUo+ejlMTkRjV1sweDhdKTtsU1VVRE8wPS16OUxORGNXWzB4MV19fWlmKGxTVVVETzA+LXo5TE5EY1dbMHgxXSl7SmhNVVRHWC5wdXNoKChodW9jcmtnfGxTVVVETzA8PHdLNzRtUUopJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgoSmhNVVRHWCl9ZnVuY3Rpb24gbDBxaloxKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1LTmUwaUkoUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19Ujl4UnZ5KGl4OEVyVjQ9e30sUHR5bXc3PVsiQUk9LzZLPl1FcV10PUAuaTlZZl40ciRTPEZOdkFAJH1NRS4yUWo3RDRGJUAkOXciLCJyS19jR1pPLzhPL3AmaH5qcX0ybDtpTz10XzhIJXokKSlDZU16MzxnT010Wj5gZV1YJSIsImM6MWxRI11TXU11aFNBekAxLlsyMSNRR0hiZjh7aWUqIiwiR1lAYTVpNnBiQktyWXA0PUdSaWBsdFMpQV02U0E2UmliWk9nUnRvSCIsIn1bKVpoT1lGSkw9dEFyfEBbWXZoSk4yKUpCZWwlPDo7Nlt+SUYiLCJvVCpsUElOMn1GfnZkJFU+KU1VYStvTS5UcUp2PyRWR00wIVl8IiwiVT5BSjpKfEhHeV0oVHRjLDwqLENtNyNHR0VqQDRFJT9vKmt7VjNSMjtfOyIsIiRMMT5vNl1sSG90Q0ZqKH12UnIvZXA1QlJlfkVXU2g7ZCUiLCJfP1tjVmk0X3ZUQEtnM2UyJD1eW0NBZzQ5eFNIPlUzPmhZI3ssIVgqbk82UyZocEdSJSIsIkNuTXZobjAkIiwiIVo4M1FLJGpHX1dPQ0FIX2lUWT44YTcuOE9xeDVKZ2luQiZsP00uLihMeXRTYCIsIiRNUk9JPGdHO0tidytyXXlsW0wvTzx+JCIsIlo6U1pITGxET0Y3OylBZD49TGZZeFBQR21OUlpScjRHX0R5XlwiUlYublsiLCJzSXFse0xJZzNxaH50QC4sVF9dYyFpRWpKWzRIWGBpfXpEZSYiLCJXNjA4OThBQW5dO3RmKCIsIi9CM3c3bVVvfWUheD5ZWzs7Uj57flNqYSViUzYyRVMuUVpVT01EUXEkTH4iLCJnYXpcIiNMTS4oIiwidVRhOD05NWwob3p5SCIsInBuSCZ8dldIfE0jOCRoZyIsInhKJSFKUlFRR19FS3lZQixocU9sKSFpbClGMz5CelMuIiwiWE4jWTtsUiZMVGVTdHpKQHBSNWghal4vOXhReGgrcS8iLCJYfkJ7JlBRR3p6SkU5bjk9TzBzdzZMTSR7VHQ+VylaaUFUbHsiLCJDW1UvSkpaRnFCdmA9MGoyZV5AOFkzUUlgIiwiVTxZbGtxMGQ4eCV5allTPCNtMnYvWV9GbFsreSgzbjA9TVVPZGwoT0dFN3d0QCMyPWFEPnxVJSIsIjpCTWwqb1QvaEZ+YkgiLCJZeEJhK1VvSFtLQ1FKO3w9UkliQ2RtPSx3eSR0b3ROOkFJdV5TV11TZUJnJGczJTpZTSombWNmfjBUSSIsIkRJVTg2aihPM3F3W0NZal5abXg4K1U+ZWAiLCJzKDBAVjM5RnZyUUh5cmZANT5lSlZvJSIsImpbNXdBPHxBb0toRiwwZ103VDsmOlNjLzZlXilZaXYwXUIoIiwifi4xPjV1VWcxcCNDaGZ7O2FUIz5sRF4sIXgzXTBXVUB9fWMvQC4qRyVvQjdZRWQ9QFtPXlpRd0QjLD4iLCJlS0B0QHIlOl5xQG5cInQzLldFXyY7bFZCS3dRen5GV0BdW09hJG48b3NvXl5EOVQqbE0hbG9MJSIsIkYwZ1wiRW9pQnZfTGBgWTkvIiwiLFshWU84c28xLHhSU0wzPjp5TWc5cHhHTUZhO0xAQzJnXTlnIiwiYn52YXgzfWdrdyhNaGZQflc2M0AoRFIyNXkiLCJqYV4+RVd1X35vJX1kOyQyfW5zOEJhSUZJb3M2LlkzPjxZZjAkSzEpUm85Zy5ANSt5MCgiLCJgL21hUEQmRGJxQjcuKCIsImdgMWdhaUMkJVtWb1N6dzsjKlYmcjh+ZHJ4eVFHfXl+TiYmZ0A9SDtvRSIsIk5fKTI0VUUpeW8mUkFVPDtefUhJYk80ZyQsamJiRjE+WD5JQ0dNcW9FcmlaITZmQCIsIkN9dV4lZF0pVF1jUyQ5ZCteTGhhWG1QZ15icVpSVXUuRkw2Pk5xPyxteGw+L257aV56S2BKcWAyRE47IiwiUUl5YS49WkZoLGpQfWBHXlp4KmwodENCW3tUYlduVGpVRWAzbnFbO3FdVGA7dFIpR0IzQ0MhJSIsIj4vO0A1bHhPaWUvZzgpbC5TS2YzX2xLU2FFVXM5fShfQX5Jd0UzUlJKb2xTWVVIKkU/Zk9sSV9HIV0iLCIjbXoyWCFVRlwiQjd6UDdDMkV9WT55Ln5dWEtVNlUkIiwialIhPnN+Q2x3e0ghTFVZXT0/KSFoTEAvXnxZc0Awd15ifk12aE9FbGt8MCNucihfaFtAQ0lKTz1DTE8iLCJpb2F3PDlaSX56Q0BLI1Y6S1p1Xm48YiloRiIsInU7N0k1VUAvUU9QU2E2WD59Ujd3ZzNNLigsMX5qVU89UEtgaCIsInBbZjhRS1Z+PHl4QCo3Wzw9fllsNlA7T2NLLnJOVSYiLCJqejgwT0l9Z1d6XCIjSCIsInJ+SUMhS1NCRHo0cTVXIS5OS2JDQ1NxPT58X0ApWSMpZ0pXSShhLEZ4eSIsIiQ9PHZAQVJdcEUiLCJlcmAzV1BVSHksS0RGdFgqb1tkbFNsSkhOX1g7ZihqXz9UTVBoTCUiLCJaKigvIUssLGFLXkBuQG1pMioqbH1KfFdpZXtwIUolXVFLNmA0M1dJXkxzQywzdywiLCJtX1syY1AwZGVdNDFVRSMsQmAxXkpjUWc8cF5FSiswak9Sck8zY3pPRkUjfHVqLy8hO2M4QCIsIiVhdjAlbm9IIiwiT1ljT0FSN2EyXVB2RDdNfk9+djM0aTd+PksoflRqYn1GUlZJMzYjSGF4Iiwib0lIQzo2OkJ2eHl+XkUseTlLLmMsckwpYlt6Km56QiIsIlhUJlB6S0U2QXFWc35FMT41WkRgTjxdKXwscFp2KW8+dShcImNebCUiLCIhbXchR1pxL1F6JH1OVTxeYihSYSZPal1iTHJTUmpKQHNbLDhKYzxGQU5NU3gkKkddTV10QEElIiwiK01xJiFXRSRdcShjLCRbXVduJnZFaSUiLCJ9LzRaXCJTZ0dQRnpjbUpNfn0wJVsiLCI5fTNJIVdsLkR4SEBbakIsMTBPXmpjbGxRXVc7aUZYR0FCOGc4dnQmXXEqUUg5c30pMDw+ckl4O0dFaSIsIj0qJl59Y0wpT3B3RilBLH46WV04L2xWUkt3IiwiITZEUCpVNUJBXU12XTNALzU+S15mM35CeSw4RDBXYTAwVGRnb0krKWBbcHh2ciM7WHhDTTxKYS57cjBLSCIsIk1tQHRhI21GdkVwU34zNl1DQmdcImp1SzIrYnxUMGhsfmdKTDh7bmApbnExRkgiLCJzOlFaOXR3RGxbLkVvTHJHeERkXm90JSIsImlbND4vdV5Hc1sqUDkpNl46S15bVSNdd1FOYDdqQGldQ1JpWyIsIlJtNU9WITFhRE4ye1A2SzpaeFZbaCMsR2lwWlNSKGheR1RAL145JHA1eXI4S0VYKk5NQENCIiwiSS5IMitQTlNCRT1yTTttQDVLMT47VV1EfUYiLCJOfkVQfS4qR2AiLCImbztDYG5xRjZwRkBoK0spPkgiLCJUXkE+XnVJSFNxXSM9VW5AK0xEWlwiciMqOUVkT1YoIiwiXX1WWms5QEdKb09KKUFhMFF+TiZxZj0sSEJoK190fEBXO00+NXY8b3NNe0lhVysuJj1gYXkjXCIsYCIsIkRZbWFhS0Asbkx5dlNgWyIsInRfL2d2aWlsO3ApST82ayxgYDZsMG9dRGpGTjtuVWdpaF1xPlpXMiQiLCIjS01abjxOUmAiLCJhcih7RFNERDRGLFFDdFIpWjp0WlVpal1ibyNDaTs4MHRJPGB0V2hHN292U3QoOEA6LlBaTjZXSCIsIkhDSGNRYTlHbXJaeFZ6PF49Unk4MzdUIyVdaHlmWXAvVH0uWyIsIj59dCZtY3RdZkYofUtGVS5ZJSIsInlxO0NyflMuIXhMOEwpXCJeXCImVlpIbi8sbUt2LzN9c11bSjwyJTxvL3dffiIsImJJaV44V3kkIiwiL01LNlI3b0Z8IiwiKS9mVXxifisiLCJcIlF6bHRaQHNzNE0xV35MeTwuKVo0MkUpN2p7IiwiRjhDb09FN21fXCJHTFhOayIsIl8jcHVLdyQiLCI7OHR1eFpxVykiLCI6UlNsJiIsIllMKUZSIiwiYWZ5SkAyUyIsIkQ6K0pLa20/KCIsImtSTmxZOVMiLCJIKmlgT3N+IiwiQVVcImBWeHJjSSIsInspS1suIiwiPjpbRmxHJGBMLzNbaiIsIjJZUztjYnB7Kk8qK2oiLCIqUE02RDpmbCE5OTlqIiwidl5eRzIkRkZaLzNaVSIsIi4uLH1nMjslTm5fcDZBelJMOiIsInwuOzI4M0ElIiwiTkZbS0t1XiIsIkFTblpfcj5ML25LVSVoLyIsInsmd0BfIiwiYn0ve0AiLCJ4UUJPRDRhUmFnJi48M0FDRlN4dy80TGxjfCxUOjN4Q0JTXXciLCI/PzJnbVNnVytdIiwiP0JyR31pU2JFIiwieUpLdTg9UXV7QDZ4UCxhd3YuY2JjIiwienplQng6QiVWWCIsInNsZWNKPEIle1EhIiwiXnpGey8iLCJKRj16bTI6JSIsIkZtXU1uX058fFFgO2JJMGVZdURfUShkRFRAViIsInM0U050XjJea1FfVS81YnModzshWiIsIngzN2ljOlMiLCJXdm5pal9bYkQiLCI5NGdNTCIsIlN1YWdCPyxmbSIsIj80RT1iLmsiLCJkbW5pbyIsImh2LGJuXjZSIiwiMTI5VGJeRiIsIjZkV1ROKiYzUyIsInl2UXJQIiwifVF+YCspZ2giLCI1ITBnOV5lQiIsIkdpX2dXLixleUNcInBuWHRSTFV6RXt7Oz4vKEkwcTR0Ui9zK00vTEc3KSQwclN3TGk0aTFmRSIsIkdpX2dXLixleUNcInBuWHRSTFV6RXt7Oz4vKEkwcTR0UnBINk1gYCNCTFdcIiZQK25obUQiLCJzKGNcInw5JWFfd2hnW3EwYGAoJGJLIXw+bW91OEx8SUsuPU04LyIsImRnMD4iLCJ0KG0laiIsInNYQEV8LDJdbCIsIklaQG5qYDkxKWo5IiwiL113bDxGPmkiLCI/P35oJEhoYVM6IiwifG5IbEswdX4vIiwifm5Sdk9hXCJULyIsIkVAUmpgM3p+V2B6IiwiZVBOSWMiLCJGQ0FoJCIsIlhTTkpWIiwiI2dMLClAaVEiLCIqWj53NilqZCgmUCIsIlE2KD1vKGsiLCJbOUd3byIsIm01fnciLCJ8RE9AYCIsIk1nUm5OIiwiLyhOQVMiLCJackRIaE45XS5TKmZ0YSUiLCJka01LRU4hPDF1cFlKIiwiQjBJY28iLCJsRmtkcENsKlYiLCI5TDBCdiIsIjojQzQ6PlBRIiwicjRvdDRtKm94S2NXPXBbeTFRTDAjZDBhMGdtTjs7Z0MwfTwyVV5LJDRsdExhNyNDNUlEXCImP05lbU5hakpMNDpbfUp0elwidXFoTWtkbFNnIiwifW98e19XOXUwd1E2TFV2aXZ+Z3ZBYyFkJWJTNkBwTD0yKD1DMCIsIlwibmMwQiIsIjA/VE14YSkkIiwiNDVqQW0iLCI9NChvSy9fM1pmZCQ4fCYwIiwifEJ+VE0iLCJWWFNUITs9M0NlYyIsIjZdV1RxIiwiXXpzQ0Z2XCJjY19SWmxAcDptfmd2X1deZzFlMyIsInhgblsyWXFjKUtZWlNVY2kiLCJJJSNLVmNhJE1JXjNQdCYiLCJlfCNLZV1PXi9bcHdDLyIsIixcIiNeJFpnUmciLCJ8RGZPR01kKXhfTSIsIl5LZ1c/I2R0ZCIsIlRLKSZTIiwiSi9uR0J4XTQ0Q3FzL1J4TCsoIiwiTV5YPjt4M0VrQX10eX0yRnFFIiwiU2RsLFhqRSIsIk9WQixVeHVRKSIsIkReOkdMIiwiLFB1KmUmUyIsIj4vQixOIiwiPmpCaS9ZV3ZnIiwiUFwiJiwrIiwiVTArLERzOEMiLCJJSVpNUk9nV1dxNTM7YGQuUkkoIiwiVk5sOEw4UjI+Sz1iUEBfPFVUSXcqdmIpJU96STtgZC5SSTUobVMsVyZlO1RUYCIsIjYoblsyWTwsSSw+VCxpZi5WeEl3V1c/RmciLCJWTmw4TDhSMj5LPWJQQF88VVRJdyp2YiklT3pJO2BkLlJJRFlKUlcjY19RSn10Y2kzW3x7IiwiN0Vedj5ZQndwS2BSfjl5LiIsIlZObDhMOFIyPks9YlBAXzxVVEl3KnZiKSVPekk7YGQuUkk1KDJZT0djX28iLCJhXlshR1JXI2NfYCRMekE8XnpoeyIsIlZObDhMOFIyPks9YlBAXzxVVEl3KnZiKSVPekk7YGQuUklEWTNjJDpCX2tLOkpFIiwiUVc8OVhsJFRlRCNlN1p2SF5CIiwiI3BvOS45PGBfc0g9L04mfjFraENeeD1MSiwlaChRN1wiPGhKWl1uXCJneHNAPEIiLCIxaG1qXnhbeTRGIiwiJVE4Umt5S01banBtc147Pz5RNH5gVERBbkVtdlYiLCIlUThSOndVYyxxWXZZZT1rTWtlcGxzTTxdYiQ5SVwiJiIsIlQ/dUp9OXx2PjB3TnFTJCIsIl4lK3hfbGVUIiwiYEFOOVN6b2JoIiwiRE8hO0lUU2hPXVczTEU6OiZifSkhIXN2U2xeTi8+ZyIsIixMN3lNNmlQUF4wIiwifGNHQXB+O2ZHYX0pQXZqSSIsInxjUmA7e3R7TkUiLCJDO2xqdUVWQiIsIislVl1iIiwiJVkxQ2AiLCJYZTAsRXI1N1BHQzovKkpeSWUzaEtqO1YpRjpvQiIsIlhlMCxbLlQ+fCVwb3AxJEU3RTFDVS83TGNxe3c4WlMiLCJqXn54YXd9b0lnLj0laXsiLCJpTGB7TipsUiIsIlprPTZ4cTs8eUhVbyFqUWJha144eiN1ZTRGbzlCIiwiWms9NkF0Ul9nR3I5ci5ZeDx4LlVjITxKaXBmLHw3ZCIsIiNibjo1LDI5YSV0JkdsZiIsIixBe1taWilGTSIsIkYlPDlLPHk/dyY4UVB1dyppQTw5Szx5P3cmOiIsIiglPDlIOGNnQCIsIkB6PzFJdEhwLElvLzU1QVN3S0UiLCJVcDxnZylZUkQiLCJmT0VnaFwiTE5IUiIsIjoxUDNSaFpNL1FHcj0qfnQrakVnKV0wfGtSOTBqd2RUWnUjSyIsIix6PzFmJTdlQE15IiwiJEhwYUg6bk0jUSQyPjZZaVU+VUZVdihlSzNLK3JyK1JNJDpGbGtNQiIsImVPPGcxOzVlTVEiLCJqT08vWjF8ZUxRLkZrKkduPVdFIiwiJVhsYWQlSXw2N3kiLCJARTA9WiIsIiVYbGFkJXJETD5gcGR3NmllRyIsIkhrYD0qL1g0QTJjPiE2ZHEiLCJ5b1VGXWhDR3VJJTxKQnxUd29VRl1oQSIsIkxGeEtkJW1SMlJiPlJsXnYiLCJadT4xZCU3ZUQiLCJ4NHpnbyRuQiIsIjBSNlF4IiwiL0NDUFNzTjokT3MiLCJAamYsfHNOOiRPcyIsImYpOiYiLCJsbUssbXpYeSxeWEtjZ1QvVltvRSIsIjApWXNxfEZqZHE/UCsrUjtWJnAiLCJ8R1wiRXQ2UiIsIjI+NXMoNng6VWtoeGdaZlsiLCJ1dWREb1tEXVRTIiwiblFASXw6IXRKUXM3cXc+WDN2Umd+Onx8RSIsIjN2TGdQXVBJUTh5IiwiRkYwPWElQSIsIn5RJXdOIiwiViNeN2BbViIsIkp5JDZNLiFONSNMJEIiLCI1YCwoIiwiakVFd0ZrNywrb2siLCJ9TTVhYms3LCtvayIsIlptWWFtVFBmYXBQWTlnL2p8aUFoIiwiNGAyayRiQE1VJHF3dXVySHwoWyIsImJOO2hdWHIiLCI2e0xrR1huLClJP25nTzVpIiwifnQ0N0dbQkh5JCEmOWhjIiwiJWJZeGEsTXkiLCJiaU8pIWRZQiIsIk9GU0dOIiwiNUZGKUl0e0pRMnQiLCIsNW0sTzxSe2ViVWJCIiwiSW5rY15AQSIsIjN2XjJzWzhORCIsIldcIkFXPTQkIiwiSE9DQSIsInR6bm1dWH4iLCJ2LzBBKTM1bHRTRiIsIlJ4dTFnIiwiPXw6QUkhKTklIiwiPj48cDdjT0Vta1V8cz5zfWxTIiwiJEQ/cCgiLCJVKHNDXyNILDhLbyIsIkkmdk9TdnxnKCIsIiguKV9DIiwibyVnJHB9PTR3ZilXZ2hoRlM2Ylo0bU8xOmRTTyZ9TGBPJCgiLCJdVEQ+WyIsIlRUJV96MG1HK0gmflpUWlU+OiIsImkwTDgyIV9XdktLWkgiLCJmR0sxXjo1ZiM1Wz1Zd0owN3VLIiwiQ1BxPWUoeUQiLCIwP1RNMllLKWciLCIvQnZPXll9LGciLCI8P0Z7LyIsIkYmY0MxdmUpe1R8VC8rZH5NMFpNK1clIiwiVShzQykiLCJub0lDcjg3bEhxTCIsIm9SPHYzN2Rke3kiLCIqQWJ5XCJ0ViYiLCIyQG9+LiIsIkFBYnlLdEIiLCIyVWJXXjYoXT9sam5lUGAiLCJJJEZ5eDZKJiIsIldKe1hNaUUqUGtBO01UX09lWkAiLCIyVWJXXjYoXT9sam55QSIsIiksQXBCIiwick9rT2FVL0EkeV01fStrM0gsNy8iLCIjfTlIJSIsInphMUg0ZCFOfnVpIiwiIzFOT0A4fjwsbFFmZDAiLCJmQ0hSYyIsIm97LzBXM10oIiwiSlRvKzU9bU9EIiwiIzAuVmpdT09HTSIsImdZYFYoYDY+RCV1PHJTajAuZypSKWY3fDdNZjRYQiIsInF6VlIiLCJPVFh3XT50T290QCtHI1F5MSFtanA/UG12JUwkbE4iLCJWTmgrUChpQiIsIlwiPztNMlldJCIsIlAuVUN6V0lGbl0pcFwiK1h+NCh5OD5ZJSIsImBvbF44I0pIIiwiTjByQywjYyNuXWFTOW4pfl56KCIsIjowY3c+WWkkIiwiKnolWy8iXSk7ZnVuY3Rpb24gdDZxZTJXTCgpe3ZhciBpeDhFclY0PXo5TE5EY1dbMHgxMV07ZXZhbCgiaXg4RXJWNCIrIiA9IHRydWUiKTtpZighaXg4RXJWNCl7d2hpbGUoejlMTkRjV1sweDEwXSl7fXJldHVybnt9fWNvbnN0IFB0eW13Nz1ldmFsKCJ0aGlzIik7cmV0dXJuIFB0eW13N31SOXhSdnkoYnAxSFVFPXQ2cWUyV0woKXx8e30sUHN4ZXZyPWJwMUhVRS5UZXh0RGVjb2RlcixKaE1VVEdYPWJwMUhVRS5VaW50OEFycmF5LGh1b2Nya2c9YnAxSFVFLkJ1ZmZlcix3Szc0bVFKPWJwMUhVRS5TdHJpbmd8fFN0cmluZyxsU1VVRE8wPWJwMUhVRS5BcnJheXx8QXJyYXksVGN4WVlrbT1mdW5jdGlvbigpe3ZhciBpeDhFclY0PW5ldyBsU1VVRE8wKHo5TE5EY1dbMHgxY10pLFB0eW13NyxicDFIVUU7Ujl4UnZ5KFB0eW13Nz13Szc0bVFKW3o5TE5EY1dbMHg3XV18fHdLNzRtUUouZnJvbUNoYXJDb2RlLGJwMUhVRT1bXSk7cmV0dXJuIGZ1bmN0aW9uKFBzeGV2cil7dmFyIEpoTVVUR1gsaHVvY3JrZyxsU1VVRE8wLFRjeFlZa207Ujl4UnZ5KGh1b2Nya2c9dm9pZCAweDAsbFNVVURPMD1Qc3hldnJbejlMTkRjV1sweDRdXSxicDFIVUVbejlMTkRjV1sweDRdXT16OUxORGNXWzB4MF0pO2ZvcihUY3hZWWttPXo5TE5EY1dbMHgwXTtUY3hZWWttPGxTVVVETzA7KXtSOXhSdnkoaHVvY3JrZz1Qc3hldnJbVGN4WVlrbSsrXSxodW9jcmtnPD16OUxORGNXWzB4MWJdP0poTVVUR1g9aHVvY3JrZzpodW9jcmtnPD16OUxORGNXWzB4MjZdP0poTVVUR1g9KGh1b2Nya2cmMHgxZik8PHo5TE5EY1dbMHg2XXxQc3hldnJbVGN4WVlrbSsrXSZ6OUxORGNXWzB4NV06aHVvY3JrZzw9ejlMTkRjV1sweDI3XT9KaE1VVEdYPShodW9jcmtnJjB4Zik8PHo5TE5EY1dbMHg5XXwoUHN4ZXZyW1RjeFlZa20rK10mejlMTkRjV1sweDVdKTw8ejlMTkRjV1sweDZdfFBzeGV2cltUY3hZWWttKytdJno5TE5EY1dbMHg1XTp3Szc0bVFKW3o5TE5EY1dbMHg3XV0/SmhNVVRHWD0oaHVvY3JrZyZ6OUxORGNXWzB4OF0pPDwweDEyfChQc3hldnJbVGN4WVlrbSsrXSZ6OUxORGNXWzB4NV0pPDx6OUxORGNXWzB4OV18KFBzeGV2cltUY3hZWWttKytdJno5TE5EY1dbMHg1XSk8PHo5TE5EY1dbMHg2XXxQc3hldnJbVGN4WVlrbSsrXSZ6OUxORGNXWzB4NV06KEpoTVVUR1g9ejlMTkRjV1sweDVdLFRjeFlZa20rPXo5TE5EY1dbMHgyZF0pLGJwMUhVRS5wdXNoKGl4OEVyVjRbSmhNVVRHWF18fChpeDhFclY0W0poTVVUR1hdPVB0eW13NyhKaE1VVEdYKSkpKX1yZXR1cm4gYnAxSFVFLmpvaW4oIiIpfX0oKSk7ZnVuY3Rpb24gQ1lFSGF0aChpeDhFclY0KXtyZXR1cm4gdHlwZW9mIFBzeGV2ciE9PXo5TE5EY1dbMHhhXSYmUHN4ZXZyP25ldyBQc3hldnIoKS5kZWNvZGUobmV3IEpoTVVUR1goaXg4RXJWNCkpOnR5cGVvZiBodW9jcmtnIT09ejlMTkRjV1sweGFdJiZodW9jcmtnP2h1b2Nya2cuZnJvbShpeDhFclY0KS50b1N0cmluZygidXRmLTgiKTpUY3hZWWttKGl4OEVyVjQpfWZ1bmN0aW9uIFJHd0tlQ1koKXt9Ujl4UnZ5KGlQNjRPbT1PYmplY3RbbDBxaloxKDB4NGUpXSh6OUxORGNXWzB4MWRdKSxtMEl0SjQ9dm9pZCAweDApO2Z1bmN0aW9uIEt4WXJjVHEoYnAxSFVFLFBzeGV2cixKaE1VVEdYLGh1b2Nya2c9e30sd0s3NG1RSixsU1VVRE8wLFRjeFlZa20sUGNBU2lHLEtOZTBpSSl7aWYoIVRjeFlZa20pe1RjeFlZa209ZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKGJwMUhVRSl7dmFyIFBzeGV2cj16OUxORGNXWzB4MF0sSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLFBjQVNpRztSOXhSdnkoSmhNVVRHWD17fSxodW9jcmtnPXo5TE5EY1dbMHgwXSx3Szc0bVFKPXo5TE5EY1dbMHgwXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPWJwMUhVRS5sZW5ndGgpO2ZvcihQY0FTaUc9ejlMTkRjV1sweDBdO1BjQVNpRzxUY3hZWWttO1BjQVNpRysrKXt2YXIgS05lMGlJO1I5eFJ2eShKaE1VVEdYPXt9LGh1b2Nya2c9ejlMTkRjV1sweDBdLHdLNzRtUUo9ejlMTkRjV1sweDFdKTtmb3IoS05lMGlJPVBjQVNpRyt6OUxORGNXWzB4MV07S05lMGlJPFRjeFlZa207S05lMGlJKyspe2lmKGJwMUhVRVtQY0FTaUddLng9PT1icDFIVUVbS05lMGlJXS54JiZicDFIVUVbUGNBU2lHXS55PT09YnAxSFVFW0tOZTBpSV0ueSl7d0s3NG1RSisrO2NvbnRpbnVlfWJwMUhVRVtQY0FTaUddLnk9PT1icDFIVUVbS05lMGlJXS55P2xTVVVETzA9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI6bFNVVURPMD0oYnAxSFVFW1BjQVNpR10ueC1icDFIVUVbS05lMGlJXS54KS8oYnAxSFVFW1BjQVNpR10ueS1icDFIVUVbS05lMGlJXS55KTtpZighSmhNVVRHWFtsU1VVRE8wXSlKaE1VVEdYW2xTVVVETzBdPXo5TE5EY1dbMHgwXTtSOXhSdnkoSmhNVVRHWFtsU1VVRE8wXSsrLGh1b2Nya2c9TWF0aC5tYXgoaHVvY3JrZyxKaE1VVEdYW2xTVVVETzBdKSl9Ujl4UnZ5KGh1b2Nya2crPXdLNzRtUUosUHN4ZXZyPU1hdGgubWF4KFBzeGV2cixodW9jcmtnKSl9cmV0dXJuIFBzeGV2cn07Y29uc29sZS5sb2coYnAxSFVFKX19aWYoIWxTVVVETzApe2xTVVVETzA9ZnVuY3Rpb24oYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPXdLNzRtUUooUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19fWlmKCF3Szc0bVFKKXt3Szc0bVFKPWZ1bmN0aW9uKGJwMUhVRSl7dmFyIFBzeGV2cj0iQWorKiUkfHtCTXcoTmBDX0s5UE8peHlrSV5ARFtGNCZdekpMOG0yRX5pXCJoMSxHfT08LjtIYjY+Py9sOlpuWWFlY2cwM29mVVchNWQ3clEjUlNYVFZwcXZzdHUiLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbSxQY0FTaUcsS05lMGlJO1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0sUGNBU2lHPS16OUxORGNXWzB4MV0pO2ZvcihLTmUwaUk9ejlMTkRjV1sweDBdO0tOZTBpSTxodW9jcmtnO0tOZTBpSSsrKXt2YXIgbDBxaloxPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbS05lMGlJXSk7aWYobDBxaloxPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihQY0FTaUc8ejlMTkRjV1sweDBdKXtQY0FTaUc9bDBxaloxfWVsc2V7Ujl4UnZ5KFBjQVNpRys9bDBxaloxKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1QY0FTaUc8PFRjeFlZa20sVGN4WVlrbSs9KFBjQVNpRyZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO1BjQVNpRz0tejlMTkRjV1sweDFdfX1pZihQY0FTaUc+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfFBjQVNpRzw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX19aWYobFNVVURPMCgweDRmKWluIFJHd0tlQ1kpe1RjeFlZa20oKX1SOXhSdnkoUGNBU2lHPXZvaWQgMHgwLEtOZTBpST17W2xTVVVETzAoMHg1MCldOmZ1bmN0aW9uKGJwMUhVRSxQc3hldnIsSmhNVVRHWCl7aWYoIVBzeGV2cil7UHN4ZXZyPWZ1bmN0aW9uKFBzeGV2cil7aWYodHlwZW9mIGl4OEVyVjRbUHN4ZXZyXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbUHN4ZXZyXT1icDFIVUUoUHR5bXc3W1BzeGV2cl0pfXJldHVybiBpeDhFclY0W1BzeGV2cl19fWlmKCFicDFIVUUpe2JwMUhVRT1mdW5jdGlvbihicDFIVUUpe3ZhciBQc3hldnI9IiQlKn02VEopbUN1NWt0RFErNFwiU2dbNyx4Jjh+RyhLRWxALl1eOjsvOT15UmA8Pz5fbnt8V0ZvVlgjTGhBcCFVaklpek1kcXdCMXJzWkh2MDMyYU5QY09ZZmViIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20sUGNBU2lHLEtOZTBpSTtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLFBjQVNpRz0tejlMTkRjV1sweDFdKTtmb3IoS05lMGlJPXo5TE5EY1dbMHgwXTtLTmUwaUk8aHVvY3JrZztLTmUwaUkrKyl7dmFyIGwwcWpaMT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW0tOZTBpSV0pO2lmKGwwcWpaMT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoUGNBU2lHPHo5TE5EY1dbMHgwXSl7UGNBU2lHPWwwcWpaMX1lbHNle1I5eFJ2eShQY0FTaUcrPWwwcWpaMSp6OUxORGNXWzB4Yl0sbFNVVURPMHw9UGNBU2lHPDxUY3hZWWttLFRjeFlZa20rPShQY0FTaUcmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtQY0FTaUc9LXo5TE5EY1dbMHgxXX19aWYoUGNBU2lHPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxQY0FTaUc8PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9fWRlYnVnZ2VyO0poTVVUR1g9ZG9jdW1lbnRbUHN4ZXZyKDB4NTEpXShQc3hldnIoMHg1MikpW3o5TE5EY1dbMHgwXV07aWYoSmhNVVRHWFtQc3hldnIoMHg1MyldW1BzeGV2cigweDU0KV09PT1Qc3hldnIoMHg1NSkpe2Z1bmN0aW9uIGh1b2Nya2coYnAxSFVFKXt2YXIgUHN4ZXZyPSJTUUFDJCUmKEVbSilfK1dge0cqLEl8Ly5LTDpeTjtAPl1WUkJ9XCJEWD1UVWJGPH5ZYUhNTz9aUGRlZmN4aHl6d2owMWczaW0yNDg2OWtsbiNzITVvN3J0cHF2dSIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLFBjQVNpRyxLTmUwaUk7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxQY0FTaUc9LXo5TE5EY1dbMHgxXSk7Zm9yKEtOZTBpST16OUxORGNXWzB4MF07S05lMGlJPGh1b2Nya2c7S05lMGlJKyspe3ZhciBsMHFqWjE9UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFtLTmUwaUldKTtpZihsMHFqWjE9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKFBjQVNpRzx6OUxORGNXWzB4MF0pe1BjQVNpRz1sMHFqWjF9ZWxzZXtSOXhSdnkoUGNBU2lHKz1sMHFqWjEqejlMTkRjV1sweGJdLGxTVVVETzB8PVBjQVNpRzw8VGN4WVlrbSxUY3hZWWttKz0oUGNBU2lHJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7UGNBU2lHPS16OUxORGNXWzB4MV19fWlmKFBjQVNpRz4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8UGNBU2lHPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIHdLNzRtUUooYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPWh1b2Nya2coUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1mdW5jdGlvbigpe2Z1bmN0aW9uIFBzeGV2cihQc3hldnIpe3ZhciBKaE1VVEdYPSJJSyYkJSgqREdARkNBKXtMSCxKKz5PQkVOTVAvYVJRWVpiLj1UXmRjP2ZdX1NlVnxbYFVXOn5YaHh9emd5O2lqdzMxMGtuXCI8bDI0bW9ycTgjNTkhdHM2N3V2cCIsaHVvY3JrZyxicDFIVUUsd0s3NG1RSixsU1VVRE8wLFRjeFlZa20sUGNBU2lHLEtOZTBpSTtSOXhSdnkoaHVvY3JrZz0iIisoUHN4ZXZyfHwiIiksYnAxSFVFPWh1b2Nya2cubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0sUGNBU2lHPS16OUxORGNXWzB4MV0pO2ZvcihLTmUwaUk9ejlMTkRjV1sweDBdO0tOZTBpSTxicDFIVUU7S05lMGlJKyspe3ZhciBsMHFqWjE9SmhNVVRHWC5pbmRleE9mKGh1b2Nya2dbS05lMGlJXSk7aWYobDBxaloxPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihQY0FTaUc8ejlMTkRjV1sweDBdKXtQY0FTaUc9bDBxaloxfWVsc2V7Ujl4UnZ5KFBjQVNpRys9bDBxaloxKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1QY0FTaUc8PFRjeFlZa20sVGN4WVlrbSs9KFBjQVNpRyZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO1BjQVNpRz0tejlMTkRjV1sweDFdfX1pZihQY0FTaUc+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfFBjQVNpRzw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX1mdW5jdGlvbiBKaE1VVEdYKEpoTVVUR1gpe2lmKHR5cGVvZiBpeDhFclY0W0poTVVUR1hdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtKaE1VVEdYXT1Qc3hldnIoUHR5bXc3W0poTVVUR1hdKX1yZXR1cm4gaXg4RXJWNFtKaE1VVEdYXX1jb25zdCBodW9jcmtnPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIGh1b2Nya2dbSmhNVVRHWCgweDU2KV0oYnAxSFVFKX07aWYoUHN4ZXZyKCkpe3doaWxlKHo5TE5EY1dbMHgxMF0pe319fTtyZXR1cm4gYnAxSFVFKCl9KSgpO2RlYnVnZ2VyO0poTVVUR1hbd0s3NG1RSigweDU3KV1bd0s3NG1RSih6OUxORGNXWzB4ZF0pXT13Szc0bVFKKDB4NTkpfWVsc2V7ZnVuY3Rpb24gbFNVVURPMChicDFIVUUpe3ZhciBQc3hldnI9In4oPF19JEBJOlJgUVRcIkdTSj1eS0RMQiVWLlVXTVBPWFtOfEYre0FfPjtiKVpZP2FILyxkY0UmZUMqZmdoaWprbG5tcHFvcnN1dHZ6eHl3MjEzMDk2NyE4NCM1IixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20sUGNBU2lHLEtOZTBpSTtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLFBjQVNpRz0tejlMTkRjV1sweDFdKTtmb3IoS05lMGlJPXo5TE5EY1dbMHgwXTtLTmUwaUk8aHVvY3JrZztLTmUwaUkrKyl7dmFyIGwwcWpaMT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW0tOZTBpSV0pO2lmKGwwcWpaMT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoUGNBU2lHPHo5TE5EY1dbMHgwXSl7UGNBU2lHPWwwcWpaMX1lbHNle1I5eFJ2eShQY0FTaUcrPWwwcWpaMSp6OUxORGNXWzB4Yl0sbFNVVURPMHw9UGNBU2lHPDxUY3hZWWttLFRjeFlZa20rPShQY0FTaUcmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtQY0FTaUc9LXo5TE5EY1dbMHgxXX19aWYoUGNBU2lHPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxQY0FTaUc8PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gVGN4WVlrbShicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09bFNVVURPMChQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1kZWJ1Z2dlcjtKaE1VVEdYW1RjeFlZa20oMHg1YSldW1RjeFlZa20oejlMTkRjV1sweGJdKV09VGN4WVlrbSgweDVjKX19fSk7aWYoUHN4ZXZyPT09bFNVVURPMCgweDVkKSl7bTBJdEo0PVtdfWlmKFBzeGV2cj09PWxTVVVETzAoMHg1ZSkpe2Z1bmN0aW9uIGwwcWpaMSgpe3ZhciBQc3hldnI9ZnVuY3Rpb24oLi4uUHN4ZXZyKXttMEl0SjQ9UHN4ZXZyO3JldHVybiBLTmUwaUlbYnAxSFVFXS5hcHBseSh0aGlzKX0sSmhNVVRHWDtKaE1VVEdYPWh1b2Nya2dbYnAxSFVFXTtpZihKaE1VVEdYKXtjNG9XZ2ozKFBzeGV2cixKaE1VVEdYKX1yZXR1cm4gUHN4ZXZyfVBjQVNpRz1pUDY0T21bYnAxSFVFXXx8KGlQNjRPbVticDFIVUVdPWwwcWpaMSgpKX1lbHNle1BjQVNpRz1LTmUwaUlbYnAxSFVFXSgpfWlmKEpoTVVUR1g9PT1sU1VVRE8wKDB4NWYpKXtmdW5jdGlvbiB0NnFlMldMKGJwMUhVRSl7dmFyIFBzeGV2cj0iVlVYV1JTSVRLUUNaQWJKZExhTk9jUE1CRFlFZmVGSEdnbW82cXhobDRrajV3N2k5cDh5IW5yI3pzdXZ0MjEwMyYvQF1eW2A6JC47KCU9PCorXyl8e359XCIsPj8iLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbSxQY0FTaUcsS05lMGlJO1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0sUGNBU2lHPS16OUxORGNXWzB4MV0pO2ZvcihLTmUwaUk9ejlMTkRjV1sweDBdO0tOZTBpSTxodW9jcmtnO0tOZTBpSSsrKXt2YXIgbDBxaloxPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbS05lMGlJXSk7aWYobDBxaloxPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihQY0FTaUc8ejlMTkRjV1sweDBdKXtQY0FTaUc9bDBxaloxfWVsc2V7Ujl4UnZ5KFBjQVNpRys9bDBxaloxKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1QY0FTaUc8PFRjeFlZa20sVGN4WVlrbSs9KFBjQVNpRyZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO1BjQVNpRz0tejlMTkRjV1sweDFdfX1pZihQY0FTaUc+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfFBjQVNpRzw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX1mdW5jdGlvbiBLeFlyY1RxKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT10NnFlMldMKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfXJldHVybntbS3hZcmNUcSgweDYwKV06UGNBU2lHfX1lbHNle3JldHVybiBQY0FTaUd9fWZ1bmN0aW9uIGM0b1dnajMoYnAxSFVFLFBzeGV2cj16OUxORGNXWzB4MV0pe2Z1bmN0aW9uIEpoTVVUR1goYnAxSFVFKXt2YXIgUHN4ZXZyPSJeOiVbRkVASCRdTl8vR2AuQ0RNTztQe3wofkE8PSZMfUtJXCIpPkpCP1JWKlNUUSwrVVhXZGZjWmFlWWJnamhpa21ubHRwc291dnFyITUyODA5M3cxNzR6NiN4eSIsSmhNVVRHWCxodW9jcmtnLGl4OEVyVjQsUHR5bXc3LHdLNzRtUUosbFNVVURPMCxUY3hZWWttO1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLGl4OEVyVjQ9W10sUHR5bXc3PXo5TE5EY1dbMHgwXSx3Szc0bVFKPXo5TE5EY1dbMHgwXSxsU1VVRE8wPS16OUxORGNXWzB4MV0pO2ZvcihUY3hZWWttPXo5TE5EY1dbMHgwXTtUY3hZWWttPGh1b2Nya2c7VGN4WVlrbSsrKXt2YXIgaVA2NE9tPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbVGN4WVlrbV0pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYobFNVVURPMDx6OUxORGNXWzB4MF0pe2xTVVVETzA9aVA2NE9tfWVsc2V7Ujl4UnZ5KGxTVVVETzArPWlQNjRPbSp6OUxORGNXWzB4Yl0sUHR5bXc3fD1sU1VVRE8wPDx3Szc0bVFKLHdLNzRtUUorPShsU1VVRE8wJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eShpeDhFclY0LnB1c2goUHR5bXc3Jno5TE5EY1dbMHgzXSksUHR5bXc3Pj49ejlMTkRjV1sweDJdLHdLNzRtUUotPXo5TE5EY1dbMHgyXSl9d2hpbGUod0s3NG1RSj56OUxORGNXWzB4OF0pO2xTVVVETzA9LXo5TE5EY1dbMHgxXX19aWYobFNVVURPMD4tejlMTkRjV1sweDFdKXtpeDhFclY0LnB1c2goKFB0eW13N3xsU1VVRE8wPDx3Szc0bVFKKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKGl4OEVyVjQpfWZ1bmN0aW9uIGh1b2Nya2coYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPUpoTVVUR1goUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19T2JqZWN0W2h1b2Nya2coMHg2MSldKGJwMUhVRSxodW9jcmtnKDB4NjIpLHtbaHVvY3JrZygweDYzKV06UHN4ZXZyLFtodW9jcmtnKHo5TE5EY1dbMHgyY10pXTp6OUxORGNXWzB4MTFdfSk7cmV0dXJuIGJwMUhVRX0oZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gUHN4ZXZyKFBzeGV2cil7dmFyIEpoTVVUR1g9IltBeGhnKFh5JTBAayR3XSYpXlZVLCorfC86LjFgXzJ7fjs8PX1cIj56P1czbTQ1VEJDRDY3SFJqR0ZRRVNpY2w5ISM4bnFwSm9lZHJ2WnN0WWF1S0liZkxOT1BNIixodW9jcmtnLGJwMUhVRSxpeDhFclY0LFB0eW13Nyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbTtSOXhSdnkoaHVvY3JrZz0iIisoUHN4ZXZyfHwiIiksYnAxSFVFPWh1b2Nya2cubGVuZ3RoLGl4OEVyVjQ9W10sUHR5bXc3PXo5TE5EY1dbMHgwXSx3Szc0bVFKPXo5TE5EY1dbMHgwXSxsU1VVRE8wPS16OUxORGNXWzB4MV0pO2ZvcihUY3hZWWttPXo5TE5EY1dbMHgwXTtUY3hZWWttPGJwMUhVRTtUY3hZWWttKyspe3ZhciBpUDY0T209SmhNVVRHWC5pbmRleE9mKGh1b2Nya2dbVGN4WVlrbV0pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYobFNVVURPMDx6OUxORGNXWzB4MF0pe2xTVVVETzA9aVA2NE9tfWVsc2V7Ujl4UnZ5KGxTVVVETzArPWlQNjRPbSp6OUxORGNXWzB4Yl0sUHR5bXc3fD1sU1VVRE8wPDx3Szc0bVFKLHdLNzRtUUorPShsU1VVRE8wJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eShpeDhFclY0LnB1c2goUHR5bXc3Jno5TE5EY1dbMHgzXSksUHR5bXc3Pj49ejlMTkRjV1sweDJdLHdLNzRtUUotPXo5TE5EY1dbMHgyXSl9d2hpbGUod0s3NG1RSj56OUxORGNXWzB4OF0pO2xTVVVETzA9LXo5TE5EY1dbMHgxXX19aWYobFNVVURPMD4tejlMTkRjV1sweDFdKXtpeDhFclY0LnB1c2goKFB0eW13N3xsU1VVRE8wPDx3Szc0bVFKKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKGl4OEVyVjQpfWZ1bmN0aW9uIEpoTVVUR1goSmhNVVRHWCl7aWYodHlwZW9mIGl4OEVyVjRbSmhNVVRHWF09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W0poTVVUR1hdPVBzeGV2cihQdHltdzdbSmhNVVRHWF0pfXJldHVybiBpeDhFclY0W0poTVVUR1hdfWNvbnN0IGh1b2Nya2c9bmV3IFJlZ0V4cCh6OUxORGNXWzB4MTJdKTtyZXR1cm4gaHVvY3JrZ1tKaE1VVEdYKDB4NjUpXShicDFIVUUpfTtpZihQc3hldnIoKSl7d2hpbGUoejlMTkRjV1sweDEwXSl7fX19O3JldHVybiBicDFIVUUoKX0pKCk7ZnVuY3Rpb24geUw3dnFmKGl4OEVyVjQsUHR5bXc3KXt2YXIgYnAxSFVFO1I5eFJ2eShQdHltdzd8PXo5TE5EY1dbMHgwXSxicDFIVUU9KGl4OEVyVjQmMHgzZmZmZmYpKlB0eW13Nyk7aWYoaXg4RXJWNCZ6OUxORGNXWzB4MTNdKWJwMUhVRSs9KGl4OEVyVjQmejlMTkRjV1sweDEzXSkqUHR5bXc3fHo5TE5EY1dbMHgwXTtyZXR1cm4gYnAxSFVFfHo5TE5EY1dbMHgwXX1QY0FTaUc9TWF0aFtsMHFqWjEoMHg2NildfHx5TDd2cWY7ZnVuY3Rpb24gRVUwZTMwKGl4OEVyVjQsUHR5bXc3KXt2YXIgYnAxSFVFPTB4ZGVhZGJlZWZeUHR5bXc3LFBzeGV2cjtQc3hldnI9MHg0MWM2Y2U1N15QdHltdzc7Zm9yKHZhciBKaE1VVEdYPXo5TE5EY1dbMHgwXSxodW9jcmtnO0poTVVUR1g8aXg4RXJWNC5sZW5ndGg7SmhNVVRHWCsrKXtSOXhSdnkoaHVvY3JrZz1peDhFclY0LmNoYXJDb2RlQXQoSmhNVVRHWCksYnAxSFVFPVBjQVNpRyhicDFIVUVeaHVvY3JrZywweDllMzc3OWIxKSxQc3hldnI9UGNBU2lHKFBzeGV2cl5odW9jcmtnLDB4NWYzNTY0OTUpKX1SOXhSdnkoYnAxSFVFPVBjQVNpRyhicDFIVUVeYnAxSFVFPj4+ejlMTkRjV1sweDE0XSx6OUxORGNXWzB4MTVdKV5QY0FTaUcoUHN4ZXZyXlBzeGV2cj4+Pno5TE5EY1dbMHhlXSx6OUxORGNXWzB4MTZdKSxQc3hldnI9UGNBU2lHKFBzeGV2cl5Qc3hldnI+Pj56OUxORGNXWzB4MTRdLHo5TE5EY1dbMHgxNV0pXlBjQVNpRyhicDFIVUVeYnAxSFVFPj4+ejlMTkRjV1sweGVdLHo5TE5EY1dbMHgxNl0pKTtyZXR1cm4gMHgxMDAwMDAwMDAqKDB4MWZmZmZmJlBzeGV2cikrKGJwMUhVRT4+Pno5TE5EY1dbMHgwXSl9ZnVuY3Rpb24gVVYwSVpzKGJwMUhVRSxQc3hldnIsSmhNVVRHWD1uZXcgUmVnRXhwKGwwcWpaMSgweDY3KSwiZyIpKXt2YXIgaHVvY3JrZztmdW5jdGlvbiB3Szc0bVFKKGJwMUhVRSl7dmFyIFBzeGV2cj0iJE0lTiZIRURQRyhBKypPQkosSylMLi9JOjtGQ1M/YlFUPD0+UmBZe118QF5bX1p9YWVcIn5jWGRmVVZXbTR5Z2w2a243aWhqNXB4OTh3cXpvcjJ1dHN2MCEjMTMiLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsaXg4RXJWNCxQdHltdzcsVGN4WVlrbTtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLGl4OEVyVjQ9ejlMTkRjV1sweDBdLFB0eW13Nz0tejlMTkRjV1sweDFdKTtmb3IoVGN4WVlrbT16OUxORGNXWzB4MF07VGN4WVlrbTxodW9jcmtnO1RjeFlZa20rKyl7dmFyIGlQNjRPbT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW1RjeFlZa21dKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKFB0eW13Nzx6OUxORGNXWzB4MF0pe1B0eW13Nz1pUDY0T219ZWxzZXtSOXhSdnkoUHR5bXc3Kz1pUDY0T20qejlMTkRjV1sweGJdLGxTVVVETzB8PVB0eW13Nzw8aXg4RXJWNCxpeDhFclY0Kz0oUHR5bXc3Jno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0saXg4RXJWNC09ejlMTkRjV1sweDJdKX13aGlsZShpeDhFclY0Pno5TE5EY1dbMHg4XSk7UHR5bXc3PS16OUxORGNXWzB4MV19fWlmKFB0eW13Nz4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8UHR5bXc3PDxpeDhFclY0KSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIGxTVVVETzAoYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPXdLNzRtUUooUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19aHVvY3JrZz1icDFIVUVbbDBxaloxKDB4NjgpXSgpW2xTVVVETzAoMHg2OSldKEpoTVVUR1gsIiIpO3JldHVybiBFVTBlMzAoaHVvY3JrZyxQc3hldnIpfWZ1bmN0aW9uIHhJcEpQUygpe3ZhciBicDFIVUU7ZnVuY3Rpb24gUHN4ZXZyKGJwMUhVRSxQc3hldnIpe2NvbnN0IEpoTVVUR1g9YnAxSFVFLmxlbmd0aCxodW9jcmtnPVBzeGV2ci5sZW5ndGg7bGV0IHdLNzRtUUo9ejlMTkRjV1sweDBdO2lmKGh1b2Nya2c+SmhNVVRHWCl7cmV0dXJuLXo5TE5EY1dbMHgxXX1mb3IobGV0IGxTVVVETzA9ejlMTkRjV1sweDBdO2xTVVVETzA8PUpoTVVUR1gtaHVvY3JrZztsU1VVRE8wKyspZm9yKGxldCBpeDhFclY0PXo5TE5EY1dbMHgwXTtpeDhFclY0PGh1b2Nya2c7aXg4RXJWNCsrKWlmKGJwMUhVRVtsU1VVRE8wK2l4OEVyVjRdPT09UHN4ZXZyW2l4OEVyVjRdKXt3Szc0bVFKKys7aWYod0s3NG1RSj09PWh1b2Nya2cpe3JldHVybiBsU1VVRE8wfX1lbHNle3dLNzRtUUo9ejlMTkRjV1sweDBdO2JyZWFrfXJldHVybi16OUxORGNXWzB4MV19ZnVuY3Rpb24gSmhNVVRHWChicDFIVUUpe2Z1bmN0aW9uIEpoTVVUR1goYnAxSFVFKXt2YXIgSmhNVVRHWD0iSUpLTERBT0JOQ01QSEVHRlZRWFJTVFVXWWJkWmFmZWN5ajF3aGcwa2wybXozeCM4bjkhNml1NG81cHFyN3N0dltAKC89XV5gPD8re18pPiQ6JS4sOyomfH59XCIiLGh1b2Nya2csUHN4ZXZyLHdLNzRtUUosbFNVVURPMCxpeDhFclY0LFB0eW13NyxUY3hZWWttO1I5eFJ2eShodW9jcmtnPSIiKyhicDFIVUV8fCIiKSxQc3hldnI9aHVvY3JrZy5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxpeDhFclY0PXo5TE5EY1dbMHgwXSxQdHltdzc9LXo5TE5EY1dbMHgxXSk7Zm9yKFRjeFlZa209ejlMTkRjV1sweDBdO1RjeFlZa208UHN4ZXZyO1RjeFlZa20rKyl7dmFyIGlQNjRPbT1KaE1VVEdYLmluZGV4T2YoaHVvY3JrZ1tUY3hZWWttXSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihQdHltdzc8ejlMTkRjV1sweDBdKXtQdHltdzc9aVA2NE9tfWVsc2V7Ujl4UnZ5KFB0eW13Nys9aVA2NE9tKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1QdHltdzc8PGl4OEVyVjQsaXg4RXJWNCs9KFB0eW13NyZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLGl4OEVyVjQtPXo5TE5EY1dbMHgyXSl9d2hpbGUoaXg4RXJWND56OUxORGNXWzB4OF0pO1B0eW13Nz0tejlMTkRjV1sweDFdfX1pZihQdHltdzc+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfFB0eW13Nzw8aXg4RXJWNCkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX1mdW5jdGlvbiBodW9jcmtnKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1KaE1VVEdYKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfWlmKFBzeGV2cigiIiticDFIVUUsaHVvY3JrZygweDZhKSk9PT0tejlMTkRjV1sweDFdfHx0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihicDFIVUUsaHVvY3JrZygweDZiKSkhPT1odW9jcmtnKDB4NmMpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9cmV0dXJuIHo5TE5EY1dbMHgxN119cmV0dXJuIGJwMUhVRX1icDFIVUU9YXJndW1lbnRzO2lmKGJwMUhVRS5sZW5ndGg9PT16OUxORGNXWzB4MV0pe3JldHVybiBKaE1VVEdYKGJwMUhVRVt6OUxORGNXWzB4MF1dKX1lbHNlIGlmKGJwMUhVRS5sZW5ndGg9PT16OUxORGNXWzB4MjNdKXt2YXIgaHVvY3JrZz1icDFIVUVbejlMTkRjV1sweDBdXSx3Szc0bVFKLGxTVVVETzA7Ujl4UnZ5KHdLNzRtUUo9YnAxSFVFW3o5TE5EY1dbMHgxXV0sbFNVVURPMD1odW9jcmtnW3dLNzRtUUpdLGxTVVVETzA9SmhNVVRHWChsU1VVRE8wKSk7cmV0dXJuIGxTVVVETzAuYmluZChodW9jcmtnKX19KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYnAxSFVFKCl7dHJ5e3ZhciBicDFIVUU7ZnVuY3Rpb24gUHN4ZXZyKGJwMUhVRSl7dmFyIFBzeGV2cj0iUiQlJkJBKENELFVWSCtFRipTRyk9LlFKVDw6V1g+O0lZWmJhL0w/S05bY01+XCJQZEBefU9dX3xlZmB5e2ppaCF4cWd3bHA0a243NSM4em02MDI5MW9yM3Z0dXMiLEpoTVVUR1gsaHVvY3JrZyxpeDhFclY0LFB0eW13Nyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbTtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCxpeDhFclY0PVtdLFB0eW13Nz16OUxORGNXWzB4MF0sd0s3NG1RSj16OUxORGNXWzB4MF0sbFNVVURPMD0tejlMTkRjV1sweDFdKTtmb3IoVGN4WVlrbT16OUxORGNXWzB4MF07VGN4WVlrbTxodW9jcmtnO1RjeFlZa20rKyl7dmFyIGlQNjRPbT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW1RjeFlZa21dKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGxTVVVETzA8ejlMTkRjV1sweDBdKXtsU1VVRE8wPWlQNjRPbX1lbHNle1I5eFJ2eShsU1VVRE8wKz1pUDY0T20qejlMTkRjV1sweGJdLFB0eW13N3w9bFNVVURPMDw8d0s3NG1RSix3Szc0bVFKKz0obFNVVURPMCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkoaXg4RXJWNC5wdXNoKFB0eW13NyZ6OUxORGNXWzB4M10pLFB0eW13Nz4+PXo5TE5EY1dbMHgyXSx3Szc0bVFKLT16OUxORGNXWzB4Ml0pfXdoaWxlKHdLNzRtUUo+ejlMTkRjV1sweDhdKTtsU1VVRE8wPS16OUxORGNXWzB4MV19fWlmKGxTVVVETzA+LXo5TE5EY1dbMHgxXSl7aXg4RXJWNC5wdXNoKChQdHltdzd8bFNVVURPMDw8d0s3NG1RSikmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aChpeDhFclY0KX1mdW5jdGlvbiBKaE1VVEdYKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1Qc3hldnIoUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19Ujl4UnZ5KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiBQc3hldnJbbDBxaloxKHo5TE5EY1dbMHgxYV0pXShicDFIVUUpfTtpZihQc3hldnIoKSl7d2hpbGUoejlMTkRjV1sweDEwXSl7fX19O3JldHVybiBicDFIVUUoKX0oKSxicDFIVUU9W10sZGVsZXRlIGJwMUhVRVtKaE1VVEdYKDB4NmUpXSl9Y2F0Y2goaHVvY3JrZyl7cmV0dXJuIHo5TE5EY1dbMHgxMF19cmV0dXJuIHo5TE5EY1dbMHgxMV19aWYoYnAxSFVFKCkpe3doaWxlKHo5TE5EY1dbMHgxMF0pZGVidWdnZXI7eElwSlBTPXo5TE5EY1dbMHgxN119fSkoKTtmdW5jdGlvbiB3X21DT2soYnAxSFVFLFBzeGV2cixKaE1VVEdYKXtpZighUHN4ZXZyKXtQc3hldnI9ZnVuY3Rpb24oUHN4ZXZyKXtpZih0eXBlb2YgaXg4RXJWNFtQc3hldnJdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtQc3hldnJdPWJwMUhVRShQdHltdzdbUHN4ZXZyXSl9cmV0dXJuIGl4OEVyVjRbUHN4ZXZyXX19aWYoIWJwMUhVRSl7YnAxSFVFPWZ1bmN0aW9uKGJwMUhVRSl7dmFyIFBzeGV2cj0iU1JsQnRBcERDR2lraG5FbXJRRmdISlRLakx2SVpvY2RNTnVzcTlXT1BmZTRhWVg4eFVWd2J5IXojMzAyNTcxNkAvJF1gXls6KjsmfF8uJXt9KD1+KVwiKyw8Pz4iLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbSxpeDhFclY0LFB0eW13NztSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGl4OEVyVjQ9LXo5TE5EY1dbMHgxXSk7Zm9yKFB0eW13Nz16OUxORGNXWzB4MF07UHR5bXc3PGh1b2Nya2c7UHR5bXc3Kyspe3ZhciBpUDY0T209UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFtQdHltdzddKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGl4OEVyVjQ8ejlMTkRjV1sweDBdKXtpeDhFclY0PWlQNjRPbX1lbHNle1I5eFJ2eShpeDhFclY0Kz1pUDY0T20qejlMTkRjV1sweGJdLGxTVVVETzB8PWl4OEVyVjQ8PFRjeFlZa20sVGN4WVlrbSs9KGl4OEVyVjQmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpeDhFclY0PS16OUxORGNXWzB4MV19fWlmKGl4OEVyVjQ+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfGl4OEVyVjQ8PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9fUpoTVVUR1g9ZG9jdW1lbnRbUHN4ZXZyKDB4NmYpXShQc3hldnIoMHg3MCkpW3o5TE5EY1dbMHgwXV07aWYoSmhNVVRHWFtQc3hldnIoejlMTkRjV1sweDE4XSldW1BzeGV2cigweDcyKV09PT1Qc3hldnIoMHg3Mykpe2Z1bmN0aW9uIGh1b2Nya2coYnAxSFVFKXt2YXIgUHN4ZXZyPSJrUElsVmhKbWlXZ1VRYU9qSEFucW9wWnJCWHVHRXN0djY1NE5SQ1NUS0ZNWUQ3TGIhZTM4ZjAjZDFjMjl4enl3JSQmKCspLCovOjwuPz0+O0BbXn5cIl19YHtffCIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGl4OEVyVjQsUHR5bXc3O1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0saXg4RXJWND0tejlMTkRjV1sweDFdKTtmb3IoUHR5bXc3PXo5TE5EY1dbMHgwXTtQdHltdzc8aHVvY3JrZztQdHltdzcrKyl7dmFyIGlQNjRPbT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW1B0eW13N10pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaXg4RXJWNDx6OUxORGNXWzB4MF0pe2l4OEVyVjQ9aVA2NE9tfWVsc2V7Ujl4UnZ5KGl4OEVyVjQrPWlQNjRPbSp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aXg4RXJWNDw8VGN4WVlrbSxUY3hZWWttKz0oaXg4RXJWNCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO2l4OEVyVjQ9LXo5TE5EY1dbMHgxXX19aWYoaXg4RXJWND4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aXg4RXJWNDw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX1mdW5jdGlvbiB3Szc0bVFKKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1odW9jcmtnKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfUpoTVVUR1hbUHN4ZXZyKHo5TE5EY1dbMHgxOF0pXVt3Szc0bVFKKDB4NzQpXT13Szc0bVFKKDB4NzUpfWVsc2V7ZnVuY3Rpb24gbFNVVURPMChicDFIVUUpe3ZhciBQc3hldnI9IkZFQlVWSEFTQ0dUREpXSVhMS09RUmVNZk5QZGNhWWJacjR6bG15NnVneG92dHN3aDEwNXAzcWlqNzI4a245ISN8XSVbQGAmXntfJH4qKCksK31cIjouPTw+Lz87IixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saXg4RXJWNCxQdHltdzc7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpeDhFclY0PS16OUxORGNXWzB4MV0pO2ZvcihQdHltdzc9ejlMTkRjV1sweDBdO1B0eW13NzxodW9jcmtnO1B0eW13NysrKXt2YXIgaVA2NE9tPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbUHR5bXc3XSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpeDhFclY0PHo5TE5EY1dbMHgwXSl7aXg4RXJWND1pUDY0T219ZWxzZXtSOXhSdnkoaXg4RXJWNCs9aVA2NE9tKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1peDhFclY0PDxUY3hZWWttLFRjeFlZa20rPShpeDhFclY0Jno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpeDhFclY0PDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIFRjeFlZa20oYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPWxTVVVETzAoUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19Ujl4UnZ5KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRTtSOXhSdnkoZnVuY3Rpb24oKXt2YXIgSmhNVVRHWD1mdW5jdGlvbigpe2NvbnN0IGh1b2Nya2c9ZnVuY3Rpb24oKXtjb25zdCBodW9jcmtnPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIGh1b2Nya2dbUHN4ZXZyKHo5TE5EY1dbMHgxOV0pXShKaE1VVEdYKX07aWYoaHVvY3JrZygpKXtpZihQc3hldnIoMHg3NylpbiBSR3dLZUNZKXt3Szc0bVFKKCl9ZnVuY3Rpb24gd0s3NG1RSigpe3ZhciBodW9jcmtnPWZ1bmN0aW9uKGh1b2Nya2csSmhNVVRHWCxicDFIVUUpe3ZhciBQc3hldnI9e307aWYoYnAxSFVFLmxlbmd0aCE9PWh1b2Nya2cubGVuZ3RoK0poTVVUR1gubGVuZ3RoKXJldHVybiB6OUxORGNXWzB4MTFdO3JldHVybiB3Szc0bVFKKGh1b2Nya2csSmhNVVRHWCxicDFIVUUsejlMTkRjV1sweDBdLHo5TE5EY1dbMHgwXSx6OUxORGNXWzB4MF0sUHN4ZXZyKX0sd0s3NG1RSjtSOXhSdnkod0s3NG1RSj1mdW5jdGlvbihodW9jcmtnLEpoTVVUR1gsYnAxSFVFLFBzeGV2cixsU1VVRE8wLFRjeFlZa20saXg4RXJWNCl7dmFyIFB0eW13Nz16OUxORGNXWzB4MTFdO2lmKFRjeFlZa20+PWJwMUhVRS5sZW5ndGgpcmV0dXJuIHo5TE5EY1dbMHgxMF07aWYoaXg4RXJWNFsiIitQc3hldnIrbFNVVURPMCtUY3hZWWttXSE9PXo5TE5EY1dbMHgxN10pcmV0dXJuIGl4OEVyVjRbIiIrUHN4ZXZyK2xTVVVETzArVGN4WVlrbV07aWYoYnAxSFVFW1RjeFlZa21dPT09aHVvY3JrZ1tQc3hldnJdJiZicDFIVUVbVGN4WVlrbV09PT1KaE1VVEdYW2xTVVVETzBdKXtQdHltdzc9d0s3NG1RSihodW9jcmtnLEpoTVVUR1gsYnAxSFVFLFBzeGV2cit6OUxORGNXWzB4MV0sbFNVVURPMCxUY3hZWWttK3o5TE5EY1dbMHgxXSxpeDhFclY0KXx8d0s3NG1RSihodW9jcmtnLEpoTVVUR1gsYnAxSFVFLFBzeGV2cixsU1VVRE8wK3o5TE5EY1dbMHgxXSxUY3hZWWttK3o5TE5EY1dbMHgxXSxpeDhFclY0KX1lbHNlIGlmKGJwMUhVRVtUY3hZWWttXT09PWh1b2Nya2dbUHN4ZXZyXSl7UHR5bXc3PXdLNzRtUUooaHVvY3JrZyxKaE1VVEdYLGJwMUhVRSxQc3hldnIrejlMTkRjV1sweDFdLGxTVVVETzAsVGN4WVlrbSt6OUxORGNXWzB4MV0saXg4RXJWNCl9ZWxzZSBpZihicDFIVUVbVGN4WVlrbV09PT1KaE1VVEdYW2xTVVVETzBdKXtQdHltdzc9d0s3NG1RSihodW9jcmtnLEpoTVVUR1gsYnAxSFVFLFBzeGV2cixsU1VVRE8wK3o5TE5EY1dbMHgxXSxUY3hZWWttK3o5TE5EY1dbMHgxXSxpeDhFclY0KX1peDhFclY0WyIiK1BzeGV2citsU1VVRE8wK1RjeFlZa21dPVB0eW13NztyZXR1cm4gUHR5bXc3fSxjb25zb2xlLmxvZyhodW9jcmtnKSl9d2hpbGUoejlMTkRjV1sweDEwXSl7fX19O3JldHVybiBKaE1VVEdYKCl9KCksYnAxSFVFPWZ1bmN0aW9uKCl7Y29uc3QgSmhNVVRHWD1mdW5jdGlvbigpe2NvbnN0IEpoTVVUR1g9bmV3IFJlZ0V4cCh6OUxORGNXWzB4MTJdKTtyZXR1cm4gSmhNVVRHWFtQc3hldnIoejlMTkRjV1sweDE5XSldKGJwMUhVRSl9O2lmKEpoTVVUR1goKSl7ZGVidWdnZXI7d2hpbGUoejlMTkRjV1sweDEwXSl7fX19KTtyZXR1cm4gYnAxSFVFKCl9KCksSmhNVVRHWFtUY3hZWWttKDB4NzgpXVtUY3hZWWttKDB4NzkpXT1UY3hZWWttKDB4N2EpKX19ZnVuY3Rpb24gQ0g4QlplQihicDFIVUUsUHN4ZXZyKXtpZighUHN4ZXZyKXtQc3hldnI9ZnVuY3Rpb24oUHN4ZXZyKXtpZih0eXBlb2YgaXg4RXJWNFtQc3hldnJdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtQc3hldnJdPWJwMUhVRShQdHltdzdbUHN4ZXZyXSl9cmV0dXJuIGl4OEVyVjRbUHN4ZXZyXX19aWYoIWJwMUhVRSl7YnAxSFVFPWZ1bmN0aW9uKGJwMUhVRSl7dmFyIFBzeGV2cj0ibWhVWmtnbFFuZFNpam9iWGN1c3RyZnZxcFAwQUdWMXdFMnh5M3o0RllCNTZKTUNlYTc5RDhOUiMhSE9XSVRLTFslJEBfJnt8KCpgXV59XCJ+KywpLy46Oz08Pj8iLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGl4OEVyVjQsUHR5bXc3LGxTVVVETzAsVGN4WVlrbTtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGl4OEVyVjQ9ejlMTkRjV1sweDBdLFB0eW13Nz16OUxORGNXWzB4MF0sbFNVVURPMD0tejlMTkRjV1sweDFdKTtmb3IoVGN4WVlrbT16OUxORGNXWzB4MF07VGN4WVlrbTxodW9jcmtnO1RjeFlZa20rKyl7dmFyIGlQNjRPbT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW1RjeFlZa21dKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGxTVVVETzA8ejlMTkRjV1sweDBdKXtsU1VVRE8wPWlQNjRPbX1lbHNle1I5eFJ2eShsU1VVRE8wKz1pUDY0T20qejlMTkRjV1sweGJdLGl4OEVyVjR8PWxTVVVETzA8PFB0eW13NyxQdHltdzcrPShsU1VVRE8wJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2goaXg4RXJWNCZ6OUxORGNXWzB4M10pLGl4OEVyVjQ+Pj16OUxORGNXWzB4Ml0sUHR5bXc3LT16OUxORGNXWzB4Ml0pfXdoaWxlKFB0eW13Nz56OUxORGNXWzB4OF0pO2xTVVVETzA9LXo5TE5EY1dbMHgxXX19aWYobFNVVURPMD4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGl4OEVyVjR8bFNVVURPMDw8UHR5bXc3KSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfX1SOXhSdnkoZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIFBzeGV2cltsMHFqWjEoejlMTkRjV1sweDFhXSldKGJwMUhVRSl9O2lmKFBzeGV2cigpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIGJwMUhVRSgpfSgpLGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2Z1bmN0aW9uIFBzeGV2cihQc3hldnIpe3ZhciBKaE1VVEdYPSJpaEtCXi5TZ346JV98bVIoQUprbiQmXCJRbC99QCtqYHR7XXAqb1ssdSk7cz5xPUN2cj88NFRVTElEVnl4d3pQV1haWU9hTWI1MkU3MDYxZE5jZjNlRyFIRjkjOCIsaHVvY3JrZyx3Szc0bVFKLGJwMUhVRSxpeDhFclY0LFB0eW13NyxsU1VVRE8wLFRjeFlZa207Ujl4UnZ5KGh1b2Nya2c9IiIrKFBzeGV2cnx8IiIpLHdLNzRtUUo9aHVvY3JrZy5sZW5ndGgsYnAxSFVFPVtdLGl4OEVyVjQ9ejlMTkRjV1sweDBdLFB0eW13Nz16OUxORGNXWzB4MF0sbFNVVURPMD0tejlMTkRjV1sweDFdKTtmb3IoVGN4WVlrbT16OUxORGNXWzB4MF07VGN4WVlrbTx3Szc0bVFKO1RjeFlZa20rKyl7dmFyIGlQNjRPbT1KaE1VVEdYLmluZGV4T2YoaHVvY3JrZ1tUY3hZWWttXSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihsU1VVRE8wPHo5TE5EY1dbMHgwXSl7bFNVVURPMD1pUDY0T219ZWxzZXtSOXhSdnkobFNVVURPMCs9aVA2NE9tKno5TE5EY1dbMHhiXSxpeDhFclY0fD1sU1VVRE8wPDxQdHltdzcsUHR5bXc3Kz0obFNVVURPMCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkoYnAxSFVFLnB1c2goaXg4RXJWNCZ6OUxORGNXWzB4M10pLGl4OEVyVjQ+Pj16OUxORGNXWzB4Ml0sUHR5bXc3LT16OUxORGNXWzB4Ml0pfXdoaWxlKFB0eW13Nz56OUxORGNXWzB4OF0pO2xTVVVETzA9LXo5TE5EY1dbMHgxXX19aWYobFNVVURPMD4tejlMTkRjV1sweDFdKXticDFIVUUucHVzaCgoaXg4RXJWNHxsU1VVRE8wPDxQdHltdzcpJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgoYnAxSFVFKX1mdW5jdGlvbiBKaE1VVEdYKEpoTVVUR1gpe2lmKHR5cGVvZiBpeDhFclY0W0poTVVUR1hdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtKaE1VVEdYXT1Qc3hldnIoUHR5bXc3W0poTVVUR1hdKX1yZXR1cm4gaXg4RXJWNFtKaE1VVEdYXX1pZihKaE1VVEdYKDB4N2IpaW4gUkd3S2VDWSl7aHVvY3JrZygpfWZ1bmN0aW9uIGh1b2Nya2coKXt9Y29uc3Qgd0s3NG1RSj1mdW5jdGlvbigpe2RlYnVnZ2VyO2NvbnN0IFBzeGV2cj1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiBQc3hldnJbSmhNVVRHWCgweDgxKV0oYnAxSFVFKX07aWYod0s3NG1RSigpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIGJwMUhVRSgpfSgpKTtsZXQgSmhNVVRHWD1sb2NhbFN0b3JhZ2VbUHN4ZXZyKDB4ODIpXShQc3hldnIoMHg4MykpO2lmKCFKaE1VVEdYKXtmdW5jdGlvbiBodW9jcmtnKGJwMUhVRSl7dmFyIFBzeGV2cj0iLF9pQF1nL2hqbG07YGtKblNbOiteb3twSS5xcnV8fjx2XCIqfT5MKXM9dDU/JSQ2SyY3eig0eU44OU0jeEVDQSF3MmRSMFExT0JQM1REVUZHSGFXWlZYWWZjZWIiLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGl4OEVyVjQsUHR5bXc3LGxTVVVETzAsVGN4WVlrbTtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGl4OEVyVjQ9ejlMTkRjV1sweDBdLFB0eW13Nz16OUxORGNXWzB4MF0sbFNVVURPMD0tejlMTkRjV1sweDFdKTtmb3IoVGN4WVlrbT16OUxORGNXWzB4MF07VGN4WVlrbTxodW9jcmtnO1RjeFlZa20rKyl7dmFyIGlQNjRPbT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW1RjeFlZa21dKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGxTVVVETzA8ejlMTkRjV1sweDBdKXtsU1VVRE8wPWlQNjRPbX1lbHNle1I5eFJ2eShsU1VVRE8wKz1pUDY0T20qejlMTkRjV1sweGJdLGl4OEVyVjR8PWxTVVVETzA8PFB0eW13NyxQdHltdzcrPShsU1VVRE8wJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2goaXg4RXJWNCZ6OUxORGNXWzB4M10pLGl4OEVyVjQ+Pj16OUxORGNXWzB4Ml0sUHR5bXc3LT16OUxORGNXWzB4Ml0pfXdoaWxlKFB0eW13Nz56OUxORGNXWzB4OF0pO2xTVVVETzA9LXo5TE5EY1dbMHgxXX19aWYobFNVVURPMD4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGl4OEVyVjR8bFNVVURPMDw8UHR5bXc3KSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIHdLNzRtUUooYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPWh1b2Nya2coUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19Ujl4UnZ5KEpoTVVUR1g9TWF0aFt3Szc0bVFKKDB4ODQpXSgpW3dLNzRtUUooMHg4NSldKDB4MjQpW3dLNzRtUUooMHg4NildKCIwLiIsIiIpLGxvY2FsU3RvcmFnZVt3Szc0bVFKKDB4ODcpXSh3Szc0bVFKKDB4ODgpLEpoTVVUR1gpKX1yZXR1cm4gSmhNVVRHWH1mdW5jdGlvbiBocENCc0tKKGJwMUhVRSxQc3hldnIsSmhNVVRHWCxodW9jcmtnKXtpZighaHVvY3JrZyl7aHVvY3JrZz1mdW5jdGlvbihicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09SmhNVVRHWChQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX19aWYoIUpoTVVUR1gpe0poTVVUR1g9ZnVuY3Rpb24oYnAxSFVFKXt2YXIgUHN4ZXZyPSJrbVE5NWxKS0N3bnpoUlNnOGohQUxUVSNWSWlveU40TXBCeDZPRFhxV0ViMEZyWTdHSFBaYWRjMTJmZTNzdHZ1Ji8kOiU/PCg+LjsrPSwpKn5AW11cIl59fGB7XyIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGl4OEVyVjQsUHR5bXc3O1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0saXg4RXJWND0tejlMTkRjV1sweDFdKTtmb3IoUHR5bXc3PXo5TE5EY1dbMHgwXTtQdHltdzc8aHVvY3JrZztQdHltdzcrKyl7dmFyIGlQNjRPbT1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW1B0eW13N10pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaXg4RXJWNDx6OUxORGNXWzB4MF0pe2l4OEVyVjQ9aVA2NE9tfWVsc2V7Ujl4UnZ5KGl4OEVyVjQrPWlQNjRPbSp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aXg4RXJWNDw8VGN4WVlrbSxUY3hZWWttKz0oaXg4RXJWNCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO2l4OEVyVjQ9LXo5TE5EY1dbMHgxXX19aWYoaXg4RXJWND4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aXg4RXJWNDw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX19bGV0IHdLNzRtUUo9VFAwQXA5KGJwMUhVRSk7aWYod0s3NG1RSil7Ujl4UnZ5KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1mdW5jdGlvbigpe2Z1bmN0aW9uIFBzeGV2cihQc3hldnIpe3ZhciBKaE1VVEdYPSJDQUJER0ZFSE9KSU1LTkxQVFNRUlZVV1hZWmFiZGNmZWdycXBvdGhpamx1a21zdm55Izk4d3p4ITI1MDQ2NzEzJiR9WztcIn49X0BdYHw6XnsvJSg/PjwuKykqLCIsaHVvY3JrZyxicDFIVUUsd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saXg4RXJWNCxQdHltdzc7Ujl4UnZ5KGh1b2Nya2c9IiIrKFBzeGV2cnx8IiIpLGJwMUhVRT1odW9jcmtnLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGl4OEVyVjQ9LXo5TE5EY1dbMHgxXSk7Zm9yKFB0eW13Nz16OUxORGNXWzB4MF07UHR5bXc3PGJwMUhVRTtQdHltdzcrKyl7dmFyIGlQNjRPbT1KaE1VVEdYLmluZGV4T2YoaHVvY3JrZ1tQdHltdzddKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGl4OEVyVjQ8ejlMTkRjV1sweDBdKXtpeDhFclY0PWlQNjRPbX1lbHNle1I5eFJ2eShpeDhFclY0Kz1pUDY0T20qejlMTkRjV1sweGJdLGxTVVVETzB8PWl4OEVyVjQ8PFRjeFlZa20sVGN4WVlrbSs9KGl4OEVyVjQmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpeDhFclY0PS16OUxORGNXWzB4MV19fWlmKGl4OEVyVjQ+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfGl4OEVyVjQ8PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gSmhNVVRHWChKaE1VVEdYKXtpZih0eXBlb2YgaXg4RXJWNFtKaE1VVEdYXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbSmhNVVRHWF09UHN4ZXZyKFB0eW13N1tKaE1VVEdYXSl9cmV0dXJuIGl4OEVyVjRbSmhNVVRHWF19Y29uc3QgaHVvY3JrZz1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiBodW9jcmtnW0poTVVUR1goMHg4OSldKGJwMUhVRSl9O2lmKFBzeGV2cigpKXsoZnVuY3Rpb24oKXt2YXIgSmhNVVRHWD1mdW5jdGlvbigpe2NvbnN0IGh1b2Nya2c9ZnVuY3Rpb24oKXtmdW5jdGlvbiBodW9jcmtnKGh1b2Nya2cpe3ZhciBQc3hldnI9Il1neVteQCppKV9oJk1BUEN8b3tFQndJYHp9RCgrJGpGSk5IeC8xa34sbDowXCIlbS4/M0c8PU8ySzs+OTduTFc4cSM1VjRwITZydlVzdFJ1WFFUU2NhZmRlWWJaIix3Szc0bVFKLEpoTVVUR1gsYnAxSFVFLGxTVVVETzAsVGN4WVlrbSxpeDhFclY0LFB0eW13NztSOXhSdnkod0s3NG1RSj0iIisoaHVvY3JrZ3x8IiIpLEpoTVVUR1g9d0s3NG1RSi5sZW5ndGgsYnAxSFVFPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGl4OEVyVjQ9LXo5TE5EY1dbMHgxXSk7Zm9yKFB0eW13Nz16OUxORGNXWzB4MF07UHR5bXc3PEpoTVVUR1g7UHR5bXc3Kyspe3ZhciBpUDY0T209UHN4ZXZyLmluZGV4T2Yod0s3NG1RSltQdHltdzddKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGl4OEVyVjQ8ejlMTkRjV1sweDBdKXtpeDhFclY0PWlQNjRPbX1lbHNle1I5eFJ2eShpeDhFclY0Kz1pUDY0T20qejlMTkRjV1sweGJdLGxTVVVETzB8PWl4OEVyVjQ8PFRjeFlZa20sVGN4WVlrbSs9KGl4OEVyVjQmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KGJwMUhVRS5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO2l4OEVyVjQ9LXo5TE5EY1dbMHgxXX19aWYoaXg4RXJWND4tejlMTkRjV1sweDFdKXticDFIVUUucHVzaCgobFNVVURPMHxpeDhFclY0PDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKGJwMUhVRSl9ZnVuY3Rpb24gUHN4ZXZyKFBzeGV2cil7aWYodHlwZW9mIGl4OEVyVjRbUHN4ZXZyXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbUHN4ZXZyXT1odW9jcmtnKFB0eW13N1tQc3hldnJdKX1yZXR1cm4gaXg4RXJWNFtQc3hldnJdfWNvbnN0IHdLNzRtUUo9bmV3IFJlZ0V4cCh6OUxORGNXWzB4MTJdKTtyZXR1cm4gd0s3NG1RSltQc3hldnIoMHg4YSldKEpoTVVUR1gpfTtpZihodW9jcmtnKCkpe3doaWxlKHo5TE5EY1dbMHgxMF0pe319fTtyZXR1cm4gSmhNVVRHWCgpfSkoKTt3aGlsZSh6OUxORGNXWzB4MTBdKShmdW5jdGlvbigpe3ZhciBKaE1VVEdYPWZ1bmN0aW9uKCl7Y29uc3QgaHVvY3JrZz1mdW5jdGlvbigpe2Z1bmN0aW9uIGh1b2Nya2coaHVvY3JrZyl7dmFyIFBzeGV2cj0iRFpBQkNSSEVGR0pmUU5UU0lZZU1LTGFkT2NQYlVWV1hocnN0aXVqcW9nbG52cG1reHk3dzR6NTY5MjghMSMwMy4/fiQqPVwiKz59XjxbXS8lKEBfJjs6KWAsfHsiLHdLNzRtUUosSmhNVVRHWCxicDFIVUUsbFNVVURPMCxUY3hZWWttLGl4OEVyVjQsUHR5bXc3O1I5eFJ2eSh3Szc0bVFKPSIiKyhodW9jcmtnfHwiIiksSmhNVVRHWD13Szc0bVFKLmxlbmd0aCxicDFIVUU9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0saXg4RXJWND0tejlMTkRjV1sweDFdKTtmb3IoUHR5bXc3PXo5TE5EY1dbMHgwXTtQdHltdzc8SmhNVVRHWDtQdHltdzcrKyl7dmFyIGlQNjRPbT1Qc3hldnIuaW5kZXhPZih3Szc0bVFKW1B0eW13N10pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaXg4RXJWNDx6OUxORGNXWzB4MF0pe2l4OEVyVjQ9aVA2NE9tfWVsc2V7Ujl4UnZ5KGl4OEVyVjQrPWlQNjRPbSp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aXg4RXJWNDw8VGN4WVlrbSxUY3hZWWttKz0oaXg4RXJWNCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkoYnAxSFVFLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe2JwMUhVRS5wdXNoKChsU1VVRE8wfGl4OEVyVjQ8PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgoYnAxSFVFKX1mdW5jdGlvbiBQc3hldnIoUHN4ZXZyKXtpZih0eXBlb2YgaXg4RXJWNFtQc3hldnJdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtQc3hldnJdPWh1b2Nya2coUHR5bXc3W1BzeGV2cl0pfXJldHVybiBpeDhFclY0W1BzeGV2cl19Y29uc3Qgd0s3NG1RSj1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiB3Szc0bVFKW1BzeGV2cigweDhiKV0oSmhNVVRHWCl9O2lmKGh1b2Nya2coKSl7d2hpbGUoejlMTkRjV1sweDEwXSl7fX19O3JldHVybiBKaE1VVEdYKCl9KSgpfX07cmV0dXJuIGJwMUhVRSgpfSgpLGJwMUhVRT1hdG9iKGJwMUhVRSkpfWxldCBsU1VVRE8wPVBzeGV2cltodW9jcmtnKDB4OGMpXSxUY3hZWWttPUFycmF5W2h1b2Nya2coMHg4ZCldW2h1b2Nya2coMHg4ZSldW2h1b2Nya2coMHg4ZildKGJwMUhVRSlbaHVvY3JrZygweDkwKV0oZnVuY3Rpb24oYnAxSFVFLEpoTVVUR1gpe2Z1bmN0aW9uIHdLNzRtUUooYnAxSFVFKXt2YXIgSmhNVVRHWD0iX0pnYG1Cbl17QDouJTskW3wvXn1MXCJ+azxBJkRDUE9sSGlGPT4oaEUsP2oqK3BJTm8pR3JNS2RxUmN2UWF0dWVzU2ZUeFp5V1ZZd3oxVTAyM2JYOTQ1ISM4NjciLHdLNzRtUUosVGN4WVlrbSxQc3hldnIsaHVvY3JrZyxsU1VVRE8wLGl4OEVyVjQsUHR5bXc3O1I5eFJ2eSh3Szc0bVFKPSIiKyhicDFIVUV8fCIiKSxUY3hZWWttPXdLNzRtUUoubGVuZ3RoLFBzeGV2cj1bXSxodW9jcmtnPXo5TE5EY1dbMHgwXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxpeDhFclY0PS16OUxORGNXWzB4MV0pO2ZvcihQdHltdzc9ejlMTkRjV1sweDBdO1B0eW13NzxUY3hZWWttO1B0eW13NysrKXt2YXIgaVA2NE9tPUpoTVVUR1guaW5kZXhPZih3Szc0bVFKW1B0eW13N10pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaXg4RXJWNDx6OUxORGNXWzB4MF0pe2l4OEVyVjQ9aVA2NE9tfWVsc2V7Ujl4UnZ5KGl4OEVyVjQrPWlQNjRPbSp6OUxORGNXWzB4Yl0saHVvY3JrZ3w9aXg4RXJWNDw8bFNVVURPMCxsU1VVRE8wKz0oaXg4RXJWNCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkoUHN4ZXZyLnB1c2goaHVvY3JrZyZ6OUxORGNXWzB4M10pLGh1b2Nya2c+Pj16OUxORGNXWzB4Ml0sbFNVVURPMC09ejlMTkRjV1sweDJdKX13aGlsZShsU1VVRE8wPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe1BzeGV2ci5wdXNoKChodW9jcmtnfGl4OEVyVjQ8PGxTVVVETzApJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgoUHN4ZXZyKX1mdW5jdGlvbiBUY3hZWWttKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT13Szc0bVFKKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfVI5eFJ2eShmdW5jdGlvbigpe3ZhciBicDFIVUU9ZnVuY3Rpb24oKXtjb25zdCB3Szc0bVFKPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gd0s3NG1RSih3Szc0bVFKKXt2YXIgVGN4WVlrbT0iSSRDK0tBTFtKRUAqXk8pRE0sTiUmKEZQQi5dX3tgSHxHflh9L1wiOjtXP1o8Pj1RYVZVUlliVGNkU2VmamcyMDEzaW93cGhseHI3enlrNXF0NDltNnN2I251OCEiLFBzeGV2cixicDFIVUUsSmhNVVRHWCxodW9jcmtnLGxTVVVETzAsaXg4RXJWNCxQdHltdzc7Ujl4UnZ5KFBzeGV2cj0iIisod0s3NG1RSnx8IiIpLGJwMUhVRT1Qc3hldnIubGVuZ3RoLEpoTVVUR1g9W10saHVvY3JrZz16OUxORGNXWzB4MF0sbFNVVURPMD16OUxORGNXWzB4MF0saXg4RXJWND0tejlMTkRjV1sweDFdKTtmb3IoUHR5bXc3PXo5TE5EY1dbMHgwXTtQdHltdzc8YnAxSFVFO1B0eW13NysrKXt2YXIgaVA2NE9tPVRjeFlZa20uaW5kZXhPZihQc3hldnJbUHR5bXc3XSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpeDhFclY0PHo5TE5EY1dbMHgwXSl7aXg4RXJWND1pUDY0T219ZWxzZXtSOXhSdnkoaXg4RXJWNCs9aVA2NE9tKno5TE5EY1dbMHhiXSxodW9jcmtnfD1peDhFclY0PDxsU1VVRE8wLGxTVVVETzArPShpeDhFclY0Jno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eShKaE1VVEdYLnB1c2goaHVvY3JrZyZ6OUxORGNXWzB4M10pLGh1b2Nya2c+Pj16OUxORGNXWzB4Ml0sbFNVVURPMC09ejlMTkRjV1sweDJdKX13aGlsZShsU1VVRE8wPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe0poTVVUR1gucHVzaCgoaHVvY3JrZ3xpeDhFclY0PDxsU1VVRE8wKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKEpoTVVUR1gpfWZ1bmN0aW9uIFRjeFlZa20oVGN4WVlrbSl7aWYodHlwZW9mIGl4OEVyVjRbVGN4WVlrbV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W1RjeFlZa21dPXdLNzRtUUooUHR5bXc3W1RjeFlZa21dKX1yZXR1cm4gaXg4RXJWNFtUY3hZWWttXX1jb25zdCBQc3hldnI9bmV3IFJlZ0V4cCh6OUxORGNXWzB4MTJdKTtyZXR1cm4gUHN4ZXZyW1RjeFlZa20oMHg5MSldKGJwMUhVRSl9O2lmKHdLNzRtUUooKSl7d2hpbGUoejlMTkRjV1sweDEwXSl7fX19O3JldHVybiBicDFIVUUoKX0oKSxmdW5jdGlvbigpe3ZhciBicDFIVUU9ZnVuY3Rpb24oKXtjb25zdCB3Szc0bVFKPWZ1bmN0aW9uKCl7Y29uc3Qgd0s3NG1RSj1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiB3Szc0bVFKW2h1b2Nya2coejlMTkRjV1sweDFmXSldKGJwMUhVRSl9O2lmKHdLNzRtUUooKSl7KGZ1bmN0aW9uKCl7dmFyIFRjeFlZa209ZnVuY3Rpb24oKXtjb25zdCBQc3hldnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBQc3hldnIoUHN4ZXZyKXt2YXIgd0s3NG1RSj0iUDwlJEI+RE1DPUFKJk5JKCtHKk9LTClGRUhSLlZTLC8/VDtRV1VYWjpgWV5fW1wiYn18fkBhY2Rde2VmaGppZ2tubG1xb3JwdHN2dXp4d3kyMzAxNDY3NTk4ISMiLGh1b2Nya2csVGN4WVlrbSxicDFIVUUsSmhNVVRHWCxsU1VVRE8wLGl4OEVyVjQsUHR5bXc3O1I5eFJ2eShodW9jcmtnPSIiKyhQc3hldnJ8fCIiKSxUY3hZWWttPWh1b2Nya2cubGVuZ3RoLGJwMUhVRT1bXSxKaE1VVEdYPXo5TE5EY1dbMHgwXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxpeDhFclY0PS16OUxORGNXWzB4MV0pO2ZvcihQdHltdzc9ejlMTkRjV1sweDBdO1B0eW13NzxUY3hZWWttO1B0eW13NysrKXt2YXIgaVA2NE9tPXdLNzRtUUouaW5kZXhPZihodW9jcmtnW1B0eW13N10pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaXg4RXJWNDx6OUxORGNXWzB4MF0pe2l4OEVyVjQ9aVA2NE9tfWVsc2V7Ujl4UnZ5KGl4OEVyVjQrPWlQNjRPbSp6OUxORGNXWzB4Yl0sSmhNVVRHWHw9aXg4RXJWNDw8bFNVVURPMCxsU1VVRE8wKz0oaXg4RXJWNCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkoYnAxSFVFLnB1c2goSmhNVVRHWCZ6OUxORGNXWzB4M10pLEpoTVVUR1g+Pj16OUxORGNXWzB4Ml0sbFNVVURPMC09ejlMTkRjV1sweDJdKX13aGlsZShsU1VVRE8wPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe2JwMUhVRS5wdXNoKChKaE1VVEdYfGl4OEVyVjQ8PGxTVVVETzApJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgoYnAxSFVFKX1mdW5jdGlvbiB3Szc0bVFKKHdLNzRtUUope2lmKHR5cGVvZiBpeDhFclY0W3dLNzRtUUpdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFt3Szc0bVFKXT1Qc3hldnIoUHR5bXc3W3dLNzRtUUpdKX1yZXR1cm4gaXg4RXJWNFt3Szc0bVFKXX1jb25zdCBodW9jcmtnPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIGh1b2Nya2dbd0s3NG1RSigweDkzKV0oVGN4WVlrbSl9O2lmKFBzeGV2cigpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIFRjeFlZa20oKX0pKCk7d2hpbGUoejlMTkRjV1sweDEwXSlkZWJ1Z2dlcn19O3JldHVybiBicDFIVUUoKX0oKSk7cmV0dXJuIFN0cmluZ1tUY3hZWWttKDB4OTQpXShicDFIVUVbVGN4WVlrbSh6OUxORGNXWzB4MWVdKV0oejlMTkRjV1sweDBdKV5Qc3hldnJbSmhNVVRHWCVsU1VVRE8wXVtUY3hZWWttKHo5TE5EY1dbMHgxZV0pXSh6OUxORGNXWzB4MF0pKX0pW2h1b2Nya2coMHg5NildKCIiKTtpZighd0s3NG1RSil7Ujl4UnZ5KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1mdW5jdGlvbigpe2Z1bmN0aW9uIFBzeGV2cihQc3hldnIpe3ZhciBKaE1VVEdYPSJqa2xXVlVoWG1uQmd6MDJMaTNSd3RRMXh1eXNUQXYhOUZTSWVjOGJKIzU2cWFvcEQ0RTdZclpkZkNHSEtPUE1OJCUmKCkrKiw6Pj0vPC47P3t9XUB+W15fYHxcIiIsaHVvY3JrZyx3Szc0bVFKLGJwMUhVRSxsU1VVRE8wLFRjeFlZa20saXg4RXJWNCxQdHltdzc7Ujl4UnZ5KGh1b2Nya2c9IiIrKFBzeGV2cnx8IiIpLHdLNzRtUUo9aHVvY3JrZy5sZW5ndGgsYnAxSFVFPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGl4OEVyVjQ9LXo5TE5EY1dbMHgxXSk7Zm9yKFB0eW13Nz16OUxORGNXWzB4MF07UHR5bXc3PHdLNzRtUUo7UHR5bXc3Kyspe3ZhciBpUDY0T209SmhNVVRHWC5pbmRleE9mKGh1b2Nya2dbUHR5bXc3XSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpeDhFclY0PHo5TE5EY1dbMHgwXSl7aXg4RXJWND1pUDY0T219ZWxzZXtSOXhSdnkoaXg4RXJWNCs9aVA2NE9tKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1peDhFclY0PDxUY3hZWWttLFRjeFlZa20rPShpeDhFclY0Jno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eShicDFIVUUucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpeDhFclY0PS16OUxORGNXWzB4MV19fWlmKGl4OEVyVjQ+LXo5TE5EY1dbMHgxXSl7YnAxSFVFLnB1c2goKGxTVVVETzB8aXg4RXJWNDw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aChicDFIVUUpfWZ1bmN0aW9uIEpoTVVUR1goSmhNVVRHWCl7aWYodHlwZW9mIGl4OEVyVjRbSmhNVVRHWF09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W0poTVVUR1hdPVBzeGV2cihQdHltdzdbSmhNVVRHWF0pfXJldHVybiBpeDhFclY0W0poTVVUR1hdfWlmKEpoTVVUR1goMHg5NylpbiBSR3dLZUNZKXtodW9jcmtnKCl9ZnVuY3Rpb24gaHVvY3JrZygpe31jb25zdCB3Szc0bVFKPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIHdLNzRtUUpbSmhNVVRHWCgweDk4KV0oYnAxSFVFKX07aWYoUHN4ZXZyKCkpe3doaWxlKHo5TE5EY1dbMHgxMF0pe319fTtyZXR1cm4gYnAxSFVFKCl9KCksZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKCl7KGZ1bmN0aW9uKCl7dmFyIEpoTVVUR1g9ZnVuY3Rpb24oKXtjb25zdCB3Szc0bVFKPWZ1bmN0aW9uKCl7Y29uc3Qgd0s3NG1RSj1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiB3Szc0bVFKW2h1b2Nya2coejlMTkRjV1sweDFmXSldKEpoTVVUR1gpfTtpZih3Szc0bVFKKCkpe2lmKGh1b2Nya2coMHg5OSlpbiBSR3dLZUNZKXtsU1VVRE8wKCl9ZnVuY3Rpb24gbFNVVURPMCgpe313aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIEpoTVVUR1goKX0pKCk7Y29uc3QgUHN4ZXZyPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIFBzeGV2cltodW9jcmtnKHo5TE5EY1dbMHgxZl0pXShicDFIVUUpfTtpZihQc3hldnIoKSl7KGZ1bmN0aW9uKCl7dmFyIEpoTVVUR1g9ZnVuY3Rpb24oKXtjb25zdCB3Szc0bVFKPWZ1bmN0aW9uKCl7Y29uc3Qgd0s3NG1RSj1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiB3Szc0bVFKW2h1b2Nya2coejlMTkRjV1sweDFmXSldKEpoTVVUR1gpfTtpZih3Szc0bVFKKCkpe3doaWxlKHo5TE5EY1dbMHgxMF0pe319fTtyZXR1cm4gSmhNVVRHWCgpfSkoKTt3aGlsZSh6OUxORGNXWzB4MTBdKWRlYnVnZ2VyfX07cmV0dXJuIGJwMUhVRSgpfSgpLFRjeFlZa209YnRvYShUY3hZWWttKSl9cmV0dXJuIFRjeFlZa219ZnVuY3Rpb24gSkRCbE1oZyhpeDhFclY0LFB0eW13Nyl7ZGVidWdnZXI7UHR5bXc3PWwwcWpaMSgweDlhKTtyZXR1cm4gbmV3IFJlZ0V4cCgiXiIrUHR5bXc3KyIkIiwiZ2kiKVtsMHFqWjEoejlMTkRjV1sweDFhXSldKGl4OEVyVjQpfWNvbnN0IGNfd2xwbT1sMHFqWjEoMHg5YiksdGxTTHZJcD1sMHFqWjEoMHg5Yyk7bGV0IEtuMjB3Zj17fTtmdW5jdGlvbiBUUDBBcDkoKXt2YXIgcDE0MnZmeT1UUDBBcDkucEVYN1VJSnx8KFRQMEFwOS5wRVg3VUlKPVVWMElacyhKREJsTWhnLDg4MjczNDEpKTtpZihwMTQydmZ5PT09MTU4NTAwNDg5NDkzMjY2NSl7cmV0dXJuIEpEQmxNaGcoLi4uYXJndW1lbnRzKX1lbHNle3doaWxlKHRydWUpe319fWZ1bmN0aW9uIEp6MmVUVVAoKXt2YXIgUG1PYmZRaz1KejJlVFVQLkhXc0lkX2Z8fChKejJlVFVQLkhXc0lkX2Y9VVYwSVpzKGhwQ0JzS0osNDI5OTAxNykpO2lmKFBtT2JmUWs9PT04MTU4OTE3NDk2MTU2NjI3KXtyZXR1cm4gaHBDQnNLSiguLi5hcmd1bWVudHMpfWVsc2V7d2hpbGUodHJ1ZSl7fX19ZnVuY3Rpb24gY1huQmk5RSgpe3ZhciBMVW9iRXFtPWNYbkJpOUUuaXpCX2RNRXx8KGNYbkJpOUUuaXpCX2RNRT1VVjBJWnMoQ0g4QlplQiw2NTAxMDM5KSk7aWYoTFVvYkVxbT09PTkxNjAzODc5ODQ4Mjk4Myl7cmV0dXJuIENIOEJaZUIoLi4uYXJndW1lbnRzKX1lbHNle3doaWxlKHRydWUpe319fWNvbnN0IHBPcVBETkk9e2lkOmNYbkJpOUUoKSxbbDBxaloxKHo5TE5EY1dbMHgyMF0pXTp3aW5kb3dbbDBxaloxKHo5TE5EY1dbMHgyMF0pXX07YXN5bmMgZnVuY3Rpb24gcG5KUGNpKGJwMUhVRSxQc3hldnIsSmhNVVRHWCxodW9jcmtnKXtpZighaHVvY3JrZyl7aHVvY3JrZz1mdW5jdGlvbihicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09SmhNVVRHWChQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX19aWYoIUpoTVVUR1gpe0poTVVUR1g9ZnVuY3Rpb24oYnAxSFVFKXt2YXIgUHN4ZXZyPSJGQ3VCbkVrSERvQUdoanNLZ2l0SUpMTnZNcVBwcm1sT1R4elc4MTA0UVJiNVoyd1lWVTlTM3kjNjdYYSFjZGZlXCJAfX4uJVtdKCQvJl47YDpfKj18PHs+KT8rLCIsSmhNVVRHWCxodW9jcmtnLGl4OEVyVjQsUHR5bXc3LHdLNzRtUUosbFNVVURPMCxUY3hZWWttO1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLGl4OEVyVjQ9W10sUHR5bXc3PXo5TE5EY1dbMHgwXSx3Szc0bVFKPXo5TE5EY1dbMHgwXSxsU1VVRE8wPS16OUxORGNXWzB4MV0pO2ZvcihUY3hZWWttPXo5TE5EY1dbMHgwXTtUY3hZWWttPGh1b2Nya2c7VGN4WVlrbSsrKXt2YXIgaVA2NE9tPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbVGN4WVlrbV0pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYobFNVVURPMDx6OUxORGNXWzB4MF0pe2xTVVVETzA9aVA2NE9tfWVsc2V7Ujl4UnZ5KGxTVVVETzArPWlQNjRPbSp6OUxORGNXWzB4Yl0sUHR5bXc3fD1sU1VVRE8wPDx3Szc0bVFKLHdLNzRtUUorPShsU1VVRE8wJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eShpeDhFclY0LnB1c2goUHR5bXc3Jno5TE5EY1dbMHgzXSksUHR5bXc3Pj49ejlMTkRjV1sweDJdLHdLNzRtUUotPXo5TE5EY1dbMHgyXSl9d2hpbGUod0s3NG1RSj56OUxORGNXWzB4OF0pO2xTVVVETzA9LXo5TE5EY1dbMHgxXX19aWYobFNVVURPMD4tejlMTkRjV1sweDFdKXtpeDhFclY0LnB1c2goKFB0eW13N3xsU1VVRE8wPDx3Szc0bVFKKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKGl4OEVyVjQpfX1kZWJ1Z2dlcjthd2FpdCBheGlvc1todW9jcmtnKDB4OWUpXSgiIitjX3dscG0raHVvY3JrZygweDlmKSx7W2h1b2Nya2coMHhhMCldOkp6MmVUVVAoSlNPTltodW9jcmtnKDB4YTEpXSh7W2h1b2Nya2coMHhhMildOmJwMUhVRSwuLi5Qc3hldnJ9KSx0bFNMdklwKX0pfWZvcihsZXQgWTFjdllsQyBvZiBkb2N1bWVudFtsMHFqWjEoMHhhMyldKGwwcWpaMSgweGE0KSkpe2Z1bmN0aW9uIGpHQ2VEMihpeDhFclY0KXt2YXIgUHR5bXc3PSJAREJ8Li9nQV5oQzsmJEUleGpJW3soT0h+aWs6RiF5XUtgUEoqKV99XCJsRys4Tj9MPE09bXc0Uyw+bnA1b3R6UVJUOSNYVlVXWWFaMzZiMWQ3YzBlc2YycnF1diIsYnAxSFVFLFBzeGV2cixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa207Ujl4UnZ5KGJwMUhVRT0iIisoaXg4RXJWNHx8IiIpLFBzeGV2cj1icDFIVUUubGVuZ3RoLEpoTVVUR1g9W10saHVvY3JrZz16OUxORGNXWzB4MF0sd0s3NG1RSj16OUxORGNXWzB4MF0sbFNVVURPMD0tejlMTkRjV1sweDFdKTtmb3IoVGN4WVlrbT16OUxORGNXWzB4MF07VGN4WVlrbTxQc3hldnI7VGN4WVlrbSsrKXt2YXIgaVA2NE9tPVB0eW13Ny5pbmRleE9mKGJwMUhVRVtUY3hZWWttXSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihsU1VVRE8wPHo5TE5EY1dbMHgwXSl7bFNVVURPMD1pUDY0T219ZWxzZXtSOXhSdnkobFNVVURPMCs9aVA2NE9tKno5TE5EY1dbMHhiXSxodW9jcmtnfD1sU1VVRE8wPDx3Szc0bVFKLHdLNzRtUUorPShsU1VVRE8wJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eShKaE1VVEdYLnB1c2goaHVvY3JrZyZ6OUxORGNXWzB4M10pLGh1b2Nya2c+Pj16OUxORGNXWzB4Ml0sd0s3NG1RSi09ejlMTkRjV1sweDJdKX13aGlsZSh3Szc0bVFKPno5TE5EY1dbMHg4XSk7bFNVVURPMD0tejlMTkRjV1sweDFdfX1pZihsU1VVRE8wPi16OUxORGNXWzB4MV0pe0poTVVUR1gucHVzaCgoaHVvY3JrZ3xsU1VVRE8wPDx3Szc0bVFKKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKEpoTVVUR1gpfWZ1bmN0aW9uIFVGYk5iYyhicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09akdDZUQyKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfWRlYnVnZ2VyO2xldCBoWFB0bWU9WTFjdllsQ1tVRmJOYmMoMHhhNSldKFVGYk5iYygweGE2KSk7WTFjdllsQ1tVRmJOYmMoMHhhNyldPWFzeW5jIGl4OEVyVjQ9PntkZWJ1Z2dlcjthd2FpdCBUVXVNdk0oaFhQdG1lKX19d2luZG93W2wwcWpaMSgweGE4KV09KCk9Pnt2YXIgYnAxSFVFO2Z1bmN0aW9uIFBzeGV2cihicDFIVUUpe3ZhciBQc3hldnI9IkUoJSRiJiopQSssLldCUi9ZQ0o6O0hGP1VMVj08Tlg+R11gW01ET19Ae1BeS3x+SVN9WmZRXCJUYWNkZWtvbGdybWhwbnF0dWppc3Y0eDU2d3o3eTghOTIjMTAzIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saXg4RXJWNCxQdHltdzc7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpeDhFclY0PS16OUxORGNXWzB4MV0pO2ZvcihQdHltdzc9ejlMTkRjV1sweDBdO1B0eW13NzxodW9jcmtnO1B0eW13NysrKXt2YXIgaVA2NE9tPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbUHR5bXc3XSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpeDhFclY0PHo5TE5EY1dbMHgwXSl7aXg4RXJWND1pUDY0T219ZWxzZXtSOXhSdnkoaXg4RXJWNCs9aVA2NE9tKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1peDhFclY0PDxUY3hZWWttLFRjeFlZa20rPShpeDhFclY0Jno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpeDhFclY0PDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIEpoTVVUR1goYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPVBzeGV2cihQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1SOXhSdnkoZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gUHN4ZXZyKFBzeGV2cil7dmFyIEpoTVVUR1g9IlJUR0ZTSFpkUUVDQUJZRE5WTWVhYmZVSUpMUGNXT1hLbWxrbmhpZ2pwdHN1b3Zxcng1NHd6N3k2MzE5MjgwIyEuLyY7JTokKD0pPio/PCssfFtee1wifn1fYEBdIixodW9jcmtnLHdLNzRtUUosYnAxSFVFLGxTVVVETzAsVGN4WVlrbSxpeDhFclY0LFB0eW13NztSOXhSdnkoaHVvY3JrZz0iIisoUHN4ZXZyfHwiIiksd0s3NG1RSj1odW9jcmtnLmxlbmd0aCxicDFIVUU9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0saXg4RXJWND0tejlMTkRjV1sweDFdKTtmb3IoUHR5bXc3PXo5TE5EY1dbMHgwXTtQdHltdzc8d0s3NG1RSjtQdHltdzcrKyl7dmFyIGlQNjRPbT1KaE1VVEdYLmluZGV4T2YoaHVvY3JrZ1tQdHltdzddKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGl4OEVyVjQ8ejlMTkRjV1sweDBdKXtpeDhFclY0PWlQNjRPbX1lbHNle1I5eFJ2eShpeDhFclY0Kz1pUDY0T20qejlMTkRjV1sweGJdLGxTVVVETzB8PWl4OEVyVjQ8PFRjeFlZa20sVGN4WVlrbSs9KGl4OEVyVjQmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KGJwMUhVRS5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO2l4OEVyVjQ9LXo5TE5EY1dbMHgxXX19aWYoaXg4RXJWND4tejlMTkRjV1sweDFdKXticDFIVUUucHVzaCgobFNVVURPMHxpeDhFclY0PDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKGJwMUhVRSl9ZnVuY3Rpb24gSmhNVVRHWChKaE1VVEdYKXtpZih0eXBlb2YgaXg4RXJWNFtKaE1VVEdYXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbSmhNVVRHWF09UHN4ZXZyKFB0eW13N1tKaE1VVEdYXSl9cmV0dXJuIGl4OEVyVjRbSmhNVVRHWF19aWYoSmhNVVRHWCgweGE5KWluIFJHd0tlQ1kpe2h1b2Nya2coKX1mdW5jdGlvbiBodW9jcmtnKCl7fWNvbnN0IHdLNzRtUUo9ZnVuY3Rpb24oKXtmdW5jdGlvbiBQc3hldnIoUHN4ZXZyKXt2YXIgSmhNVVRHWD0iQUQlQ0IkRUYoRyYrSCkqSyxOSi5NUElPTD87UVJTPlQ9PDpXVVZYWWFjZC9lWmZiXTZ3c1tAXnt6YF98Z340fTFcIm95NWkheG4ydTB0cnYzN2hramw5cDhxI20iLGh1b2Nya2csd0s3NG1RSixicDFIVUUsbFNVVURPMCxUY3hZWWttLGl4OEVyVjQsUHR5bXc3O1I5eFJ2eShodW9jcmtnPSIiKyhQc3hldnJ8fCIiKSx3Szc0bVFKPWh1b2Nya2cubGVuZ3RoLGJwMUhVRT1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpeDhFclY0PS16OUxORGNXWzB4MV0pO2ZvcihQdHltdzc9ejlMTkRjV1sweDBdO1B0eW13Nzx3Szc0bVFKO1B0eW13NysrKXt2YXIgaVA2NE9tPUpoTVVUR1guaW5kZXhPZihodW9jcmtnW1B0eW13N10pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaXg4RXJWNDx6OUxORGNXWzB4MF0pe2l4OEVyVjQ9aVA2NE9tfWVsc2V7Ujl4UnZ5KGl4OEVyVjQrPWlQNjRPbSp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aXg4RXJWNDw8VGN4WVlrbSxUY3hZWWttKz0oaXg4RXJWNCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkoYnAxSFVFLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe2JwMUhVRS5wdXNoKChsU1VVRE8wfGl4OEVyVjQ8PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgoYnAxSFVFKX1mdW5jdGlvbiBKaE1VVEdYKEpoTVVUR1gpe2lmKHR5cGVvZiBpeDhFclY0W0poTVVUR1hdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtKaE1VVEdYXT1Qc3hldnIoUHR5bXc3W0poTVVUR1hdKX1yZXR1cm4gaXg4RXJWNFtKaE1VVEdYXX1jb25zdCBodW9jcmtnPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIGh1b2Nya2dbSmhNVVRHWCgweGFhKV0oYnAxSFVFKX07aWYod0s3NG1RSigpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIGJwMUhVRSgpfSgpLGJwMUhVRT1kb2N1bWVudFtKaE1VVEdYKDB4YWIpXShKaE1VVEdYKDB4YWMpKSk7aWYoYnAxSFVFW0poTVVUR1goejlMTkRjV1sweDIxXSldW0poTVVUR1goejlMTkRjV1sweDIyXSldPT09SmhNVVRHWCgweGFmKSl7ZnVuY3Rpb24gaHVvY3JrZyhicDFIVUUpe3ZhciBQc3hldnI9IlNsUVJrVFVtV1ZYQWpCS2dZaGlDYW5Kc1p0YnJ1SHZJTHBQb3F3NUcwNHg3Nk95ZWQhI2NNM2Y5ejgxRDJORUYpJD0/PCs+LiUoLyYsKjo7QHxdW19eYHt9flwiIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saXg4RXJWNCxQdHltdzc7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpeDhFclY0PS16OUxORGNXWzB4MV0pO2ZvcihQdHltdzc9ejlMTkRjV1sweDBdO1B0eW13NzxodW9jcmtnO1B0eW13NysrKXt2YXIgaVA2NE9tPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbUHR5bXc3XSk7aWYoaVA2NE9tPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpeDhFclY0PHo5TE5EY1dbMHgwXSl7aXg4RXJWND1pUDY0T219ZWxzZXtSOXhSdnkoaXg4RXJWNCs9aVA2NE9tKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1peDhFclY0PDxUY3hZWWttLFRjeFlZa20rPShpeDhFclY0Jno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aXg4RXJWND0tejlMTkRjV1sweDFdfX1pZihpeDhFclY0Pi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpeDhFclY0PDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIHdLNzRtUUooYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPWh1b2Nya2coUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19ZGVidWdnZXI7YnAxSFVFW0poTVVUR1goejlMTkRjV1sweDIxXSldW0poTVVUR1goejlMTkRjV1sweDIyXSldPXdLNzRtUUooMHhiMCl9ZWxzZXtmdW5jdGlvbiBsU1VVRE8wKGJwMUhVRSl7dmFyIFBzeGV2cj0iaEVwQ3NGPWckQWklR0JESXUoTCYuSDx0LytqKkopbEssO05NcVA+P086W1wiVH5Ta31dYF92b0B7cnxRXlJtVlhuVXl6d3hXMTJhMDNZWmJmZWM1ZDg0OSE3IzYiLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbSxpeDhFclY0LFB0eW13NztSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGl4OEVyVjQ9LXo5TE5EY1dbMHgxXSk7Zm9yKFB0eW13Nz16OUxORGNXWzB4MF07UHR5bXc3PGh1b2Nya2c7UHR5bXc3Kyspe3ZhciBpUDY0T209UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFtQdHltdzddKTtpZihpUDY0T209PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGl4OEVyVjQ8ejlMTkRjV1sweDBdKXtpeDhFclY0PWlQNjRPbX1lbHNle1I5eFJ2eShpeDhFclY0Kz1pUDY0T20qejlMTkRjV1sweGJdLGxTVVVETzB8PWl4OEVyVjQ8PFRjeFlZa20sVGN4WVlrbSs9KGl4OEVyVjQmejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpeDhFclY0PS16OUxORGNXWzB4MV19fWlmKGl4OEVyVjQ+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfGl4OEVyVjQ8PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gVGN4WVlrbShicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09bFNVVURPMChQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1SOXhSdnkoZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIFBzeGV2cltKaE1VVEdYKDB4YjEpXShicDFIVUUpfTtpZihQc3hldnIoKSl7d2hpbGUoejlMTkRjV1sweDEwXSl7fX19O3JldHVybiBicDFIVUUoKX0oKSxicDFIVUVbSmhNVVRHWCh6OUxORGNXWzB4MjFdKV1bVGN4WVlrbSgweGIyKV09VGN4WVlrbSgweGIzKSl9fTtmdW5jdGlvbiBuekZEMkkoKXt2YXIgVTdpUkNvND1uekZEMkkudXgxVFhncnx8KG56RkQySS51eDFUWGdyPVVWMElacyh3X21DT2ssNjc0MTg5MikpO2lmKFU3aVJDbzQ9PT03NDM1MzQyNjIxMzMwODk2KXtyZXR1cm4gd19tQ09rKC4uLmFyZ3VtZW50cyl9ZWxzZXt3aGlsZSh0cnVlKXt9fX1mdW5jdGlvbiBTZXMwdE5SKCl7ZnVuY3Rpb24gYnAxSFVFKGJwMUhVRSl7dmFyIFBzeGV2cj0iY1pDQkFlRFhmRkVIWVFiZGFUR1ZVSUtXSkxNTlJQT1N4cDFoNW96NDg3OWohM2c2aXFyI3VzbG5rMG10d3Z5MiQlJigpKissLjwvOj07Pj97W19AXWBefH59XCIiLGl4OEVyVjQsUHR5bXc3LEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbTtSOXhSdnkoaXg4RXJWND0iIisoYnAxSFVFfHwiIiksUHR5bXc3PWl4OEVyVjQubGVuZ3RoLEpoTVVUR1g9W10saHVvY3JrZz16OUxORGNXWzB4MF0sd0s3NG1RSj16OUxORGNXWzB4MF0sbFNVVURPMD0tejlMTkRjV1sweDFdKTtmb3IoVGN4WVlrbT16OUxORGNXWzB4MF07VGN4WVlrbTxQdHltdzc7VGN4WVlrbSsrKXt2YXIgaVA2NE9tPVBzeGV2ci5pbmRleE9mKGl4OEVyVjRbVGN4WVlrbV0pO2lmKGlQNjRPbT09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYobFNVVURPMDx6OUxORGNXWzB4MF0pe2xTVVVETzA9aVA2NE9tfWVsc2V7Ujl4UnZ5KGxTVVVETzArPWlQNjRPbSp6OUxORGNXWzB4Yl0saHVvY3JrZ3w9bFNVVURPMDw8d0s3NG1RSix3Szc0bVFKKz0obFNVVURPMCZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkoSmhNVVRHWC5wdXNoKGh1b2Nya2cmejlMTkRjV1sweDNdKSxodW9jcmtnPj49ejlMTkRjV1sweDJdLHdLNzRtUUotPXo5TE5EY1dbMHgyXSl9d2hpbGUod0s3NG1RSj56OUxORGNXWzB4OF0pO2xTVVVETzA9LXo5TE5EY1dbMHgxXX19aWYobFNVVURPMD4tejlMTkRjV1sweDFdKXtKaE1VVEdYLnB1c2goKGh1b2Nya2d8bFNVVURPMDw8d0s3NG1RSikmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aChKaE1VVEdYKX1mdW5jdGlvbiBQc3hldnIoUHN4ZXZyKXtpZih0eXBlb2YgaXg4RXJWNFtQc3hldnJdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtQc3hldnJdPWJwMUhVRShQdHltdzdbUHN4ZXZyXSl9cmV0dXJuIGl4OEVyVjRbUHN4ZXZyXX1yZXR1cm4gbTBJdEo0PVsuLi5hcmd1bWVudHNdLEt4WXJjVHEoUHN4ZXZyKDB4YjQpKX1jb25zdCBZT25WRzVlPWFzeW5jKCk9PntmdW5jdGlvbiBicDFIVUUoYnAxSFVFKXt2YXIgUHN4ZXZyPSJKQlRNUVJAW0NBXURTVnslVSZGRyRYSV5MKFdOX2JgK1l8RUhjUCp+XCJLZE99ZmVhKVppaG8sai9wcTpyLnZzO2drPXQ8Pz5sdW1ud3g5OHo0eTUxMDY3ISMyMyIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpUDY0T209LXo5TE5EY1dbMHgxXSk7Zm9yKG0wSXRKND16OUxORGNXWzB4MF07bTBJdEo0PGh1b2Nya2c7bTBJdEo0Kyspe3ZhciBQY0FTaUc9UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aVA2NE9tPS16OUxORGNXWzB4MV19fWlmKGlQNjRPbT4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aVA2NE9tPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIFBzeGV2cihQc3hldnIpe2lmKHR5cGVvZiBpeDhFclY0W1BzeGV2cl09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W1BzeGV2cl09YnAxSFVFKFB0eW13N1tQc3hldnJdKX1yZXR1cm4gaXg4RXJWNFtQc3hldnJdfWNvbnN0e1tsMHFqWjEoMHhiNSldOkpoTVVUR1h9PXdpbmRvd1tsMHFqWjEoMHhiNildLHtbbDBxaloxKDB4YjcpXTpodW9jcmtnfT13aW5kb3dbbDBxaloxKDB4YjgpXSx7W2wwcWpaMSgweGI5KV06d0s3NG1RSn09d2luZG93W2wwcWpaMSgweGJhKV0se1tsMHFqWjEoMHhiYildOmxTVVVETzB9PXdpbmRvd1tsMHFqWjEoMHhiYyldLHtbUHN4ZXZyKDB4YmQpXTpUY3hZWWttfT13aW5kb3dbUHN4ZXZyKDB4YmUpXTt0cnl7ZnVuY3Rpb24gaVA2NE9tKGJwMUhVRSl7dmFyIFBzeGV2cj0iO1ZVZ29DRjpwLi9XJkEkcWxyRWo9JT4/PChYK0IpKnRpLGtAXVtedV9ge2h8R1F9blwiU352UlRzWWJteXdIMUQwMk5aYTNjeHo2ZjlKI0lkIUxLZTg1TU9QNzQiLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbSxpUDY0T20sbTBJdEo0O1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0saVA2NE9tPS16OUxORGNXWzB4MV0pO2ZvcihtMEl0SjQ9ejlMTkRjV1sweDBdO20wSXRKNDxodW9jcmtnO20wSXRKNCsrKXt2YXIgUGNBU2lHPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbbTBJdEo0XSk7aWYoUGNBU2lHPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpUDY0T208ejlMTkRjV1sweDBdKXtpUDY0T209UGNBU2lHfWVsc2V7Ujl4UnZ5KGlQNjRPbSs9UGNBU2lHKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1pUDY0T208PFRjeFlZa20sVGN4WVlrbSs9KGlQNjRPbSZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO2lQNjRPbT0tejlMTkRjV1sweDFdfX1pZihpUDY0T20+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfGlQNjRPbTw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX1mdW5jdGlvbiBtMEl0SjQoYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPWlQNjRPbShQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1LbjIwd2ZbUHN4ZXZyKDB4YmYpXT1uZXcgSmhNVVRHWCh7W20wSXRKNCgweGMwKV06ejlMTkRjV1sweDEwXSxbbTBJdEo0KDB4YzEpXTp6OUxORGNXWzB4MTFdLFttMEl0SjQoMHhjMildOno5TE5EY1dbMHgyNF19KX1jYXRjaChQY0FTaUcpe310cnl7ZGVidWdnZXI7S24yMHdmW1BzeGV2cigweGMzKV09bmV3IHdLNzRtUUp9Y2F0Y2goUGNBU2lHKXtmdW5jdGlvbiBLTmUwaUkoYnAxSFVFKXt2YXIgUHN4ZXZyPSJcIiRbRkVELGgqKXhIZ0N+aX1dQl4rQGAoakdBX0olJkl5S3t8ekw8Oj1NL093MWs7Pz4uTjNQWjAyYjVZUWFXZmNsUjhWZWRUOVhVUyNtIW42N3M0cHF2b3J0dSIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpUDY0T209LXo5TE5EY1dbMHgxXSk7Zm9yKG0wSXRKND16OUxORGNXWzB4MF07bTBJdEo0PGh1b2Nya2c7bTBJdEo0Kyspe3ZhciBQY0FTaUc9UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aVA2NE9tPS16OUxORGNXWzB4MV19fWlmKGlQNjRPbT4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aVA2NE9tPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIHQ2cWUyV0woYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPUtOZTBpSShQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1pZih0NnFlMldMKDB4YzQpaW4gUkd3S2VDWSl7S3hZcmNUcSgpfWZ1bmN0aW9uIEt4WXJjVHEoKXttb2R1bGUuZXhwb3J0cz1hc3luYyhicDFIVUU9KCk9Pnt0aHJvdyBuZXcgRXJyb3IodDZxZTJXTCgweGM1KSl9KT0+e2NvbnN0IFBzeGV2cj1uZXcgU2V0KHByb2Nlc3MuYXJndi5zbGljZSh6OUxORGNXWzB4MjNdKSk7aWYoIVBzeGV2ci5oYXModDZxZTJXTCgweGM2KSkpe2lmKFBzeGV2ci5zaXplIT09ejlMTkRjV1sweDFdKXJldHVybiB6OUxORGNXWzB4MTFdO2lmKCFQc3hldnIuaGFzKCItdiIpKXJldHVybiB6OUxORGNXWzB4MTFdfWF3YWl0KGFzeW5jKFBzeGV2cixKaE1VVEdYKT0+e2Z1bmN0aW9uIGh1b2Nya2coUHN4ZXZyKXt2YXIgSmhNVVRHWD0iQlNSUUpURkVYVUFHSFdJQ1ZhWURaYmNNZk5LZGVMT1B5d3h6MTIzMCE4aCM5ZzY0a3Bqbzc1aXFyc2x0dXZtbn0+KVwifntbXkBdKF8vYHwqLiw6Kzs/JD0lPCYiLGh1b2Nya2csd0s3NG1RSixicDFIVUUsbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KGh1b2Nya2c9IiIrKFBzeGV2cnx8IiIpLHdLNzRtUUo9aHVvY3JrZy5sZW5ndGgsYnAxSFVFPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8d0s3NG1RSjttMEl0SjQrKyl7dmFyIFBjQVNpRz1KaE1VVEdYLmluZGV4T2YoaHVvY3JrZ1ttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eShicDFIVUUucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe2JwMUhVRS5wdXNoKChsU1VVRE8wfGlQNjRPbTw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aChicDFIVUUpfWZ1bmN0aW9uIHdLNzRtUUooUHN4ZXZyKXtpZih0eXBlb2YgaXg4RXJWNFtQc3hldnJdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtQc3hldnJdPWh1b2Nya2coUHR5bXc3W1BzeGV2cl0pfXJldHVybiBpeDhFclY0W1BzeGV2cl19aWYoUHN4ZXZyKXJldHVybiB3Szc0bVFKKDB4YzcpO2lmKEpoTVVUR1g9PT0oYXdhaXQgYnAxSFVFKCkpKXJldHVybiB3Szc0bVFKKDB4YzgpO3JldHVybiIifSkoKTtyZXR1cm4gejlMTkRjV1sweDEwXX19fXRyeXtSOXhSdnkoZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKCl7aWYoUHN4ZXZyKDB4YzkpaW4gUkd3S2VDWSl7SmhNVVRHWCgpfWZ1bmN0aW9uIEpoTVVUR1goKXt2YXIgSmhNVVRHWD1mdW5jdGlvbihKaE1VVEdYKXt2YXIgaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCxicDFIVUUsUHN4ZXZyLHdLNzRtUUosbFNVVURPMDtSOXhSdnkoYnAxSFVFPVtdLFBzeGV2cj16OUxORGNXWzB4MF0sd0s3NG1RSj16OUxORGNXWzB4MF0sSmhNVVRHWC5zb3J0KChKaE1VVEdYLGh1b2Nya2cpPT5KaE1VVEdYLWh1b2Nya2cpKTtmb3IobFNVVURPMD16OUxORGNXWzB4MF07bFNVVURPMDxodW9jcmtnO2xTVVVETzArKyl7aWYobFNVVURPMD56OUxORGNXWzB4MF0mJkpoTVVUR1hbbFNVVURPMF09PT1KaE1VVEdYW2xTVVVETzAtejlMTkRjV1sweDFdXSljb250aW51ZTtSOXhSdnkoUHN4ZXZyPWxTVVVETzArejlMTkRjV1sweDFdLHdLNzRtUUo9aHVvY3JrZy16OUxORGNXWzB4MV0pO3doaWxlKFBzeGV2cjx3Szc0bVFKKWlmKEpoTVVUR1hbbFNVVURPMF0rSmhNVVRHWFtQc3hldnJdK0poTVVUR1hbd0s3NG1RSl08ejlMTkRjV1sweDBdKXtQc3hldnIrK31lbHNlIGlmKEpoTVVUR1hbbFNVVURPMF0rSmhNVVRHWFtQc3hldnJdK0poTVVUR1hbd0s3NG1RSl0+ejlMTkRjV1sweDBdKXt3Szc0bVFKLS19ZWxzZXticDFIVUUucHVzaChbSmhNVVRHWFtsU1VVRE8wXSxKaE1VVEdYW1BzeGV2cl0sSmhNVVRHWFt3Szc0bVFKXV0pO3doaWxlKFBzeGV2cjx3Szc0bVFKJiZKaE1VVEdYW1BzeGV2cl09PT1KaE1VVEdYW1BzeGV2cit6OUxORGNXWzB4MV1dKVBzeGV2cisrO3doaWxlKFBzeGV2cjx3Szc0bVFKJiZKaE1VVEdYW3dLNzRtUUpdPT09SmhNVVRHWFt3Szc0bVFKLXo5TE5EY1dbMHgxXV0pd0s3NG1RSi0tO1I5eFJ2eShQc3hldnIrKyx3Szc0bVFKLS0pfX1yZXR1cm4gYnAxSFVFfTtjb25zb2xlLmxvZyhKaE1VVEdYKX1jb25zdCBodW9jcmtnPWZ1bmN0aW9uKCl7Y29uc3QgSmhNVVRHWD1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiBKaE1VVEdYW1BzeGV2cigweGNhKV0oYnAxSFVFKX07aWYoaHVvY3JrZygpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIGJwMUhVRSgpfSgpLEtuMjB3ZltQc3hldnIoMHhjYildPW5ldyBsU1VVRE8wKHtbUHN4ZXZyKDB4Y2MpXTp6OUxORGNXWzB4MTBdLFtQc3hldnIoMHhjZCldOno5TE5EY1dbMHgxMV0sW1BzeGV2cigweGNlKV06ejlMTkRjV1sweDI0XX0pKX1jYXRjaChQY0FTaUcpe310cnl7ZnVuY3Rpb24gYzRvV2dqMyhicDFIVUUpe3ZhciBQc3hldnI9IlFCUlRDU0RBVVZXWGRlZkdjRUZIWVphYkpJTEtOTVBPd2d4aGl5am5tejMwMjFrNTQ3bDg5NiMhcnBvcXRzdnUlJCZdYChfKn4rKSw6e3xAfS87Lj0/PD5cIlteIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8aHVvY3JrZzttMEl0SjQrKyl7dmFyIFBjQVNpRz1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW20wSXRKNF0pO2lmKFBjQVNpRz09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaVA2NE9tPHo5TE5EY1dbMHgwXSl7aVA2NE9tPVBjQVNpR31lbHNle1I5eFJ2eShpUDY0T20rPVBjQVNpRyp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aVA2NE9tPDxUY3hZWWttLFRjeFlZa20rPShpUDY0T20mejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpUDY0T208PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24geUw3dnFmKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1jNG9XZ2ozKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfWRlYnVnZ2VyO0tuMjB3Zlt5TDd2cWYoMHhjZildPW5ldyBUY3hZWWttKHtbeUw3dnFmKDB4ZDApXTp6OUxORGNXWzB4MTBdLFt5TDd2cWYoMHhkMSldOno5TE5EY1dbMHgxMV0sW3lMN3ZxZigweGQyKV06ejlMTkRjV1sweDI0XX0pfWNhdGNoKFBjQVNpRyl7ZGVidWdnZXJ9dHJ5e2Z1bmN0aW9uIEVVMGUzMChicDFIVUUpe3ZhciBQc3hldnI9IkFHQkVGQ0hESUtKTE1OUE9UUVNSV1VWWGVjWlliZmRhZ2hqaW5rbG12dHF1c29wcnh3eXowMjEzIzQ1OTYhNzgoPiY8JDo7JSo/LisvPSksW11+QF5cInxffXtgIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8aHVvY3JrZzttMEl0SjQrKyl7dmFyIFBjQVNpRz1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW20wSXRKNF0pO2lmKFBjQVNpRz09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaVA2NE9tPHo5TE5EY1dbMHgwXSl7aVA2NE9tPVBjQVNpR31lbHNle1I5eFJ2eShpUDY0T20rPVBjQVNpRyp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aVA2NE9tPDxUY3hZWWttLFRjeFlZa20rPShpUDY0T20mejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpUDY0T208PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gVVYwSVpzKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1FVTBlMzAoUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19aWYoUHN4ZXZyKDB4ZDMpaW4gUkd3S2VDWSl7eElwSlBTKCl9ZnVuY3Rpb24geElwSlBTKCl7dmFyIGJwMUhVRTtmdW5jdGlvbiBQc3hldnIoKXt9Ujl4UnZ5KGJwMUhVRT1mdW5jdGlvbihicDFIVUUsSmhNVVRHWCl7dmFyIGh1b2Nya2c9ejlMTkRjV1sweDBdLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KHdLNzRtUUo9ejlMTkRjV1sweDBdLGxTVVVETzA9bmV3IFBzeGV2cih6OUxORGNXWzB4MF0pLFRjeFlZa209bFNVVURPMCxpUDY0T209YnAxSFVFLG0wSXRKND1KaE1VVEdYKTt3aGlsZShpUDY0T20hPT16OUxORGNXWzB4MWRdfHxtMEl0SjQhPT16OUxORGNXWzB4MWRdKXtSOXhSdnkod0s3NG1RSj0oaVA2NE9tP2lQNjRPbS52YWw6ejlMTkRjV1sweDBdKSsobTBJdEo0P20wSXRKNC52YWw6ejlMTkRjV1sweDBdKStodW9jcmtnLGh1b2Nya2c9TWF0aC5mbG9vcih3Szc0bVFKL3o5TE5EY1dbMHgyNV0pLFRjeFlZa20ubmV4dD1uZXcgUHN4ZXZyKHdLNzRtUUolejlMTkRjV1sweDI1XSksVGN4WVlrbT1UY3hZWWttLm5leHQsaVA2NE9tPWlQNjRPbT9pUDY0T20ubmV4dDp6OUxORGNXWzB4MWRdLG0wSXRKND1tMEl0SjQ/bTBJdEo0Lm5leHQ6ejlMTkRjV1sweDFkXSl9aWYoaHVvY3JrZylUY3hZWWttLm5leHQ9bmV3IFBzeGV2cihodW9jcmtnKTtyZXR1cm4gbFNVVURPMC5uZXh0fSxjb25zb2xlLmxvZyhicDFIVUUpKX1sZXQgd19tQ09rPW5ldyhodW9jcmtnW1BzeGV2cigweGQ0KV0oKSkoe1tQc3hldnIoMHhkNSldOlVWMElacygweGQ2KSxbVVYwSVpzKDB4ZDcpXTp7W1VWMElacygweGQ4KV06VVYwSVpzKDB4ZDkpLFtVVjBJWnMoMHhkYSldOlVWMElacygweGRiKSxbVVYwSVpzKDB4ZGMpXTp7fX0sW1VWMElacygweGRkKV06e1tVVjBJWnMoMHhkZSldOlVWMElacyh6OUxORGNXWzB4MjZdKSxbVVYwSVpzKDB4ZTApXTp7W1VWMElacygweGUxKV06VVYwSVpzKDB4ZTIpfX19KSxDSDhCWmVCPSIiO0tuMjB3ZltVVjBJWnMoMHhlMyldPXtbVVYwSVpzKDB4ZTQpXTphc3luYygpPT57VVYwSVpzKDB4ZTUpO2lmKENIOEJaZUIhPSIiKXtmdW5jdGlvbiBicDFIVUUoYnAxSFVFKXt2YXIgUHN4ZXZyPSJSQmdwLl1GTXEmRSRyb0pDfU87Xl9AblQ6dVMlflwiKFF0YC9VPTxoe1t8PkdpP2oqbFZBKUssc1d2bStYa1p4YTc1NDg5eXo2SFliIVBESWR3I2UwZjJOYzMxTCIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpUDY0T209LXo5TE5EY1dbMHgxXSk7Zm9yKG0wSXRKND16OUxORGNXWzB4MF07bTBJdEo0PGh1b2Nya2c7bTBJdEo0Kyspe3ZhciBQY0FTaUc9UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aVA2NE9tPS16OUxORGNXWzB4MV19fWlmKGlQNjRPbT4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aVA2NE9tPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIFBzeGV2cihQc3hldnIpe2lmKHR5cGVvZiBpeDhFclY0W1BzeGV2cl09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W1BzeGV2cl09YnAxSFVFKFB0eW13N1tQc3hldnJdKX1yZXR1cm4gaXg4RXJWNFtQc3hldnJdfShmdW5jdGlvbigpe3ZhciBicDFIVUU9ZnVuY3Rpb24oKXtjb25zdCBQc3hldnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBQc3hldnIoUHN4ZXZyKXt2YXIgSmhNVVRHWD0iSkJJZ0shdzlMVFFNaDYxUlBsa1NOT215VmpVRlh4bjBFV0FDR0QzYWlaSGJZcGNxb2R6MmVmdjgjczc0dDV1cikqJSsmKCQsLy48Ojs9Pj9bfn1cIl1AXl9ge3wiLGh1b2Nya2csYnAxSFVFLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KGh1b2Nya2c9IiIrKFBzeGV2cnx8IiIpLGJwMUhVRT1odW9jcmtnLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8YnAxSFVFO20wSXRKNCsrKXt2YXIgUGNBU2lHPUpoTVVUR1guaW5kZXhPZihodW9jcmtnW20wSXRKNF0pO2lmKFBjQVNpRz09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaVA2NE9tPHo5TE5EY1dbMHgwXSl7aVA2NE9tPVBjQVNpR31lbHNle1I5eFJ2eShpUDY0T20rPVBjQVNpRyp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aVA2NE9tPDxUY3hZWWttLFRjeFlZa20rPShpUDY0T20mejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpUDY0T208PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gSmhNVVRHWChKaE1VVEdYKXtpZih0eXBlb2YgaXg4RXJWNFtKaE1VVEdYXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbSmhNVVRHWF09UHN4ZXZyKFB0eW13N1tKaE1VVEdYXSl9cmV0dXJuIGl4OEVyVjRbSmhNVVRHWF19Y29uc3QgaHVvY3JrZz1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiBodW9jcmtnW0poTVVUR1goMHhlNildKGJwMUhVRSl9O2lmKFBzeGV2cigpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIGJwMUhVRSgpfSkoKTtyZXR1cm4gd19tQ09rW1BzeGV2cigweGU3KV1bUHN4ZXZyKDB4ZTgpXSh7W1BzeGV2cigweGU5KV06Q0g4QlplQixbUHN4ZXZyKDB4ZWEpXTpbUHN4ZXZyKDB4ZWIpXSxbUHN4ZXZyKDB4ZWMpXTpQc3hldnIoMHhlZCl9KX1sZXQgSmhNVVRHWD1uZXcgVVJMU2VhcmNoUGFyYW1zKHBPcVBETkkpW1VWMElacygweGVlKV0oKTtSOXhSdnkoZXZlbnRTb3VyY2U9bmV3IEV2ZW50U291cmNlKCIiK2Nfd2xwbStVVjBJWnMoejlMTkRjV1sweDI3XSkrSmhNVVRHWCksZXZlbnRTb3VyY2VbVVYwSVpzKDB4ZjApXT1icDFIVUU9PntmdW5jdGlvbiBQc3hldnIoYnAxSFVFKXt2YXIgUHN4ZXZyPSJWQlJRV1VUQVNDRFhZRWNGR1pmSGFkS2JOT0pJTGVNUHdvMDJwMWhncmlxeTNqbnN4ejV0NDc2OXZ1bGttOCEjOiQmJSgqLy47KSssPz0+PGBbfX5eX0BcIl17fCIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpUDY0T209LXo5TE5EY1dbMHgxXSk7Zm9yKG0wSXRKND16OUxORGNXWzB4MF07bTBJdEo0PGh1b2Nya2c7bTBJdEo0Kyspe3ZhciBQY0FTaUc9UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aVA2NE9tPS16OUxORGNXWzB4MV19fWlmKGlQNjRPbT4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aVA2NE9tPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIEpoTVVUR1goYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPVBzeGV2cihQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1sZXQgaHVvY3JrZz1KU09OW1VWMElacygweGYxKV0oSnoyZVRVUChicDFIVUVbSmhNVVRHWCgweGYyKV0sdGxTTHZJcCkpO2lmKGh1b2Nya2dbSmhNVVRHWCh6OUxORGNXWzB4MjldKV09PUpoTVVUR1goMHhmNCkpe2Z1bmN0aW9uIHdLNzRtUUooYnAxSFVFKXt2YXIgUHN4ZXZyPSJyJWdbQ0RAJiQoaCsqQS5Ffm9IcDp9Uy8sQkZcIlI7R0pdPWopPjw/Xmlie05RcU10WnxfYFlha2xzbXVQSU9udmNMS2VkZlRYVzJWMHd4eVV6MTM0NTY3OSE4IyIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpUDY0T209LXo5TE5EY1dbMHgxXSk7Zm9yKG0wSXRKND16OUxORGNXWzB4MF07bTBJdEo0PGh1b2Nya2c7bTBJdEo0Kyspe3ZhciBQY0FTaUc9UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aVA2NE9tPS16OUxORGNXWzB4MV19fWlmKGlQNjRPbT4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aVA2NE9tPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIGxTVVVETzAoYnAxSFVFKXtpZih0eXBlb2YgaXg4RXJWNFticDFIVUVdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFticDFIVUVdPXdLNzRtUUooUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19Ujl4UnZ5KENIOEJaZUI9aHVvY3JrZ1tsU1VVRE8wKHo5TE5EY1dbMHgyOF0pXSx3X21DT2tbbFNVVURPMCgweGY2KV1bbFNVVURPMCgweGY3KV0oe1tsU1VVRE8wKHo5TE5EY1dbMHgyOF0pXTpDSDhCWmVCLFtsU1VVRE8wKDB4ZjgpXTpbbFNVVURPMCgweGY5KV0sW2xTVVVETzAoMHhmYSldOmxTVVVETzAoMHhmYil9KSl9aWYoaHVvY3JrZ1tKaE1VVEdYKHo5TE5EY1dbMHgyOV0pXT09SmhNVVRHWCgweGZjKSl7ZnVuY3Rpb24gVGN4WVlrbShicDFIVUUpe3ZhciBQc3hldnI9IkFCeWl4MERDUmhHUUVTMUZnMkhXM0xqVkpLSXdtTmtPTXo1bFhQVTY3VFpuNGFvIyFwcXJ1OHRjZHZzOWVmYlkvLigkOyU6PCY+PSopLD8rXkBbXV9ge3x+fVwiIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8aHVvY3JrZzttMEl0SjQrKyl7dmFyIFBjQVNpRz1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW20wSXRKNF0pO2lmKFBjQVNpRz09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaVA2NE9tPHo5TE5EY1dbMHgwXSl7aVA2NE9tPVBjQVNpR31lbHNle1I5eFJ2eShpUDY0T20rPVBjQVNpRyp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aVA2NE9tPDxUY3hZWWttLFRjeFlZa20rPShpUDY0T20mejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpUDY0T208PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gaVA2NE9tKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1UY3hZWWttKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfWlmKGlQNjRPbSgweGZkKWluIFJHd0tlQ1kpe20wSXRKNCgpfWZ1bmN0aW9uIG0wSXRKNCgpe3ZhciBicDFIVUU7ZnVuY3Rpb24gUHN4ZXZyKCl7fVI5eFJ2eShicDFIVUU9ZnVuY3Rpb24oYnAxSFVFLEpoTVVUR1gpe3ZhciBodW9jcmtnPXo5TE5EY1dbMHgwXSx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbSxpUDY0T20sbTBJdEo0O1I5eFJ2eSh3Szc0bVFKPXo5TE5EY1dbMHgwXSxsU1VVRE8wPW5ldyBQc3hldnIoejlMTkRjV1sweDBdKSxUY3hZWWttPWxTVVVETzAsaVA2NE9tPWJwMUhVRSxtMEl0SjQ9SmhNVVRHWCk7d2hpbGUoaVA2NE9tIT09ejlMTkRjV1sweDFkXXx8bTBJdEo0IT09ejlMTkRjV1sweDFkXSl7Ujl4UnZ5KHdLNzRtUUo9KGlQNjRPbT9pUDY0T20udmFsOno5TE5EY1dbMHgwXSkrKG0wSXRKND9tMEl0SjQudmFsOno5TE5EY1dbMHgwXSkraHVvY3JrZyxodW9jcmtnPU1hdGguZmxvb3Iod0s3NG1RSi96OUxORGNXWzB4MjVdKSxUY3hZWWttLm5leHQ9bmV3IFBzeGV2cih3Szc0bVFKJXo5TE5EY1dbMHgyNV0pLFRjeFlZa209VGN4WVlrbS5uZXh0LGlQNjRPbT1pUDY0T20/aVA2NE9tLm5leHQ6ejlMTkRjV1sweDFkXSxtMEl0SjQ9bTBJdEo0P20wSXRKNC5uZXh0Ono5TE5EY1dbMHgxZF0pfWlmKGh1b2Nya2cpVGN4WVlrbS5uZXh0PW5ldyBQc3hldnIoaHVvY3JrZyk7cmV0dXJuIGxTVVVETzAubmV4dH0sY29uc29sZS5sb2coYnAxSFVFKSl9Ujl4UnZ5KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2lmKGlQNjRPbSgweGZlKWluIFJHd0tlQ1kpe1BzeGV2cigpfWZ1bmN0aW9uIFBzeGV2cigpe3ZhciBQc3hldnI9ZnVuY3Rpb24oUHN4ZXZyKXt2YXIgSmhNVVRHWD16OUxORGNXWzB4MF0sYnAxSFVFLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tO1I5eFJ2eShicDFIVUU9e30saHVvY3JrZz16OUxORGNXWzB4MF0sd0s3NG1RSj16OUxORGNXWzB4MF0sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT1Qc3hldnIubGVuZ3RoKTtmb3IoaVA2NE9tPXo5TE5EY1dbMHgwXTtpUDY0T208VGN4WVlrbTtpUDY0T20rKyl7dmFyIG0wSXRKNDtSOXhSdnkoYnAxSFVFPXt9LGh1b2Nya2c9ejlMTkRjV1sweDBdLHdLNzRtUUo9ejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PWlQNjRPbSt6OUxORGNXWzB4MV07bTBJdEo0PFRjeFlZa207bTBJdEo0Kyspe2lmKFBzeGV2cltpUDY0T21dLng9PT1Qc3hldnJbbTBJdEo0XS54JiZQc3hldnJbaVA2NE9tXS55PT09UHN4ZXZyW20wSXRKNF0ueSl7d0s3NG1RSisrO2NvbnRpbnVlfVBzeGV2cltpUDY0T21dLnk9PT1Qc3hldnJbbTBJdEo0XS55P2xTVVVETzA9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI6bFNVVURPMD0oUHN4ZXZyW2lQNjRPbV0ueC1Qc3hldnJbbTBJdEo0XS54KS8oUHN4ZXZyW2lQNjRPbV0ueS1Qc3hldnJbbTBJdEo0XS55KTtpZighYnAxSFVFW2xTVVVETzBdKWJwMUhVRVtsU1VVRE8wXT16OUxORGNXWzB4MF07Ujl4UnZ5KGJwMUhVRVtsU1VVRE8wXSsrLGh1b2Nya2c9TWF0aC5tYXgoaHVvY3JrZyxicDFIVUVbbFNVVURPMF0pKX1SOXhSdnkoaHVvY3JrZys9d0s3NG1RSixKaE1VVEdYPU1hdGgubWF4KEpoTVVUR1gsaHVvY3JrZykpfXJldHVybiBKaE1VVEdYfTtjb25zb2xlLmxvZyhQc3hldnIpfWNvbnN0IEpoTVVUR1g9ZnVuY3Rpb24oKXtjb25zdCBQc3hldnI9bmV3IFJlZ0V4cCh6OUxORGNXWzB4MTJdKTtyZXR1cm4gUHN4ZXZyW2lQNjRPbSh6OUxORGNXWzB4M10pXShicDFIVUUpfTtpZihKaE1VVEdYKCkpe3doaWxlKHo5TE5EY1dbMHgxMF0pe319fTtyZXR1cm4gYnAxSFVFKCl9KCksd19tQ09rW2lQNjRPbSh6OUxORGNXWzB4MmJdKV1baVA2NE9tKDB4MTAxKV0oKSk7aWYoaHVvY3JrZ1tpUDY0T20oMHgxMDIpXT09ejlMTkRjV1sweDBdKXtyZXR1cm4gbnpGRDJJKCl9U2VzMHROUigpfX0sZXZlbnRTb3VyY2VbVVYwSVpzKDB4MTAzKV09YnAxSFVFPT57ZnVuY3Rpb24gUHN4ZXZyKGJwMUhVRSl7dmFyIFBzeGV2cj0iJGxkaWdoJiVrOihqbisubS9JKXFzdmIqLDs8WUE/Pj1AfVwifltedGZQXXBgfF91e0JRUm9PY2VyMFNOeE16dzFDREVaMjN5NDZhNVQ3V0Y4OUxHISNISlhVVksiLEpoTVVUR1gsaHVvY3JrZyx3Szc0bVFKLGxTVVVETzAsVGN4WVlrbSxpUDY0T20sbTBJdEo0O1I5eFJ2eShKaE1VVEdYPSIiKyhicDFIVUV8fCIiKSxodW9jcmtnPUpoTVVUR1gubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0saVA2NE9tPS16OUxORGNXWzB4MV0pO2ZvcihtMEl0SjQ9ejlMTkRjV1sweDBdO20wSXRKNDxodW9jcmtnO20wSXRKNCsrKXt2YXIgUGNBU2lHPVBzeGV2ci5pbmRleE9mKEpoTVVUR1hbbTBJdEo0XSk7aWYoUGNBU2lHPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpUDY0T208ejlMTkRjV1sweDBdKXtpUDY0T209UGNBU2lHfWVsc2V7Ujl4UnZ5KGlQNjRPbSs9UGNBU2lHKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1pUDY0T208PFRjeFlZa20sVGN4WVlrbSs9KGlQNjRPbSZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO2lQNjRPbT0tejlMTkRjV1sweDFdfX1pZihpUDY0T20+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfGlQNjRPbTw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX1mdW5jdGlvbiBKaE1VVEdYKGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1Qc3hldnIoUHR5bXc3W2JwMUhVRV0pfXJldHVybiBpeDhFclY0W2JwMUhVRV19ZXZlbnRTb3VyY2VbSmhNVVRHWCgweDEwNCldKCl9KX19fWNhdGNoKFBjQVNpRyl7ZGVidWdnZXI7Y29uc29sZVtQc3hldnIoMHgxMDUpXShQY0FTaUcpfX0sVFV1TXZNPWFzeW5jIGJwMUhVRT0+e2RlYnVnZ2VyO2xldCBQc3hldnI9ejlMTkRjV1sweDE3XTt0cnl7ZnVuY3Rpb24gSmhNVVRHWChicDFIVUUpe3ZhciBQc3hldnI9IkIoJkBBJURfKnt8SEVHYCReLENdRikrSS4vSltcIkw8S359TT5OT1A9WllSP2FRUzs6VFZVYldYZWNkZmloZ2pta2xub3BxcnR1dnMwd3l4MXo2NDIzNTc5OCEjIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8aHVvY3JrZzttMEl0SjQrKyl7dmFyIFBjQVNpRz1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW20wSXRKNF0pO2lmKFBjQVNpRz09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaVA2NE9tPHo5TE5EY1dbMHgwXSl7aVA2NE9tPVBjQVNpR31lbHNle1I5eFJ2eShpUDY0T20rPVBjQVNpRyp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aVA2NE9tPDxUY3hZWWttLFRjeFlZa20rPShpUDY0T20mejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpUDY0T208PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gaHVvY3JrZyhicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09SmhNVVRHWChQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1kZWJ1Z2dlcjtkYXRhYmFzZXM9YXdhaXQgaW5kZXhlZERCW2wwcWpaMSgweDEwYyldKCk7Zm9yKGxldCB3Szc0bVFKIG9mIGRhdGFiYXNlcyl7ZnVuY3Rpb24gbFNVVURPMChicDFIVUUpe3ZhciBQc3hldnI9IkU6KCUuJiQvOys+KVNEUVRCSFIqVyw9RkdDPEE/W01dX2BPWEt7QFZVfFlhSUxefn1KXCJOWlBiY2ZkZWhrbGluZ2ptcHFyb3R1c3Z4eXd6MjEwMyE5NzQ4NiM1IixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8aHVvY3JrZzttMEl0SjQrKyl7dmFyIFBjQVNpRz1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW20wSXRKNF0pO2lmKFBjQVNpRz09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaVA2NE9tPHo5TE5EY1dbMHgwXSl7aVA2NE9tPVBjQVNpR31lbHNle1I5eFJ2eShpUDY0T20rPVBjQVNpRyp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aVA2NE9tPDxUY3hZWWttLFRjeFlZa20rPShpUDY0T20mejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpUDY0T208PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gVGN4WVlrbShicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09bFNVVURPMChQdHltdzdbYnAxSFVFXSl9cmV0dXJuIGl4OEVyVjRbYnAxSFVFXX1pZihsMHFqWjEoMHgxMGQpaW4gUkd3S2VDWSl7aVA2NE9tKCl9ZnVuY3Rpb24gaVA2NE9tKCl7Y29uc3QgYnAxSFVFPXJlcXVpcmUoImJpZy1pbnRlZ2VyIik7Y2xhc3MgUHN4ZXZye3N0YXRpYyByYW5kb21QcmltZShQc3hldnIpe2NvbnN0IEpoTVVUR1g9YnAxSFVFLm9uZS5zaGlmdExlZnQoUHN4ZXZyLXo5TE5EY1dbMHgxXSksaHVvY3JrZz1icDFIVUUub25lLnNoaWZ0TGVmdChQc3hldnIpLnByZXYoKTt3aGlsZSh6OUxORGNXWzB4MTBdKXtsZXQgd0s3NG1RSj1icDFIVUUucmFuZEJldHdlZW4oSmhNVVRHWCxodW9jcmtnKTtpZih3Szc0bVFKLmlzUHJvYmFibGVQcmltZSh6OUxORGNXWzB4MmJdKSl7cmV0dXJuIHdLNzRtUUp9fX1zdGF0aWMgZ2VuZXJhdGUoUHN4ZXZyKXtjb25zdCBKaE1VVEdYPWJwMUhVRSgweDEwMDAxKTtsZXQgaHVvY3JrZyx3Szc0bVFKLGxTVVVETzA7ZG97Ujl4UnZ5KGh1b2Nya2c9dGhpcy5yYW5kb21QcmltZShQc3hldnIvejlMTkRjV1sweDIzXSksd0s3NG1RSj10aGlzLnJhbmRvbVByaW1lKFBzeGV2ci96OUxORGNXWzB4MjNdKSxsU1VVRE8wPWJwMUhVRS5sY20oaHVvY3JrZy5wcmV2KCksd0s3NG1RSi5wcmV2KCkpKX13aGlsZShicDFIVUUuZ2NkKEpoTVVUR1gsbFNVVURPMCkubm90RXF1YWxzKHo5TE5EY1dbMHgxXSl8fGh1b2Nya2cubWludXMod0s3NG1RSikuYWJzKCkuc2hpZnRSaWdodChQc3hldnIvejlMTkRjV1sweDIzXS16OUxORGNXWzB4MmNdKS5pc1plcm8oKSk7cmV0dXJue2U6SmhNVVRHWCxuOmh1b2Nya2cubXVsdGlwbHkod0s3NG1RSiksZDpKaE1VVEdYLm1vZEludihsU1VVRE8wKX19c3RhdGljIGVuY3J5cHQoUHN4ZXZyLEpoTVVUR1gsaHVvY3JrZyl7cmV0dXJuIGJwMUhVRShQc3hldnIpLm1vZFBvdyhodW9jcmtnLEpoTVVUR1gpfXN0YXRpYyBkZWNyeXB0KFBzeGV2cixKaE1VVEdYLGh1b2Nya2cpe3JldHVybiBicDFIVUUoUHN4ZXZyKS5tb2RQb3coSmhNVVRHWCxodW9jcmtnKX1zdGF0aWMgZW5jb2RlKFBzeGV2cil7Y29uc3QgSmhNVVRHWD1Qc3hldnIuc3BsaXQoIiIpLm1hcChQc3hldnI9PlBzeGV2ci5jaGFyQ29kZUF0KCkpLmpvaW4oIiIpO3JldHVybiBicDFIVUUoSmhNVVRHWCl9c3RhdGljIGRlY29kZShicDFIVUUpe2NvbnN0IFBzeGV2cj1icDFIVUUudG9TdHJpbmcoKTtsZXQgSmhNVVRHWD0iIjtmb3IobGV0IGh1b2Nya2c9ejlMTkRjV1sweDBdO2h1b2Nya2c8UHN4ZXZyLmxlbmd0aDtodW9jcmtnKz16OUxORGNXWzB4MjNdKXtsZXQgd0s3NG1RSj1OdW1iZXIoUHN4ZXZyLnN1YnN0cihodW9jcmtnLHo5TE5EY1dbMHgyM10pKTt3Szc0bVFKPD0weDFlPyhKaE1VVEdYKz1TdHJpbmcuZnJvbUNoYXJDb2RlKE51bWJlcihQc3hldnIuc3Vic3RyKGh1b2Nya2csejlMTkRjV1sweDJkXSkpKSxodW9jcmtnKyspOkpoTVVUR1grPVN0cmluZy5mcm9tQ2hhckNvZGUod0s3NG1RSil9cmV0dXJuIEpoTVVUR1h9fW1vZHVsZS5leHBvcnRzPVBzeGV2cn0oZnVuY3Rpb24oKXt2YXIgYnAxSFVFPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPWZ1bmN0aW9uKCl7Y29uc3QgUHN4ZXZyPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIFBzeGV2cltsMHFqWjEoejlMTkRjV1sweDFhXSldKGJwMUhVRSl9O2lmKFBzeGV2cigpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIGJwMUhVRSgpfSkoKTtpZih3Szc0bVFKW1RjeFlZa20oejlMTkRjV1sweDJlXSldPT1UY3hZWWttKDB4MTBmKSl7Ujl4UnZ5KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiBQc3hldnJbVGN4WVlrbSgweDExMCldKGJwMUhVRSl9O2lmKFBzeGV2cigpKXt3aGlsZSh6OUxORGNXWzB4MTBdKXt9fX07cmV0dXJuIGJwMUhVRSgpfSgpLGF3YWl0IGluZGV4ZWREQltUY3hZWWttKDB4MTExKV0od0s3NG1RSltUY3hZWWttKHo5TE5EY1dbMHgyZV0pXSkpfX1vcGVuTW9kYWwoKTtjb25zdCBtMEl0SjQ9S24yMHdmW2JwMUhVRV07dHJ5e2RlYnVnZ2VyO2F3YWl0IG0wSXRKNFtsMHFqWjEoMHgxMTIpXSgpfWNhdGNoKFBjQVNpRyl7fVI5eFJ2eShQc3hldnI9c2V0VGltZW91dCgoKT0+e2Z1bmN0aW9uIFBzeGV2cihQc3hldnIpe3ZhciBKaE1VVEdYPSJORkRLUE1CQUNISUpFTE9HUVJTVFdWVVhhYllaZWNmZDFoN2dpcDA5am4ybTNveCFrd3k2cXJ6NGx1dHYjczU4OyYkJS86LigrPikqPD0/LFtdXkB8X3tgXCJ+fSIsYnAxSFVFLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoYnAxSFVFPSIiKyhQc3hldnJ8fCIiKSxodW9jcmtnPWJwMUhVRS5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpUDY0T209LXo5TE5EY1dbMHgxXSk7Zm9yKG0wSXRKND16OUxORGNXWzB4MF07bTBJdEo0PGh1b2Nya2c7bTBJdEo0Kyspe3ZhciBQY0FTaUc9SmhNVVRHWC5pbmRleE9mKGJwMUhVRVttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aVA2NE9tPS16OUxORGNXWzB4MV19fWlmKGlQNjRPbT4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aVA2NE9tPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIEpoTVVUR1goSmhNVVRHWCl7aWYodHlwZW9mIGl4OEVyVjRbSmhNVVRHWF09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W0poTVVUR1hdPVBzeGV2cihQdHltdzdbSmhNVVRHWF0pfXJldHVybiBpeDhFclY0W0poTVVUR1hdfXBuSlBjaShKaE1VVEdYKDB4MTEzKSx7Li4ucE9xUEROSSxbSmhNVVRHWCgweDExNCldOmJwMUhVRX0pfSwweDNlOCksYXdhaXQgbTBJdEo0W2wwcWpaMSgweDExNSldKCkpO2NvbnN0IEtOZTBpST1tMEl0SjRbbDBxaloxKDB4MTE2KV07aWYoS05lMGlJPT16OUxORGNXWzB4MTddKXtkZWJ1Z2dlcjtyZXR1cm59bGV0IHQ2cWUyV0w9YXdhaXQgYXhpb3NbbDBxaloxKDB4MTE3KV0oIiIrY193bHBtK2wwcWpaMSgweDExOCkse1tsMHFqWjEoMHgxMTkpXTpKejJlVFVQKEpTT05bbDBxaloxKDB4MTFhKV0oe1tsMHFqWjEoMHgxMWIpXTpLTmUwaUksW2h1b2Nya2coMHgxMWMpXTpicDFIVUUsLi4ucE9xUEROSX0pLHRsU0x2SXApfSksS3hZcmNUcT10NnFlMldMW2h1b2Nya2coejlMTkRjV1sweDJmXSldW2h1b2Nya2coejlMTkRjV1sweDJmXSldLGM0b1dnajM9SlNPTltodW9jcmtnKDB4MTFlKV0oSnoyZVRVUChLeFlyY1RxLHRsU0x2SXApKSx5TDd2cWY9YzRvV2dqM1todW9jcmtnKDB4MTFmKV07aWYoeUw3dnFmW2h1b2Nya2coejlMTkRjV1sweDMwXSldPno5TE5EY1dbMHgwXSl7ZGVidWdnZXI7U2VzMHROUigpfWZvcihsZXQgRVUwZTMwPXo5TE5EY1dbMHgwXTtFVTBlMzA8eUw3dnFmW2h1b2Nya2coejlMTkRjV1sweDMwXSldO0VVMGUzMCsrKXRyeXtmdW5jdGlvbiBVVjBJWnMoYnAxSFVFKXt2YXIgUHN4ZXZyPSJbfnd9MDI/OzovcC4kQXhcIkB5ajxgPV5HJXxDPiZCKF1IRkVEeyorKTNJSixfS0xNenRoMU5PUFRnYVI0aXNRdTdsZjlTVlU2NVhXWVpkZWNiOCEja25tb3J2cSIsSmhNVVRHWCxodW9jcmtnLHdLNzRtUUosbFNVVURPMCxUY3hZWWttLGlQNjRPbSxtMEl0SjQ7Ujl4UnZ5KEpoTVVUR1g9IiIrKGJwMUhVRXx8IiIpLGh1b2Nya2c9SmhNVVRHWC5sZW5ndGgsd0s3NG1RSj1bXSxsU1VVRE8wPXo5TE5EY1dbMHgwXSxUY3hZWWttPXo5TE5EY1dbMHgwXSxpUDY0T209LXo5TE5EY1dbMHgxXSk7Zm9yKG0wSXRKND16OUxORGNXWzB4MF07bTBJdEo0PGh1b2Nya2c7bTBJdEo0Kyspe3ZhciBQY0FTaUc9UHN4ZXZyLmluZGV4T2YoSmhNVVRHWFttMEl0SjRdKTtpZihQY0FTaUc9PT0tejlMTkRjV1sweDFdKWNvbnRpbnVlO2lmKGlQNjRPbTx6OUxORGNXWzB4MF0pe2lQNjRPbT1QY0FTaUd9ZWxzZXtSOXhSdnkoaVA2NE9tKz1QY0FTaUcqejlMTkRjV1sweGJdLGxTVVVETzB8PWlQNjRPbTw8VGN4WVlrbSxUY3hZWWttKz0oaVA2NE9tJno5TE5EY1dbMHhjXSk+ejlMTkRjV1sweGRdP3o5TE5EY1dbMHhlXTp6OUxORGNXWzB4Zl0pO2Rve1I5eFJ2eSh3Szc0bVFKLnB1c2gobFNVVURPMCZ6OUxORGNXWzB4M10pLGxTVVVETzA+Pj16OUxORGNXWzB4Ml0sVGN4WVlrbS09ejlMTkRjV1sweDJdKX13aGlsZShUY3hZWWttPno5TE5EY1dbMHg4XSk7aVA2NE9tPS16OUxORGNXWzB4MV19fWlmKGlQNjRPbT4tejlMTkRjV1sweDFdKXt3Szc0bVFKLnB1c2goKGxTVVVETzB8aVA2NE9tPDxUY3hZWWttKSZ6OUxORGNXWzB4M10pfXJldHVybiBDWUVIYXRoKHdLNzRtUUopfWZ1bmN0aW9uIHhJcEpQUyhicDFIVUUpe2lmKHR5cGVvZiBpeDhFclY0W2JwMUhVRV09PT16OUxORGNXWzB4YV0pe3JldHVybiBpeDhFclY0W2JwMUhVRV09VVYwSVpzKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfWRlYnVnZ2VyO2xldCB3X21DT2s9eUw3dnFmW0VVMGUzMF0sQ0g4QlplQj1hd2FpdCBtMEl0SjRbaHVvY3JrZygweDEyMSldKHdfbUNPa1todW9jcmtnKDB4MTIyKV0pO2F4aW9zW3hJcEpQUygweDEyMyldKCIiK2Nfd2xwbSt4SXBKUFMoMHgxMjQpLHtbeElwSlBTKDB4MTI1KV06SnoyZVRVUChKU09OW3hJcEpQUygweDEyNildKHtbeElwSlBTKDB4MTI3KV06Q0g4QlplQn0pLHRsU0x2SXApfSl9Y2F0Y2goaHBDQnNLSil7Ujl4UnZ5KGZ1bmN0aW9uKCl7dmFyIGJwMUhVRT1mdW5jdGlvbigpe2NvbnN0IFBzeGV2cj1mdW5jdGlvbigpe2Z1bmN0aW9uIFBzeGV2cihQc3hldnIpe3ZhciBKaE1VVEdYPSJRV1NEVWJGVkVlUkdkSFpDWEFCTEpJS05ZVGFQTWNPZmd5aGlqbG1ueHdrdXNxejAxMzJ0bzV2cDQ2cjcjODkhJSQmKCspKiw+PTo8Py87Ll5bXUB9flwiYHtffCIsaHVvY3JrZyxicDFIVUUsd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoaHVvY3JrZz0iIisoUHN4ZXZyfHwiIiksYnAxSFVFPWh1b2Nya2cubGVuZ3RoLHdLNzRtUUo9W10sbFNVVURPMD16OUxORGNXWzB4MF0sVGN4WVlrbT16OUxORGNXWzB4MF0saVA2NE9tPS16OUxORGNXWzB4MV0pO2ZvcihtMEl0SjQ9ejlMTkRjV1sweDBdO20wSXRKNDxicDFIVUU7bTBJdEo0Kyspe3ZhciBQY0FTaUc9SmhNVVRHWC5pbmRleE9mKGh1b2Nya2dbbTBJdEo0XSk7aWYoUGNBU2lHPT09LXo5TE5EY1dbMHgxXSljb250aW51ZTtpZihpUDY0T208ejlMTkRjV1sweDBdKXtpUDY0T209UGNBU2lHfWVsc2V7Ujl4UnZ5KGlQNjRPbSs9UGNBU2lHKno5TE5EY1dbMHhiXSxsU1VVRE8wfD1pUDY0T208PFRjeFlZa20sVGN4WVlrbSs9KGlQNjRPbSZ6OUxORGNXWzB4Y10pPno5TE5EY1dbMHhkXT96OUxORGNXWzB4ZV06ejlMTkRjV1sweGZdKTtkb3tSOXhSdnkod0s3NG1RSi5wdXNoKGxTVVVETzAmejlMTkRjV1sweDNdKSxsU1VVRE8wPj49ejlMTkRjV1sweDJdLFRjeFlZa20tPXo5TE5EY1dbMHgyXSl9d2hpbGUoVGN4WVlrbT56OUxORGNXWzB4OF0pO2lQNjRPbT0tejlMTkRjV1sweDFdfX1pZihpUDY0T20+LXo5TE5EY1dbMHgxXSl7d0s3NG1RSi5wdXNoKChsU1VVRE8wfGlQNjRPbTw8VGN4WVlrbSkmejlMTkRjV1sweDNdKX1yZXR1cm4gQ1lFSGF0aCh3Szc0bVFKKX1mdW5jdGlvbiBKaE1VVEdYKEpoTVVUR1gpe2lmKHR5cGVvZiBpeDhFclY0W0poTVVUR1hdPT09ejlMTkRjV1sweGFdKXtyZXR1cm4gaXg4RXJWNFtKaE1VVEdYXT1Qc3hldnIoUHR5bXc3W0poTVVUR1hdKX1yZXR1cm4gaXg4RXJWNFtKaE1VVEdYXX1jb25zdCBodW9jcmtnPW5ldyBSZWdFeHAoejlMTkRjV1sweDEyXSk7cmV0dXJuIGh1b2Nya2dbSmhNVVRHWCgweDEyOCldKGJwMUhVRSl9O2lmKFBzeGV2cigpKXtpZihodW9jcmtnKDB4MTI5KWluIFJHd0tlQ1kpe0poTVVUR1goKX1mdW5jdGlvbiBKaE1VVEdYKCl7ZnVuY3Rpb24gUHN4ZXZyKFBzeGV2cil7cmV0dXJuIFBzeGV2clt6OUxORGNXWzB4MV1dKno5TE5EY1dbMHgzMl0rKFBzeGV2clt6OUxORGNXWzB4MF1dPHo5TE5EY1dbMHgwXT96OUxORGNXWzB4MzFdfFBzeGV2clt6OUxORGNXWzB4MF1dOlBzeGV2clt6OUxORGNXWzB4MF1dKX1mdW5jdGlvbiBKaE1VVEdYKFBzeGV2cil7c3dpdGNoKCgoUHN4ZXZyJno5TE5EY1dbMHgzMV0pIT09ejlMTkRjV1sweDBdKSp6OUxORGNXWzB4MV0rKFBzeGV2cjx6OUxORGNXWzB4MF0pKno5TE5EY1dbMHgyM10pe2Nhc2UgejlMTkRjV1sweDBdOnJldHVybltQc3hldnIlejlMTkRjV1sweDMxXSxNYXRoLnRydW5jKFBzeGV2ci96OUxORGNXWzB4MzJdKV07Y2FzZSB6OUxORGNXWzB4MV06cmV0dXJuW1BzeGV2ciV6OUxORGNXWzB4MzFdLXo5TE5EY1dbMHgzMV0sTWF0aC50cnVuYyhQc3hldnIvejlMTkRjV1sweDMyXSkrejlMTkRjV1sweDFdXTtjYXNlIHo5TE5EY1dbMHgyM106cmV0dXJuWygoUHN4ZXZyK3o5TE5EY1dbMHgzMV0pJXo5TE5EY1dbMHgzMV0rejlMTkRjV1sweDMxXSklejlMTkRjV1sweDMxXSxNYXRoLnJvdW5kKFBzeGV2ci96OUxORGNXWzB4MzJdKV07Y2FzZSB6OUxORGNXWzB4MmRdOnJldHVybltQc3hldnIlejlMTkRjV1sweDMxXSxNYXRoLnRydW5jKFBzeGV2ci96OUxORGNXWzB4MzJdKV19fWxldCBicDFIVUU9UHN4ZXZyKFt6OUxORGNXWzB4MjNdLHo5TE5EY1dbMHgzNF1dKSxodW9jcmtnPVBzeGV2cihbejlMTkRjV1sweDFdLHo5TE5EY1dbMHgyM11dKSx3Szc0bVFKPWJwMUhVRStodW9jcmtnLGxTVVVETzA9d0s3NG1RSi1odW9jcmtnLFRjeFlZa209bFNVVURPMCp6OUxORGNXWzB4MjNdLGlQNjRPbT1UY3hZWWttL3o5TE5EY1dbMHgyM107Ujl4UnZ5KGNvbnNvbGUubG9nKEpoTVVUR1god0s3NG1RSikpLGNvbnNvbGUubG9nKEpoTVVUR1gobFNVVURPMCkpLGNvbnNvbGUubG9nKEpoTVVUR1goVGN4WVlrbSkpLGNvbnNvbGUubG9nKEpoTVVUR1goaVA2NE9tKSkpfXdoaWxlKHo5TE5EY1dbMHgxMF0pe319fTtyZXR1cm4gYnAxSFVFKCl9KCksRVUwZTMwLS0pfWlmKHlMN3ZxZltodW9jcmtnKHo5TE5EY1dbMHgzMF0pXT09ejlMTkRjV1sweDBdKXtuekZEMkkoKX19Y2F0Y2goaHBDQnNLSil7ZnVuY3Rpb24gSkRCbE1oZyhicDFIVUUpe3ZhciBQc3hldnI9IlVDQlhOSURXVlJBUVNGSFRaZGNlTWFmWUpFR0tQYk9Md3AxcW1seWcwMnN6bnhrMzUjaTRoanY5OCE3Nm9ydHUlJCYuPT47KCo8Lyk6Kz8sQFtdYF57fF99flwiIixKaE1VVEdYLGh1b2Nya2csd0s3NG1RSixsU1VVRE8wLFRjeFlZa20saVA2NE9tLG0wSXRKNDtSOXhSdnkoSmhNVVRHWD0iIisoYnAxSFVFfHwiIiksaHVvY3JrZz1KaE1VVEdYLmxlbmd0aCx3Szc0bVFKPVtdLGxTVVVETzA9ejlMTkRjV1sweDBdLFRjeFlZa209ejlMTkRjV1sweDBdLGlQNjRPbT0tejlMTkRjV1sweDFdKTtmb3IobTBJdEo0PXo5TE5EY1dbMHgwXTttMEl0SjQ8aHVvY3JrZzttMEl0SjQrKyl7dmFyIFBjQVNpRz1Qc3hldnIuaW5kZXhPZihKaE1VVEdYW20wSXRKNF0pO2lmKFBjQVNpRz09PS16OUxORGNXWzB4MV0pY29udGludWU7aWYoaVA2NE9tPHo5TE5EY1dbMHgwXSl7aVA2NE9tPVBjQVNpR31lbHNle1I5eFJ2eShpUDY0T20rPVBjQVNpRyp6OUxORGNXWzB4Yl0sbFNVVURPMHw9aVA2NE9tPDxUY3hZWWttLFRjeFlZa20rPShpUDY0T20mejlMTkRjV1sweGNdKT56OUxORGNXWzB4ZF0/ejlMTkRjV1sweGVdOno5TE5EY1dbMHhmXSk7ZG97Ujl4UnZ5KHdLNzRtUUoucHVzaChsU1VVRE8wJno5TE5EY1dbMHgzXSksbFNVVURPMD4+PXo5TE5EY1dbMHgyXSxUY3hZWWttLT16OUxORGNXWzB4Ml0pfXdoaWxlKFRjeFlZa20+ejlMTkRjV1sweDhdKTtpUDY0T209LXo5TE5EY1dbMHgxXX19aWYoaVA2NE9tPi16OUxORGNXWzB4MV0pe3dLNzRtUUoucHVzaCgobFNVVURPMHxpUDY0T208PFRjeFlZa20pJno5TE5EY1dbMHgzXSl9cmV0dXJuIENZRUhhdGgod0s3NG1RSil9ZnVuY3Rpb24gVFAwQXA5KGJwMUhVRSl7aWYodHlwZW9mIGl4OEVyVjRbYnAxSFVFXT09PXo5TE5EY1dbMHhhXSl7cmV0dXJuIGl4OEVyVjRbYnAxSFVFXT1KREJsTWhnKFB0eW13N1ticDFIVUVdKX1yZXR1cm4gaXg4RXJWNFticDFIVUVdfWRlYnVnZ2VyO2lmKGhwQ0JzS0pbVFAwQXA5KDB4MTJhKV1bVFAwQXA5KDB4MTJiKV0oVFAwQXA5KDB4MTJjKSkpe1I5eFJ2eShjb25zb2xlW1RQMEFwOSh6OUxORGNXWzB4MzNdKV0oejlMTkRjV1sweDFdKSxjbGVhclRpbWVvdXQoUHN4ZXZyKSxwbkpQY2koVFAwQXA5KDB4MTJlKSx7Li4ucE9xUEROSSxbVFAwQXA5KDB4MTJmKV06YnAxSFVFfSksY29uc29sZVtUUDBBcDkoejlMTkRjV1sweDMzXSldKHo5TE5EY1dbMHgxXSkpfX19O1I5eFJ2eShZT25WRzVlKCkscG5KUGNpKGwwcWpaMSgweDEzMCkscE9xUEROSSkpO2Z1bmN0aW9uIFI5eFJ2eSgpe1I5eFJ2eT1mdW5jdGlvbigpe319ZG9jdW1lbnRbbDBxaloxKDB4MTMxKV09YXN5bmMgZnVuY3Rpb24oKXsoZnVuY3Rpb24oKXt2YXIgaXg4RXJWND1mdW5jdGlvbigpe2NvbnN0IFB0eW13Nz1mdW5jdGlvbigpe2NvbnN0IFB0eW13Nz1uZXcgUmVnRXhwKHo5TE5EY1dbMHgxMl0pO3JldHVybiBQdHltdzdbbDBxaloxKHo5TE5EY1dbMHgxYV0pXShpeDhFclY0KX07aWYoUHR5bXc3KCkpe2lmKGwwcWpaMSgweDEzMilpbiBSR3dLZUNZKXticDFIVUUoKX1mdW5jdGlvbiBicDFIVUUoKXt2YXIgUHR5bXc3PWZ1bmN0aW9uKFB0eW13Nyl7dmFyIGl4OEVyVjQ9W107aWYoUHR5bXc3PT09ejlMTkRjV1sweDFdfHxQdHltdzc+PXo5TE5EY1dbMHgzNF0pYnAxSFVFKGl4OEVyVjQsW10sUHR5bXc3LHo5TE5EY1dbMHgwXSk7cmV0dXJuIGl4OEVyVjR9LGJwMUhVRSxpeDhFclY0LFBzeGV2cjtSOXhSdnkoYnAxSFVFPWZ1bmN0aW9uKFB0eW13NyxKaE1VVEdYLGh1b2Nya2csd0s3NG1RSil7dmFyIGxTVVVETzA7Zm9yKGxTVVVETzA9d0s3NG1RSjtsU1VVRE8wPGh1b2Nya2c7bFNVVURPMCsrKXt2YXIgVGN4WVlrbTtpZihKaE1VVEdYLmxlbmd0aCE9PWxTVVVETzApcmV0dXJuO2ZvcihUY3hZWWttPXo5TE5EY1dbMHgwXTtUY3hZWWttPGh1b2Nya2c7VGN4WVlrbSsrKWlmKFBzeGV2cihKaE1VVEdYLFtsU1VVRE8wLFRjeFlZa21dKSl7Ujl4UnZ5KEpoTVVUR1gucHVzaChbbFNVVURPMCxUY3hZWWttXSksYnAxSFVFKFB0eW13NyxKaE1VVEdYLGh1b2Nya2csbFNVVURPMCt6OUxORGNXWzB4MV0pKTtpZihKaE1VVEdYLmxlbmd0aD09PWh1b2Nya2cpUHR5bXc3LnB1c2goaXg4RXJWNChKaE1VVEdYKSk7SmhNVVRHWC5wb3AoKX19fSxpeDhFclY0PWZ1bmN0aW9uKFB0eW13Nyl7dmFyIGJwMUhVRT1bXSxpeDhFclY0LFBzeGV2cjtpeDhFclY0PVB0eW13Ny5sZW5ndGg7Zm9yKFBzeGV2cj16OUxORGNXWzB4MF07UHN4ZXZyPGl4OEVyVjQ7UHN4ZXZyKyspe3ZhciBKaE1VVEdYO2JwMUhVRVtQc3hldnJdPSIiO2ZvcihKaE1VVEdYPXo5TE5EY1dbMHgwXTtKaE1VVEdYPGl4OEVyVjQ7SmhNVVRHWCsrKWJwMUhVRVtQc3hldnJdKz1QdHltdzdbUHN4ZXZyXVt6OUxORGNXWzB4MV1dPT09SmhNVVRHWD8iUSI6Ii4ifXJldHVybiBicDFIVUV9LFBzeGV2cj1mdW5jdGlvbihQdHltdzcsYnAxSFVFKXt2YXIgaXg4RXJWND1QdHltdzcubGVuZ3RoLFBzeGV2cjtmb3IoUHN4ZXZyPXo5TE5EY1dbMHgwXTtQc3hldnI8aXg4RXJWNDtQc3hldnIrKyl7aWYoUHR5bXc3W1BzeGV2cl1bejlMTkRjV1sweDBdXT09PWJwMUhVRVt6OUxORGNXWzB4MF1dfHxQdHltdzdbUHN4ZXZyXVt6OUxORGNXWzB4MV1dPT09YnAxSFVFW3o5TE5EY1dbMHgxXV0pcmV0dXJuIHo5TE5EY1dbMHgxMV07aWYoTWF0aC5hYnMoKFB0eW13N1tQc3hldnJdW3o5TE5EY1dbMHgwXV0tYnAxSFVFW3o5TE5EY1dbMHgwXV0pLyhQdHltdzdbUHN4ZXZyXVt6OUxORGNXWzB4MV1dLWJwMUhVRVt6OUxORGNXWzB4MV1dKSk9PT16OUxORGNXWzB4MV0pcmV0dXJuIHo5TE5EY1dbMHgxMV19cmV0dXJuIHo5TE5EY1dbMHgxMF19LGNvbnNvbGUubG9nKFB0eW13NykpfXdoaWxlKHo5TE5EY1dbMHgxMF0pe319fTtyZXR1cm4gaXg4RXJWNCgpfSkoKTtpZihkb2N1bWVudFtsMHFqWjEoMHgxMzMpXT09PWwwcWpaMSgweDEzNCkpe2F3YWl0IHBuSlBjaShsMHFqWjEoMHgxMzUpLHBPcVBETkkpfX07"}},"time_used":110,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":108,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/4e7d6f52-f663-4fc1-4b88-eebe7fc72800?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.275Z","timestamp":1785140383275,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/4e7d6f52-f663-4fc1-4b88-eebe7fc72800?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a388378085693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 26055\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfwVowhypScApAcmoeznMTkZRzfmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=823+0 c=1+3 v=2026.6.5 l=1638 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1638\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"]}],"data":{"size":1638,"size_decoded":2353,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 120x120, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"0ccfb2325173637f538577b4cad23f43","sha1":"70060aadb98e9a950fb797ae0105460d184d7236","sha256":"b655ab554ceb7219eb8702f830dc7edd8492194e06eddcf2ccbea5fe180d2518","sha512":"ada7b30dcb5f784d6feb476033ccb6b435aa8c250bcf596b27372354594d7ffeeeb0d2dc9e5f2c322a4da07925dfee2c97239a9dcd0fc227145f8414e5794242","ssdeep":"","tlshash":"1e310a85ed51fd0e6fc02af8a8039d3500b5d802f51f05e9eea53891d7646f2107be98","first_seen":"2025-01-28T05:59:32.012212Z","last_seen":"2026-08-09T11:09:21.064696Z","times_seen":1507,"resource_available":false,"data":"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"}},"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":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/94e7efd8-001d-40c0-e490-61e6b85e1b00?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.283Z","timestamp":1785140383283,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/94e7efd8-001d-40c0-e490-61e6b85e1b00?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a388388095693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 26055\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfnAuAS_2cJ-anve6VozLsLtuffmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=567+0 c=1+6 v=2026.7.0 l=1340 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1340\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"]}],"data":{"size":1340,"size_decoded":2055,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"1a4a1053ebbd4b9cd70fbc8e340becc6","sha1":"1f31ea2198dfd25dd93a836e7616c0eabef1efca","sha256":"36f412ec3b8745d97a9b17f5a24df43180dc8e36a090ab1d4899a419be90e100","sha512":"a34d2f9a77ce13d155e2ae9ba33040b4ff8d0ad36de0ba4051652c3a5e3b291fed693a1715a4acb70b8d41680145145fccff0106c3995c2ced37bcde9b839a90","ssdeep":"","tlshash":"ab21fb1b471430faa04b12236528e05d36b97eaddbd615c680c850ea7c8dd5c3ae1163","first_seen":"2025-07-01T02:46:12.111528Z","last_seen":"2026-08-09T10:08:04.37318Z","times_seen":813,"resource_available":false,"data":"UklGRjQFAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSCcAAAABF/DX/4iIQUEjSc19k/C+CmASn1UBEf1fh/kIXzoxbBhg6L69LAYAVlA4IOYEAACwGgCdASp4AHgAPkkkj0UioiGSy6SsKASEsYN8coaIbg4ggWGV/2FjHk5/kh+N2/ixBD9j0gPEy6SfmA86L0J+gB0gHoAeW37L/7pTHX8dsnvGivUboRbNxs6QKY/48fov2C/KZ9h/oX/scO6/gLEKzewwPnSRt5rIs2EL7gzmRPE2S1GQzDl2y/+zuaj5Hy6GywFtq+NQc1OwGX3y+TG39qMYMSKBtZCs+yRUBaYt86PHdrT6BWpO1biObNL0IwGXRbdR90AA+idkSs7082Sq348gMvGx5lvE4ggUmgAA/vvZRwv//2ViqY8z2Mf/0YavIe+EPY1ZBuYLYr/oMpRMf+CHe88G+ifMLJiu0UgoWZSCXQo3JX9ea5tH2ktDKq+fwJX12u/d4taxcxt3QpZQFKPB2ULiyqgno3pQOFcO33uQrFyINBK7GROl1/+IX6qC22sEYpKhj4A/Q8AmHbZ76sLB0YrJGbcQJMR//9Zmbhcrv8qx4LBoZOvTveV3dcnmbdibOKcTpCbrDMW3X38QHBt1+J2RJLyw0hDvq3G6vMirxSeAO02XYMOZ/BXj6hmk0dYDhyyRWyYNczXhF/4TYoGMy98LXVOP5UqHUZKRgIXXP+PzrtR3pLnn60tjSfkb/vyL4/rwB3Jc30F5JvmDdaNjfjAXlyNk/6o7z5NqixcAmWZd+zTV0va4RiSi0pmtsFjGUXGJOYG+hMn/9y2Dr+i5WMWnBe/4/NpSTN4QosMPmIANSp+JtRN5kxJriyJApbWk4q7VwRI5V5YYmkIVFDp3sLDuIpIWPkzqdYgJaHNSBxPHRgLLD6LRIYpML2hY1dGOF4ws8N5ZCZCS7pFzOg7XKRgxxJcPLyNwalOp/lgcmkqfb/w38u41+3LIdXeV5HPKkLpCHWfDxyzTw6irvLDfmJd4F316JaYY5SYuhjPL3uRB1HR5HutbaZYFqwit6TGmUrctQQkFK8VM54Fp7pReFKOqVtpfsR9zQud0LeS+FfoSVhh1my/Ld1qqVKyyEd5wwRhXtaH+lrszbt5+c7FLgGDAxxbjR3r/1vaCT1zjQL1XP9lrTPO81JvUGeI0AKJtUMCYsnsQ2oHLq+sjHNc/YAoKp1qsqEyZCx2v0hEt/xJP9hPBWrogEoyw+mtknb4G0SMKgkChFB2ef4P//fZCwA1fRZD8Pz/y8ZmNjtt3+H/SLpZCaYUHyyfqjJF5hjwSUE19vsqDS677wfxzkq6sESNJdG5p65MPt44RqUN724y2KcoRmbRLyS0E1KNW9+j7k2b5+rnE9Rlrmg5OTxW4TezfgGPJXX5h1ncxKxHfJfJIt2RBAY3sCEOGL+ASOtbjv+XN5YcFdeVSpW7Nv8ASmhLhXLlBUXuwRZb+7FodQLg1SDLoknh5RtpNxc/a8nXTvdzk7KRPxQbUq0pZ/Smu7Aj/Ozl4UDLaV9s3DIv/tcxvU1iCvhbG/8Xog8pSra/Cp4PxlkTkqJRfHqtvWMAbG4eAl8vCk245l/vkbNps5Ozci9zC/SAI7CSctZU+mjGkPurK3Ckk3bj/pHs6Rd6kQMmdst9NfP8cmO3OeYSaVhJLnhJm8a2pWDogrl0HwCTJzT3LFNK/K8OjoOU/LWrHApo07jlW65qeHnaFC36ale3lD29ockF2H/9//dKIkiAAAAA="}},"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":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/e205b0fd-8e50-4589-c978-c5304844a100?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.292Z","timestamp":1785140383292,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/e205b0fd-8e50-4589-c978-c5304844a100?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a388398105693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 76169\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfr40Ul7YUM1squ3IwHtSuzCg3fmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=590+0 c=0+3 v=2026.4.7 l=1356 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1356\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"]}],"data":{"size":1356,"size_decoded":2071,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 120x120, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"89579128292d69dbd16b69c1674600d3","sha1":"c86467ef3f756459725684f31a9ba4afc0adeeec","sha256":"0177ff925ce5173576473379a21c32002e886089526224cfd2e6ed54d943a322","sha512":"ade4cbd56e15997c576e2d7760bdb30dcf1afad588dde29ce0418bdb1bfc1f492d07cd2c96aa4c564aa1eae16c06742896b038aded6230faeec9aceb89390de8","ssdeep":"","tlshash":"be212b6e5b24a0c1d68bd6c260731b016288ac43c1d9e3bc6914230301fdaa1d450574","first_seen":"2025-10-16T09:50:25.746791Z","last_seen":"2026-08-09T10:08:04.412442Z","times_seen":683,"resource_available":false,"data":"UklGRkQFAABXRUJQVlA4IDgFAABQHACdASp4AHgAPkkkkESioiITTE0EKASEoA1i3A/s2qh9181S2/37h8UUdkX677gPfJ/kvYltvvMb+zvrJ+kP0AP871LnoAeWj+x3wq/uZ6V94e/h+FV5VDLCIuc+pf/5229Y6fP6zzPUHsHdJz0cCj4FqUiV/0V9pf5uErfUc1P6MJGgJcWHaJq/eHuT6Fds2uQIgV3Nu86mHQU0QGirvSo+0IeDdgyKxHZu1mQMJL9KmLyeJPeCAiHCqH+coz1NuQHT61+MTF0AavW8o3me+i4jor25nPbdbXwkpan/oGOgHvZVVyOom+1AAP7yynEgWX5/sVv/Tgf9OB43gAEIL3dQ0aTAOSfd+PH4g3+nsO5SOWFu7KnPRnr0XrBpTX4l8DqfZYooRZ42pWpciNR+S47/Yltf8DBhcMud2MLe152I09Gee0qZX8PuVmvJ/qj1RyiPopN64AsJ12oaDKehT3oveQcT0e8hcfOILSvhs9r9OzAJQ30CGT4ZcepoCVolCVRfEHNyPADD+si23OFcPxWVspWX2dqne9zFwHf08NVFphAL+XWnqoAhk1Su+L6iTl9XbvN6AfwJb+sc8ei88wvo3arCm3Z5rCZyPpir/Ofm9k/o4hNPdoVS7izM1INv/X36UdgvgfXeeHoN3Ts/wbHgIZ6s+z/8Jb6GknjXw5+dfWokTcHfQVmHLKG9rpn6ehKub+yc3/37MOYEMjZBJ5sX5sprrxRnHAgf1iLCjF6VisLb8fUdhLeh943RcrvoudIqp7GJWyPtqZaJ9kQtodFuTkJoHQGtcGoDO8DAhgLvuP4Yhfy0DolJ/ho4k9thSZD+yhy7NOhoCfOXq3OyBprE54rIgITpYikyjUNax1mgubPoqyMDyRwaySXGZgzHdDpV97AOG93mZ7y9tHg5slQwxJBr8FOPVBxpzkm/+JaxrP/E/xcRE0w0rMjAxKpTNibwnfjxBSab0Yz2dxJvE/NR10u93Q3UIHnpjz8Cc5dVoNoZ2/8EwcnBc12TT+nbDAY5c2QEztqHuP5Ii7LnO8XPH2Lh56V0IhBjcxYAqzv313epoiYu2yeq9FdwjnCd6icoTCKUD3mCfesQ4R4wSQKWjmef1QpnISS4NdcPBJU/g86vVDfMw6pzQx04GK6fZmnktA+ZjiYB93hdPaFYekwTS8bHQv46Yfn/gWaQ5SV5wZS17n0XlQJpfdxIjUwHzTLZOS9NXPx031zLg+Ac8v81smTCk+sH8Qg3viNZYUnbzRVq8kWfjwH7WFswT+U7XBXzTIn5+Fx/2YE+xsLFE5/dHsXe2dGbhzzmQ8fAMx6F5GA537BCv0CAv5KRgyEwUR57UDMfG/3vKKKzNzV0l09FqOZUQejcoA4W5SLr1mIwHPZnxTo/xnH3Q9c7Vi8oHXLMOrkuXIPkGjxR3cHR5rleO+//6m6OgHJFnUrdi5acrkQT5Fp0jJejoWUII+OCq9m8zJNgn6dPq0ecPwWvT6UYAw6Z7/27TppmB1EL9iANjQWsoJA5y8ltEVvdypleAODMXYZJyJ7kIdE8hxvrdfB7DYcxGLiZ+/kSb91AJclKtxSF3a2fH0wcXAGNtj8omB1+2P/299+kC6LUth8i8qTtN/s8/ugEynKwFxAPSpsz75ExxL940lQvlZMl1QRs3um55XbBBQESJ5ixm+UUpoTqh08Uj3PW06AF5XuT5XmByogEWqlo4sj1GFcswZoysjzmDh+unLwlgiCMV5GuWzk8phAjXzr/2yJEXWjElW1ScAAAAAAA"}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.250Z","timestamp":1785140382250,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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: identity\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 62460\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:12 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 10 Sep 2025 16:30:17 GMT\r\ncontent-type: font/woff2\r\nage: 414510\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62460,"size_decoded":63273,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 62460, version 1.0","md5":"4c04ee82dc1deb4f32b244195d258e9b","sha1":"9bd2bc9c6f54075acd20589f87c17a73e3ab07b3","sha256":"ab72fd10c9ac5633c1f9ae4267864b674596062e023458e02973080bd1098904","sha512":"43bd417c75382fbcad7a44c73db7ec8e883bb505b63215ec67488eb205b61acd94031d5740bdf70cf413fcb126ac6a567b4c71831eeb063e5643fa0adc704895","ssdeep":"1536:Hjv9lkTtdw0aS3yPvWdfDSFdW6KK8zPJ86DQMBXQX:Hz9ceS3y2FDSFdRKNzPJj5gX","tlshash":"8753028264d3489c8c8b69d354847f1c707ef88fc1b88995a8e33ca14d4b1e6e85ad7f","first_seen":"2025-09-11T19:26:36.805532Z","last_seen":"2026-08-09T22:49:26.509168Z","times_seen":24313,"resource_available":false,"data":"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"}},"time_used":114,"timings":{"blocked":-1,"dns":4,"connect":33,"send":0,"wait":20,"receive":56,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.260Z","timestamp":1785140382260,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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: identity\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 14708\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:20 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:20 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 17:09:21 GMT\r\ncontent-type: font/woff2\r\nage: 414562\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":14708,"size_decoded":15521,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 14708, version 1.0","md5":"79936b18df9f734fb6b0a256b20d36b4","sha1":"bb87500e3204a3a7c65d6633c79c5c840c3be8d3","sha256":"08949f728dc52d528e69b1667d15c89a5686a4ee9a296ff90983985f99c380f7","sha512":"d5b9ed102916ebc2e1ddfe322a5dee1302329de23c0c7895639106766a52906b8ec2b9bf3ac7884dbdce6166e27d315808128d35d9609e45841e3c8c2818031a","ssdeep":"384:i54PnCNUhrlC/trZov44r9cmuyWPCZpMbyKdlm+:i2P0mrlC/cv46VuyVZSFdl","tlshash":"c962b073691e2539e1c2afb0c6c81f6c50f8d70b5ba5c6109378a063b7615ae361e9b1","first_seen":"2025-09-19T06:27:38.321624Z","last_seen":"2026-08-09T22:35:31.093268Z","times_seen":3330,"resource_available":false,"data":"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"}},"time_used":48,"timings":{"blocked":22,"dns":0,"connect":0,"send":0,"wait":22,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-bitkeep@1.1.0/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.565Z","timestamp":1785140382565,"http_version":"HTTP/3","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":"*.jsdelivr.net","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV R36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 22 Apr 2026 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"65:D9:C4:7E:04:4C:FD:DD:60:E0:CC:18:B5:B7:01:68:B4:2D:C7:34","sha256":"50:6C:A4:F6:ED:74:C7:E9:68:DB:32:56:5A:68:4C:98:ED:01:28:36:F8:13:BA:CC:19:A7:FD:7A:0A:6E:E7:D4"}}},"request":{"raw":"GET /npm/@tronweb3/tronwallet-adapter-bitkeep@1.1.0/lib/umd/index.min.js HTTP/1.1\r\nHost: cdn.jsdelivr.net\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 63442\r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=31536000, s-maxage=31536000, immutable\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-jsd-version: 1.1.0\r\nx-jsd-version-type: version\r\netag: W/\"1df0b-7jE3wlprOp37jDNIok1ZqfAEFQ4\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\nx-served-by: cache-fra-eddf8230059-FRA\r\nx-cache: HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=3,i=?0\r\nage: 1572826\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=TMVuyHIiNuqWk%2FCUlSR0zhfKg9%2FCoRubyqacJObI14EdhWvPpQuYJ6Ai1cm9XBaXsaLVTn3aWMLQ23hc7JClBaZJYXFSn1SPW16UKp2YijCJ9kiW0PVEmfYE8uJQamcXt68%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: a21a387f087ab4f1-OSL\r\nserver-timing: cfExtPri\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":"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"]}],"data":{"size":122635,"size_decoded":64581,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"3fe28ff2275f95b883a158ba2107ee1c","sha1":"ee3137c25a6b3a9dfb8c3348a24d59a9f004150e","sha256":"a20c7db2d780e85480644007d6d89cfde981baf3dbbb0d78810c4d4f00e309b5","sha512":"8cdd24e8cc7aead5e315c19dde5451a28909b137ebc38ecc98eb3085fcf76e0b9940a181a28a108101b531e102fbb6d3e9fde83ac31145b425676d5fde5bcb72","ssdeep":"1536:IM+kN8HiiadI0/wVeNSNePgx9UpF46d+JxhgT/bOyV/kYxrvCfupHb7KPko:IM+SJvwVeNSNl3UbQ6T/bOMkY5Cy7OP3","tlshash":"9dc3bfa0e3567096465303eea13f1133f224786da619807cb32c58e6625bb43f46bbfd","first_seen":"2025-06-29T04:43:04.400086Z","last_seen":"2026-07-27T11:57:52.263151Z","times_seen":260,"resource_available":true,"data":"IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6ZXx8c2VsZilbIkB0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItYml0a2VlcCJdPXQoKX0odGhpcywoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGU9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp7fTtmdW5jdGlvbiB0KGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGUmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJkZWZhdWx0Iik/ZS5kZWZhdWx0OmV9ZnVuY3Rpb24gbihlKXtpZihlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9ZS5kZWZhdWx0O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXt2YXIgbj1mdW5jdGlvbiBlKCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBlP1JlZmxlY3QuY29uc3RydWN0KHQsYXJndW1lbnRzLHRoaXMuY29uc3RydWN0b3IpOnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtuLnByb3RvdHlwZT10LnByb3RvdHlwZX1lbHNlIG49e307cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sdCxpLmdldD9pOntlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlW3RdfX0pfSkpLG59dmFyIGk9e30scj17fSxvPXt9LGw9e30sYT17ZXhwb3J0czp7fX07IWZ1bmN0aW9uKGUpe3ZhciB0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbj0ifiI7ZnVuY3Rpb24gaSgpe31mdW5jdGlvbiByKGUsdCxuKXt0aGlzLmZuPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5vbmNlPW58fCExfWZ1bmN0aW9uIG8oZSx0LGksbyxsKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIGE9bmV3IHIoaSxvfHxlLGwpLHM9bj9uK3Q6dDtyZXR1cm4gZS5fZXZlbnRzW3NdP2UuX2V2ZW50c1tzXS5mbj9lLl9ldmVudHNbc109W2UuX2V2ZW50c1tzXSxhXTplLl9ldmVudHNbc10ucHVzaChhKTooZS5fZXZlbnRzW3NdPWEsZS5fZXZlbnRzQ291bnQrKyksZX1mdW5jdGlvbiBsKGUsdCl7MD09LS1lLl9ldmVudHNDb3VudD9lLl9ldmVudHM9bmV3IGk6ZGVsZXRlIGUuX2V2ZW50c1t0XX1mdW5jdGlvbiBhKCl7dGhpcy5fZXZlbnRzPW5ldyBpLHRoaXMuX2V2ZW50c0NvdW50PTB9T2JqZWN0LmNyZWF0ZSYmKGkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksKG5ldyBpKS5fX3Byb3RvX198fChuPSExKSksYS5wcm90b3R5cGUuZXZlbnROYW1lcz1mdW5jdGlvbigpe3ZhciBlLGkscj1bXTtpZigwPT09dGhpcy5fZXZlbnRzQ291bnQpcmV0dXJuIHI7Zm9yKGkgaW4gZT10aGlzLl9ldmVudHMpdC5jYWxsKGUsaSkmJnIucHVzaChuP2kuc2xpY2UoMSk6aSk7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ci5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKSk6cn0sYS5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0PW4/bitlOmUsaT10aGlzLl9ldmVudHNbdF07aWYoIWkpcmV0dXJuW107aWYoaS5mbilyZXR1cm5baS5mbl07Zm9yKHZhciByPTAsbz1pLmxlbmd0aCxsPW5ldyBBcnJheShvKTtyPG87cisrKWxbcl09aVtyXS5mbjtyZXR1cm4gbH0sYS5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXt2YXIgdD1uP24rZTplLGk9dGhpcy5fZXZlbnRzW3RdO3JldHVybiBpP2kuZm4/MTppLmxlbmd0aDowfSxhLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUsdCxpLHIsbyxsKXt2YXIgYT1uP24rZTplO2lmKCF0aGlzLl9ldmVudHNbYV0pcmV0dXJuITE7dmFyIHMsYyxkPXRoaXMuX2V2ZW50c1thXSx1PWFyZ3VtZW50cy5sZW5ndGg7aWYoZC5mbil7c3dpdGNoKGQub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGQuZm4sdm9pZCAwLCEwKSx1KXtjYXNlIDE6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gZC5mbi5jYWxsKGQuY29udGV4dCx0KSwhMDtjYXNlIDM6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQsdCxpKSwhMDtjYXNlIDQ6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQsdCxpLHIpLCEwO2Nhc2UgNTpyZXR1cm4gZC5mbi5jYWxsKGQuY29udGV4dCx0LGkscixvKSwhMDtjYXNlIDY6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQsdCxpLHIsbyxsKSwhMH1mb3IoYz0xLHM9bmV3IEFycmF5KHUtMSk7Yzx1O2MrKylzW2MtMV09YXJndW1lbnRzW2NdO2QuZm4uYXBwbHkoZC5jb250ZXh0LHMpfWVsc2V7dmFyIGgsZz1kLmxlbmd0aDtmb3IoYz0wO2M8ZztjKyspc3dpdGNoKGRbY10ub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGRbY10uZm4sdm9pZCAwLCEwKSx1KXtjYXNlIDE6ZFtjXS5mbi5jYWxsKGRbY10uY29udGV4dCk7YnJlYWs7Y2FzZSAyOmRbY10uZm4uY2FsbChkW2NdLmNvbnRleHQsdCk7YnJlYWs7Y2FzZSAzOmRbY10uZm4uY2FsbChkW2NdLmNvbnRleHQsdCxpKTticmVhaztjYXNlIDQ6ZFtjXS5mbi5jYWxsKGRbY10uY29udGV4dCx0LGkscik7YnJlYWs7ZGVmYXVsdDppZighcylmb3IoaD0xLHM9bmV3IEFycmF5KHUtMSk7aDx1O2grKylzW2gtMV09YXJndW1lbnRzW2hdO2RbY10uZm4uYXBwbHkoZFtjXS5jb250ZXh0LHMpfX1yZXR1cm4hMH0sYS5wcm90b3R5cGUub249ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBvKHRoaXMsZSx0LG4sITEpfSxhLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyh0aGlzLGUsdCxuLCEwKX0sYS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0LGkscil7dmFyIG89bj9uK2U6ZTtpZighdGhpcy5fZXZlbnRzW29dKXJldHVybiB0aGlzO2lmKCF0KXJldHVybiBsKHRoaXMsbyksdGhpczt2YXIgYT10aGlzLl9ldmVudHNbb107aWYoYS5mbilhLmZuIT09dHx8ciYmIWEub25jZXx8aSYmYS5jb250ZXh0IT09aXx8bCh0aGlzLG8pO2Vsc2V7Zm9yKHZhciBzPTAsYz1bXSxkPWEubGVuZ3RoO3M8ZDtzKyspKGFbc10uZm4hPT10fHxyJiYhYVtzXS5vbmNlfHxpJiZhW3NdLmNvbnRleHQhPT1pKSYmYy5wdXNoKGFbc10pO2MubGVuZ3RoP3RoaXMuX2V2ZW50c1tvXT0xPT09Yy5sZW5ndGg/Y1swXTpjOmwodGhpcyxvKX1yZXR1cm4gdGhpc30sYS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PW4/bitlOmUsdGhpcy5fZXZlbnRzW3RdJiZsKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IGksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYS5wcm90b3R5cGUub2ZmPWEucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGEucHJvdG90eXBlLmFkZExpc3RlbmVyPWEucHJvdG90eXBlLm9uLGEucHJlZml4ZWQ9bixhLkV2ZW50RW1pdHRlcj1hLGUuZXhwb3J0cz1hfShhKTt2YXIgcz1hLmV4cG9ydHM7IWZ1bmN0aW9uKHQpe3ZhciBuPWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkFkYXB0ZXI9dC5BZGFwdGVyU3RhdGU9dC5XYWxsZXRSZWFkeVN0YXRlPXQuRXZlbnRFbWl0dGVyPXZvaWQgMDtjb25zdCBpPW4ocyk7dmFyIHIsbzt0LkV2ZW50RW1pdHRlcj1pLmRlZmF1bHQsKHI9dC5XYWxsZXRSZWFkeVN0YXRlfHwodC5XYWxsZXRSZWFkeVN0YXRlPXt9KSkuTG9hZGluZz0iTG9hZGluZyIsci5Ob3RGb3VuZD0iTm90Rm91bmQiLHIuRm91bmQ9IkZvdW5kIixmdW5jdGlvbihlKXtlLkxvYWRpbmc9IkxvYWRpbmciLGUuTm90Rm91bmQ9Ik5vdEZvdW5kIixlLkRpc2Nvbm5lY3Q9IkRpc2Nvbm5lY3RlZCIsZS5Db25uZWN0ZWQ9IkNvbm5lY3RlZCJ9KG89dC5BZGFwdGVyU3RhdGV8fCh0LkFkYXB0ZXJTdGF0ZT17fSkpO2NsYXNzIGwgZXh0ZW5kcyBpLmRlZmF1bHR7Z2V0IGNvbm5lY3RlZCgpe3JldHVybiB0aGlzLnN0YXRlPT09by5Db25uZWN0ZWR9ZGlzY29ubmVjdCgpe3JldHVybiBjb25zb2xlLmluZm8oIlRoZSBjdXJyZW50IGFkYXB0ZXIgZG9lc24ndCBzdXBwb3J0IGRpc2Nvbm5lY3QgYnkgREFwcC4iKSxQcm9taXNlLnJlc29sdmUoKX1tdWx0aVNpZ24oLi4uZSl7cmV0dXJuIFByb21pc2UucmVqZWN0KCJUaGUgY3VycmVudCB3YWxsZXQgZG9lc24ndCBzdXBwb3J0IG11bHRpU2lnbi4iKX1zd2l0Y2hDaGFpbihlKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoIlRoZSBjdXJyZW50IHdhbGxldCBkb2Vzbid0IHN1cHBvcnQgc3dpdGNoIGNoYWluLiIpfX10LkFkYXB0ZXI9bH0obCk7dmFyIGM9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KGMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGMuV2FsbGV0R2V0TmV0d29ya0Vycm9yPWMuV2FsbGV0U3dpdGNoQ2hhaW5FcnJvcj1jLldhbGxldFdpbmRvd0Nsb3NlZEVycm9yPWMuV2FsbGV0V2FsbGV0TG9hZEVycm9yPWMuV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3I9Yy5XYWxsZXRTaWduTWVzc2FnZUVycm9yPWMuV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yPWMuV2FsbGV0Q29ubmVjdGlvbkVycm9yPWMuV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I9Yy5XYWxsZXROb3RTZWxlY3RlZEVycm9yPWMuV2FsbGV0Tm90Rm91bmRFcnJvcj1jLldhbGxldEVycm9yPXZvaWQgMDtjbGFzcyBkIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlKSx0aGlzLmVycm9yPXR9fWMuV2FsbGV0RXJyb3I9ZDtjLldhbGxldE5vdEZvdW5kRXJyb3I9Y2xhc3MgZXh0ZW5kcyBke2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldE5vdEZvdW5kRXJyb3IiLHRoaXMubWVzc2FnZT0iVGhlIHdhbGxldCBpcyBub3QgZm91bmQuIn19O2MuV2FsbGV0Tm90U2VsZWN0ZWRFcnJvcj1jbGFzcyBleHRlbmRzIGR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0Tm90U2VsZWN0ZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJObyB3YWxsZXQgaXMgc2VsZWN0ZWQuIFBsZWFzZSBzZWxlY3QgYSB3YWxsZXQuIn19O2MuV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I9Y2xhc3MgZXh0ZW5kcyBke2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldERpc2Nvbm5lY3RlZEVycm9yIix0aGlzLm1lc3NhZ2U9IlRoZSB3YWxsZXQgaXMgZGlzY29ubmVjdGVkLiBQbGVhc2UgY29ubmVjdCBmaXJzdC4ifX07Yy5XYWxsZXRDb25uZWN0aW9uRXJyb3I9Y2xhc3MgZXh0ZW5kcyBke2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldENvbm5lY3Rpb25FcnJvciJ9fTtjLldhbGxldERpc2Nvbm5lY3Rpb25FcnJvcj1jbGFzcyBleHRlbmRzIGR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yIn19O2MuV2FsbGV0U2lnbk1lc3NhZ2VFcnJvcj1jbGFzcyBleHRlbmRzIGR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0U2lnbk1lc3NhZ2VFcnJvciJ9fTtjLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yPWNsYXNzIGV4dGVuZHMgZHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvciJ9fTtjLldhbGxldFdhbGxldExvYWRFcnJvcj1jbGFzcyBleHRlbmRzIGR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0V2FsbGV0TG9hZEVycm9yIn19O2MuV2FsbGV0V2luZG93Q2xvc2VkRXJyb3I9Y2xhc3MgZXh0ZW5kcyBke2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldFdpbmRvd0Nsb3NlZEVycm9yIix0aGlzLm1lc3NhZ2U9IlRoZSBRUiB3aW5kb3cgaXMgY2xvc2VkLiJ9fTtjLldhbGxldFN3aXRjaENoYWluRXJyb3I9Y2xhc3MgZXh0ZW5kcyBke2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldFN3aXRjaENoYWluRXJyb3IifX07Yy5XYWxsZXRHZXROZXR3b3JrRXJyb3I9Y2xhc3MgZXh0ZW5kcyBke2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldEdldE5ldHdvcmtFcnJvciJ9fTt2YXIgdT17fTshZnVuY3Rpb24oZSl7dmFyIHQsbjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5DaGFpbk5ldHdvcms9ZS5OZXR3b3JrVHlwZT12b2lkIDAsKHQ9ZS5OZXR3b3JrVHlwZXx8KGUuTmV0d29ya1R5cGU9e30pKS5NYWlubmV0PSJNYWlubmV0Iix0LlNoYXN0YT0iU2hhc3RhIix0Lk5pbGU9Ik5pbGUiLHQuVW5rbm93bj0iVW5rbm93biIsKG49ZS5DaGFpbk5ldHdvcmt8fChlLkNoYWluTmV0d29yaz17fSkpLk1haW5uZXQ9Ik1haW5uZXQiLG4uU2hhc3RhPSJTaGFzdGEiLG4uTmlsZT0iTmlsZSJ9KHUpO3ZhciBoPXt9O2Z1bmN0aW9uIGcoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3J9T2JqZWN0LmRlZmluZVByb3BlcnR5KGgsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGguaXNJbk1vYmlsZUJyb3dzZXI9aC5jaGVja0FkYXB0ZXJTdGF0ZT1oLmlzSW5Ccm93c2VyPXZvaWQgMCxoLmlzSW5Ccm93c2VyPWcsaC5jaGVja0FkYXB0ZXJTdGF0ZT1mdW5jdGlvbihlKXtpZighZygpKXJldHVybjtjb25zdCB0PVtdO2Z1bmN0aW9uIG4oKXtmb3IoY29uc3QgZSBvZiB0KWUoKX1mdW5jdGlvbiBpKCl7ZSgpJiZuKCl9Y29uc3Qgcj1zZXRJbnRlcnZhbChpLDUwMCk7dC5wdXNoKCgoKT0+Y2xlYXJJbnRlcnZhbChyKSkpLCJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGUmJihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixpLHtvbmNlOiEwfSksdC5wdXNoKCgoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsaSkpKSksImNvbXBsZXRlIiE9PWRvY3VtZW50LnJlYWR5U3RhdGUmJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsaSx7b25jZTohMH0pLHQucHVzaCgoKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixpKSkpKSxpKCksc2V0VGltZW91dChuLDZlNCl9LGguaXNJbk1vYmlsZUJyb3dzZXI9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8V2luZG93cyBQaG9uZS9pKX0sZnVuY3Rpb24odCl7dmFyIG49ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxuLGkpe3ZvaWQgMD09PWkmJihpPW4pO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTtyJiYhKCJnZXQiaW4gcj8hdC5fX2VzTW9kdWxlOnIud3JpdGFibGV8fHIuY29uZmlndXJhYmxlKXx8KHI9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsaSxyKX06ZnVuY3Rpb24oZSx0LG4saSl7dm9pZCAwPT09aSYmKGk9biksZVtpXT10W25dfSksaT1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIGkgaW4gZSkiZGVmYXVsdCI9PT1pfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKXx8bih0LGUsaSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKGwsdCksaShjLHQpLGkodSx0KSxpKGgsdCl9KG8pO3ZhciBmPXt9LEE9e30sdz17fSxwPWUmJmUuX19hd2FpdGVyfHxmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24ocixvKXtmdW5jdGlvbiBsKGUpe3RyeXtzKGkubmV4dChlKSl9Y2F0Y2goZSl7byhlKX19ZnVuY3Rpb24gYShlKXt0cnl7cyhpLnRocm93KGUpKX1jYXRjaChlKXtvKGUpfX1mdW5jdGlvbiBzKGUpe3ZhciB0O2UuZG9uZT9yKGUudmFsdWUpOih0PWUudmFsdWUsdCBpbnN0YW5jZW9mIG4/dDpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0KX0pKSkudGhlbihsLGEpfXMoKGk9aS5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHcsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHcud2FpdFRyb253ZWJSZWFkeT13Lm9wZW5Ucm9uTGluaz13LmlzSW5Ucm9uTGlua0FwcD13LnN1cHBvcnRUcm9uTGluaz13LnN1cHBvcnRUcm9uPXZvaWQgMDtjb25zdCB2PW87ZnVuY3Rpb24gSSgpe3JldHVybiEoIXdpbmRvdy50cm9ufHwhd2luZG93LnRyb24uaXNUcm9uTGluayl9ZnVuY3Rpb24gbSgpe3JldHVybiEhKEkoKXx8d2luZG93LnRyb25MaW5rfHx3aW5kb3cudHJvbldlYil9ZnVuY3Rpb24geSgpe3JldHVybigwLHYuaXNJbkJyb3dzZXIpKCkmJnZvaWQgMCE9PXdpbmRvdy5pVHJvbn13LnN1cHBvcnRUcm9uPUksdy5zdXBwb3J0VHJvbkxpbms9bSx3LmlzSW5Ucm9uTGlua0FwcD15LHcub3BlblRyb25MaW5rPWZ1bmN0aW9uKHtkYXBwSWNvbjplLGRhcHBOYW1lOnR9PXtkYXBwSWNvbjoiIixkYXBwTmFtZToiIn0pe2lmKCFtKCkmJigwLHYuaXNJbk1vYmlsZUJyb3dzZXIpKCkmJiF5KCkpe2xldCBuPSIiLGk9IiI7dHJ5e249ZG9jdW1lbnQudGl0bGU7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbCo9Imljb24iXScpO2UmJihpPW5ldyBVUkwoZS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8IiIsbG9jYXRpb24uaHJlZikudG9TdHJpbmcoKSl9Y2F0Y2goZSl7fWNvbnN0e29yaWdpbjpyLHBhdGhuYW1lOm8sc2VhcmNoOmwsaGFzaDphfT13aW5kb3cubG9jYXRpb24scz1yK28rbCsoYS5pbmNsdWRlcygiPyIpP2E6YCR7YX0/Xz0xYCksYz17YWN0aW9uOiJvcGVuIixhY3Rpb25JZDpEYXRlLm5vdygpKyIiLGNhbGxiYWNrVXJsOiJodHRwOi8vc29tZXVybC5jb20iLGRhcHBJY29uOmV8fGksZGFwcE5hbWU6dHx8bix1cmw6cyxwcm90b2NvbDoiVHJvbkxpbmsiLHZlcnNpb246IjEuMCIsY2hhaW5JZDoiMHgyYjY2NTNkYyJ9O3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZj1gdHJvbmxpbmtvdXRzaWRlOi8vcHVsbC5hY3Rpdml0eT9wYXJhbT0ke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShjKSl9YCwhMH1yZXR1cm4hMX0sdy53YWl0VHJvbndlYlJlYWR5PWZ1bmN0aW9uKGUpe3JldHVybiBwKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxuKT0+e2NvbnN0IGk9c2V0SW50ZXJ2YWwoKCgpPT57ZS50cm9uV2ViJiYoY2xlYXJJbnRlcnZhbChpKSxjbGVhclRpbWVvdXQociksdCgpKX0pLDUwKSxyPXNldFRpbWVvdXQoKCgpPT57Y2xlYXJJbnRlcnZhbChpKSxuKCJgd2luZG93LnRyb24udHJvbndlYmAgaXMgbm90IHJlYWR5LiIpfSksMmUzKX0pKX0pKX0sZnVuY3Rpb24odCl7dmFyIG49ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLGkpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKChmdW5jdGlvbihyLG8pe2Z1bmN0aW9uIGwoZSl7dHJ5e3MoaS5uZXh0KGUpKX1jYXRjaChlKXtvKGUpfX1mdW5jdGlvbiBhKGUpe3RyeXtzKGkudGhyb3coZSkpfWNhdGNoKGUpe28oZSl9fWZ1bmN0aW9uIHMoZSl7dmFyIHQ7ZS5kb25lP3IoZS52YWx1ZSk6KHQ9ZS52YWx1ZSx0IGluc3RhbmNlb2Ygbj90Om5ldyBuKChmdW5jdGlvbihlKXtlKHQpfSkpKS50aGVuKGwsYSl9cygoaT1pLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5Ucm9uTGlua0FkYXB0ZXI9dC5Ucm9uTGlua0FkYXB0ZXJOYW1lPXQuZ2V0TmV0d29ya0luZm9CeVRyb25XZWI9dC5jaGFpbklkTmV0d29ya01hcD12b2lkIDA7Y29uc3QgaT1vLHI9dztmdW5jdGlvbiBsKGUpe3ZhciByLG8sbDtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0e2Jsb2NrSUQ6bj0iIn09eWllbGQgZS50cnguZ2V0QmxvY2tCeU51bWJlcigwKSxhPWAweCR7bi5zbGljZSgtOCl9YDtyZXR1cm57bmV0d29ya1R5cGU6dC5jaGFpbklkTmV0d29ya01hcFthXXx8aS5OZXR3b3JrVHlwZS5Vbmtub3duLGNoYWluSWQ6YSxmdWxsTm9kZToobnVsbD09PShyPWUuZnVsbE5vZGUpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLmhvc3QpfHwiIixzb2xpZGl0eU5vZGU6KG51bGw9PT0obz1lLnNvbGlkaXR5Tm9kZSl8fHZvaWQgMD09PW8/dm9pZCAwOm8uaG9zdCl8fCIiLGV2ZW50U2VydmVyOihudWxsPT09KGw9ZS5ldmVudFNlcnZlcil8fHZvaWQgMD09PWw/dm9pZCAwOmwuaG9zdCl8fCIifX0pKX10LmNoYWluSWROZXR3b3JrTWFwPXsiMHgyYjY2NTNkYyI6aS5OZXR3b3JrVHlwZS5NYWlubmV0LCIweDk0YTkwNTllIjppLk5ldHdvcmtUeXBlLlNoYXN0YSwiMHhjZDg2OTBkYyI6aS5OZXR3b3JrVHlwZS5OaWxlfSx0LmdldE5ldHdvcmtJbmZvQnlUcm9uV2ViPWwsdC5Ucm9uTGlua0FkYXB0ZXJOYW1lPSJUcm9uTGluayI7Y2xhc3MgYSBleHRlbmRzIGkuQWRhcHRlcntjb25zdHJ1Y3RvcihlPXt9KXtzdXBlcigpLHRoaXMubmFtZT10LlRyb25MaW5rQWRhcHRlck5hbWUsdGhpcy51cmw9Imh0dHBzOi8vd3d3LnRyb25saW5rLm9yZy8iLHRoaXMuaWNvbj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGMEFBQUJkQ0FZQUFBREhjV3JEQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk5BQUI2SmdBQWdJUUFBUG9BQUFDQTZBQUFkVEFBQU9wZ0FBQTZtQUFBRjNDY3VsRThBQUFBVUdWWVNXWk5UUUFxQUFBQUNBQUNBUklBQXdBQUFBRUFBUUFBaDJrQUJBQUFBQUVBQUFBbUFBQUFBQUFEb0FFQUF3QUFBQUVBQVFBQW9BSUFCQUFBQUFFQUFBQmRvQU1BQkFBQUFBRUFBQUJkQUFBQUFNa1RCZklBQUFGWmFWUllkRmhOVERwamIyMHVZV1J2WW1VdWVHMXdBQUFBQUFBOGVEcDRiWEJ0WlhSaElIaHRiRzV6T25nOUltRmtiMkpsT201ek9tMWxkR0V2SWlCNE9uaHRjSFJyUFNKWVRWQWdRMjl5WlNBMkxqQXVNQ0krQ2lBZ0lEeHlaR1k2VWtSR0lIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SStDaUFnSUNBZ0lEeHlaR1k2UkdWelkzSnBjSFJwYjI0Z2NtUm1PbUZpYjNWMFBTSWlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPblJwWm1ZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZkR2xtWmk4eExqQXZJajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZUM0pwWlc1MFlYUnBiMjQrTVR3dmRHbG1aanBQY21sbGJuUmhkR2x2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2hsZTRRY0FBQlpoU1VSQlZIZ0I3VjBKbEJUVnVmNnJ1bnRXbGxrQTJRZVlRUVJCWkhORnhaanc0akZxTUVGeENXSVMxeU9hVGVKNzZuazVMeWM1Q1VaTmZDb2EwQmdVeFJoM1FEMkNKczhsRUxhSWdPQ3c3OHNzek40ejAxMzF2dS9XMU5EVGZidG5lcWE3Wng1di9uTjZwcnJxMXEycTc3Ly9ldjliYlVnY05Iam0vc3lhN1BJaUl4QTQzVENOVWJZRWN3M2JzT0xvNHY5OFU5c1dBeFN3YmJ2WUk3TERDRForZGV6bDg0N0c4MkJHV3hybnpWbC9ubUY1YmhDeHZpRzJGQm9lbjArRXA5cHRPZjBVYk9QQVpsc05oT0NZbU9ZYXd6YVhpcmZ5blpMbnBsYTE5c0F4UWMrNWFjMTRqeWY5SWJIc3F3MXZ1dGUyR29GNzhQOHgyQm80RFZNTUUyT1FxQVFEVzhXMmZsdjY0b1FYTUNpampzaW9vT2ZQM2pBWHZmMFNIZmEyQS9Yc1VuWGMvU2NHQWdBZnFnZmdCMTh6R3F2dktWazY5WkN1ZFNUb3Q2M3o1ZnZOUncwejdXN2JDcEI5dXZPNjk4VkF3UEJtQXJhR3pYYlF1cTVzeWNTdDRVM05sanRzQTREL3dmQmszSTJUdWdGdkNVNmJ2OW1CT2lnSjcxalRZN3pkKytaMWhlRW50Z0E5NzZiMVA4WUl2OU1PK05HdVc1MkVneFhQZHpzSWxleEpLL1JhNXVLK2QyM3BFWHB1TStoOWJsbzMwVFM5LzZXTVpUZmdvUmkxZTV1RDEvQm1YR0JWMWowWTJva0QraTlzbUdEalYyTDZzbUY5UTQ5M2IzY1FBVFhpVGMvYzNCdlhqWE83VXFEMzJibjJJdHYwVGxjTjNDUGQveE9EQUFheDRVblA4cGptdlc2SENuVGJObStCNHNkMnR4NTNnVW5rZnc1bVc2d1pVT0VEMksrWk0yZGpEb0xMeSt3Z0FwOXVTZzRDYXJSbjVJa3BsL0lDcGluV0dmQnZCblhyOHVUZzNkd3JJbGZrYlM1eVFMZGtQTnhFQkVuZHFxVVpvR1JzcUNEVEhLMUF0MnlaWm5kN0xNbUF1VVdmRHNaMjM2TExWNlNiR1BYWjNhTzhCVDdKL09MeDk4aUJTcmU3OVVveVVXN1JOM0poL080RVJ5Mk9kSDlKTmdMZG9DY2JZVTMvM2FCclFFbjJybTdRazQyd3BuK3ZabC9jdXpnVFV0dmdKTW84cGlFZXNOTEUvOGdaa3JpN1BpVlA2RERvalVGYjVzMFlJSVB6MDJURHpocjU4b0JmOWh5cmw5S3FnR0lFWnEvQUJFT1kyVUVGUVRjak1JdzZESG9Bb084OTFpQVBmSGVnM0h4cEg0YTZjcnl5VVhZZnJaZE5lK3RrMDU1YU1LSk85aDV2VUl5b2cwU2NaQVNZUUdhY2t1TTUra04xR1BSMG55a3JOMVhJb2JJR0daaVhwZ0R0MTlzbi9KeDd1ak5oZ3FoWGpsVTRqUGhpYnkwWVVkZkVpSG9wZzBUVU5iS1l4SlVJZ3dtaFU1bzZERG8waGh3OTBTanZiNnlRV3k3cnF3V0xiZnJuK05Ubi9GRW5HY0h6ZGg3eHl4ZVFDREtEcW1sZmljT0kraVpHZUhHeXh3TkduRUxpMEdIUWlUSUJlV05OdWN6NVdsODFZclhJaCsza09RTnlmZW96ZFhSUGRUUUlrVGhXRVpBZGgvMVFUWTVFYkQ5WUIwWTBTRmwxUUJwT0VVWWtCUFEwV01tMXhUVkNnTTRZbkJrR2I5dS8wdUM2akxob2pNTUkyZ3hLeEk0ajlVb2FhQ08ySGZUTGZqQ2luSXdJT0tySkMybmcrV1JtVjZlRWdFNTlYRkVibEhmV251Z1E2RHF3Q09ZZ2VFYjhYSExtU1VZY0xtK1U0a05RVGZzYzFiVGRaVVJOUUJxN09DTVNBanJCOGdHY2Q5YWRrSHV2N0M5cDN1UU9OekppU0o4MDlmbmFXYjBVcitpNkhnRWp2aUlqcUpyd0lTTU9RQ0pPMUFTRnh5a0Z0QStkTFJFSkJYMHpSdDE2K09xdXNkU04zR1R0STlOZFJseld4QWlxSGtyRVY0Y29EU2NsNGtDcHd3aXFyczVnUk1KQXA3UHRyN2ZremRYbG5RSzZqcG1VdUlLK2FlcnpqZkc5VlJONlJYUnZ0ME1pTmtNYXlBeEtCeGxCRmVreXdyVVJWSjJKcHNTQmpqdmpRNzcvcndwNVlPWkE2WldGNnUwMlVpMllSWHZRSTlPVWNVT3o0Ty83aEErZERFcjNHVEw4dEhUMStlWUVseEdXSEN4clZPcUlxc2xseEVFeW9pNG93U2FKU0JRakVnbzZiMm9YSXRHUHY2eVNLeWJsdEJtenJIUlRSZ0NJVzUvYXJkVEJxRUVad3MrNGdpd1pPelJUUmc3SWtQNXdMNmxDa2tFTThIaDlmaTZmNkREQ2o4aVpvOStSQ0VUV1lBWU45MEZJU1dXdEpYUnZHY1NwT0FJNktoNkpNUEpucjM4THRWOVhDU3QwRTBBTTgyZE56WmRuN3g0ZWQyOU1GY3g1ZkpkOEFxWlJhcGhTNFAvY0hsNmxyODhBSTg0YTFzU0lnUmx5R2dJdVBuU3FpTTlHVjVVR2V2TStSeUpjUmxUVnRjSUlFK1BiRG16THJLdWZtSERRTFNRYjgzcDY1T05majFFK2Q3eUFsRlFHMUlobmhFc0pJREdOUUJFUFlNTmxSQjRZTVJUNm1uSEJ1SUpNU0VTV25FNUc5UGFxREdlODEyMXZlNnBHTW1JYlloU3FKVEtqK0ZDOXNodlZmcWdtNEtFa3d1c1RqeEhjbHVWUEF1aThlWTZJQmJjUGs5bElnTFdIcXYyV3pGMjRSMTc1cEV3eUFieHVMSWN6Z3JxYWpDam9tdzVHUUNLZ21zNkVhaXFDYWtvMUkycHcvNHlpR1N3cUd3R3ZydmhJUUk2VzFXM3pWUHNUUDlJSmNuMmpKVitIdC9ENi9TTzFnRzNZVlFzOW5TNDlNNk1iVzdwNy8vN0Nmbm5tL1dOQ25kc1duVWtwb3pSUTMxSWl5SWo4bmc0alJrTWl4Zy9MQkNPeXBMQi91dlJGUWk2Rm1rbW9mcEI1M2JOa1U4MVpDVFdrN3FobVdtRE5WOVhLOEZEa3c2bXlOaUIzUEgxWW5vSTA5STdpNVZDWC8yN09VS1hQNTc5eFdIa3pyWUZFTVU1VGpVN0tCck9Zek9lc3h2MlFFUmxwcG1MRU1LaW0wVU9vbWh3YjRUTGk1Sm5oZDkyeDd6M2htY0U1OEJUdThGTzdKNTQ0S2hrRjBnMzg2ZFg5SXk1d3dSazlaZDZmOTh1MUQrK1F4ZmVPVUFZeG9oRjJzSjhINFg3bTlmRElneThkVkNPWTBXUTh4QmtzNE16ZTFHbkFYVXFSNzJjKzU3UHQxV29mSmFsUEw2OE02NWN1WTVwdFJDYThtUXhJUk9JZ1lneEE4bVNOdi8xNnpDU01TblF0STd1blNOMTRjYjRLdTlYVm12NFF1RXI0dnd2ZU95Yi9SS0xza3JHOTFJZ09iUk82UFdWa0R4WGdyTnhVcVJKY0JMSzl4RE81R0l2M1FCZFV1YUhZV1FPalI0TzREaEgxdXhzcWxEMVora21wTEVOcVl5UFVJU05iZ2tZcGRnMTh2UGVBbkZEbEYvdnFGeVNPaldGMzRJTjZvQ1hmc0x0R3pnVm80ZlN0eWJueTZOdEhaTzJPR3ZudWI0dmxUL2VNZ003TkNtL1cvSDNXUmZtU0EwTjV4NExkU1BNR2xTdlpmTENERzJRRW1jQzUzVkNKNE1RTHdmNWtLNWFHb2xFbVJLYXZLeEZRVFhSZng4RllENE4vVHlQZVZrcmFTT2VEMEozS3lmTENxRHBKcWRDYm9vSDdlR3UxbWs4bGlPL0NSVHg3ZUpieVBrTGJoVzdURStGczFFZGZWQ0t0RzB4YTFNcHI4djVOVnlJd2dDZ1JqdlFHMWRRakpYVEYraE5LSXVobHJZQjBmTDY3Vm82Q1VYUVRhY1RKcEZBS0JxVnkwejcvZ3FTQnpvdFJKeFBRRzZCaXFEZERpY2ZxNGFGUWZHbmNxRzY0VGNPck03N3V1VXhxWFFwMXhLaVhXY1ZrcFF2YzY0WCsxeklDbktqQ3ZlL0dQREdkQno0RDFkSmZ3QWdPSk9iL2p5SDJBQXZCTkt1eTVFampnb1FIUjZFM3lXMjZmcS84cktnNXZBNDlmaGo1anFuL3NWVXhocUx0NnN4SGJoa2kzNXNXMjhmZmU3eGVidm52M2JJR3hwQytmRmNpZWtrVy9nU3dCRmVsQzhDdDdLeDB5YysydnlycTB6Z2g2WGZMaTc2eHBreUx5UUFrdHFaaDFEWUVJSThnanRwR3lPWTlpL2JKSDViRmZzY0JneUF5Y3pxU1ZsUmpYWWtveGJRUlZERTB1cFJrRHFoRDVZM1d4aTBOV0ZXWFpLSy8vZEVYVmNwRjAxMXF4bm01Q0k4cHVBN3hadm4xd1NVSDVCZExENm9SNHg0TC8wK2pScGZ6dXFsNXFzYUdPcmVyRXAvSlZZVkpCNTBnTW4rOTh2TUtMUjRYWXk1MEJDSkVScEl1NFJUbG5Uejg1bUg1MGJQN3hJOElOeG94cW4zbXp1Rnl4Ny8xazNxa0h5amFYWjJTRGpvQklKZGZYM05DQ3dqejd0UFA3cTFtK2tQQjRqbTAvb3MrT0M2M1Bya2I2ZFRvN3lpZ05EMkM2UFgrN3d4VTAzSWgvQXZ0c3RPM09YZDc0QUJOYWdxSUFjVnFHRHpXdU9ob3hybTVTdS9wQmlsMTRtdi9LSmNiSDlzWlZVV3hUNldTRUwzKzVudUQ4YzNKditpdTFWbjdtSSthTUR3NzdhTkZSVTQ0a093Ym9icGd1UVRkS1IxTktzcFdreFZ1bUJ6ZWhzQi9pR2lVYVFOT2tzU2l1eTQvVFo2OGJaaHlVYVAxRit2OFpCeWpvWjhGdS9QS3p3cDlQVFA2cGdaMFBnaU55TnZJeGVpQW9IcjQxdVFjVlRvUjdhSHBGcTdmaGVoMWZySHlmYU8xNC83ckViMCtQM2VFOU03MktKYzFWdHRrSHFOOVlacjd0dW45NUtuYmhrcE90aGZQVUo0YTljSUhZMXFBZ2NLL0VMWHA2TW9wT1NyakdNc1FaaURBNGt6TlRJeDR6aTdGb205aTJtM3BUNHRrRU54U1RrYW5tbWhYNkFxem92blI3dzlGUk92RUlieVBsT2gwWGdnYVJ2blRiNkw4VGtlakJtWEtsSkhaclk1TVJyYU1SRzk0ZEdkVWRlWDJ6MUtRVitlTkZFN3pjYzR6VmVUazgyMzUxVTFENUQrdkd4U1J0MDhaNkh4Z3FwSDNFQm96b3hkTzFQczBxSXprV2lOS0RiMlpIenl4VzE3NFcwbk01cHpZL3V2UGkrUWNKTjBvNnNrbXFrL21hUjcvWVlIY2M4VnAyc3VsRkhUcWRhcUhUN2M1ZWV6d082THJ5TWxtemdDMVJ1eUxLWVo3RnUyVng5c1N2ZDVYS05NeG01WE02SlV1SWVPR1orOGVFVE9Oa1ZMUUNTU0RJRmI0Nm9qMWlneVczTFNBcmszb1Byb0J6STJmakY1RGo3YmM3dHZMSjR0LzFCUzl3cHRvWFo1YW50L2FOdzZBZmpsZVdmTGpRcUY5aWtVcEI1MHFodTRmYzlVNm1uRmVudks1ZGNkMCs2aVdxRzZjNkhXdm1wL1Z0ZU0rRmIzZWtmam9sUkV6QzVoZXZhOUlMbTRxY3RYZGd3KzVHRkxLUVdkYWdFVThxd0M4amxpWnl3Y0lUUXZvMm9YdUM0MWVmOWhhOUlvSGYrU1dvZkx6YXhJVHZkSk9jUExsdFhsRm1BL0FpdjhZOU1IbmxmNG5IMTRiU0Rub3ZDZUM5QVpxSG5XVUE5OWFseGJRdFEzZkYwLzArdEMxakY2SHFDN29iYlNIYUIrb0R1a2hjWUlsRmozMWZxbk0vdjNPNEthcUNxdFRRR2RhNEI5SUMreUtraGI0TnRNQ2NBM2JBNFdLWGpHejFMYm90Wjg4Y1d1QnBPTitkRUZiTEJBSk9IWDNTejhwbElFbytZdEdmSVpmLy9VUXlra09xR25vd1lNSHAxNjk4T2FvaDdua2NmbDZmZVp4Q3RJQ1k0Wmt4QTJFKytCTWxMRmttM092RE1oaUVXZTFuc2Y4YkZ1alY0SllCOEE1eWZJblJMMHMrWXRHYXJubjgvc1Y2UFMyektZeW4wNFo2YnhKSnkxUXJnV1dBZEFWcmFRRm9qMm91NThUQjhXSDY5c2N2Yjc4RTBhdmFURU5NVU1JSnE3bXd2OSs4cmFDbUZVQnJQSzY4K2s5OHVSN1J5VWQ5MEtWNmxLbmdVNlBneWtCMXYvcDZLb3B1YXJjdWcyeGt1NTB0WTh6TjI3MHVqeEtzczA5K1lJekdMMFdvU0FvVXh0RXVkVmpEODRjSkwrWlBhUjVRc0k5UC9RL0M1eFlDUHZTLzVSS0ZnRVBQWWp0VGdPZE44TFJFQzB0d0RLNHlZV3Rwd1hDbmlmaXF4dTlmditKWGZMaTMxdVBYdW1Gc0dRa05IcWxvZVZJblErdzc3OUd2WEF1NGpydURucG1zeDdaS2NzM25JZ3FDWjBHT20rU1B2c0szSnd1U21TSkhBMXFzQ05EdlFrSk4zcWR1N0FOMFN1cXZKQ0NGYTdjNEgxUkw5T29MN2hqbU55TzJhbFl4QkxxbWZOM0lPS3VVaU9jYldrRExEQ053VlB6K3hPU1ZlRVY2K2JjWTZ6VVltbjArU2l6WTBGK09MSElrNlVNL3FiMW8rSEg0L25PR2hhbTNlQXJLd0F1SHRPcmhaNE43U3M3dzZOc3loNlVWVkE5UFlldy91cHpja09iUkd6VGNETUp4d1hJekwwUTVBQStYRmlXaHhxZnNRWFpNdTNNSGhXWEZIaitHTjMwUm5TYm5CMGNTZlRadjk2ME9DdjBLcXh4b1IvOCt1b3lOYk1VZXF3OTIvU2FLRjJNWGptcE12L21vV3JHWHRjWG85ZW5NYnFwTG1MVjRmRGM1U2c2Y3FjVWFZd0wrcUU0VmRWRU91WGFIRkRNS1VGbzA1NzlzTnpUNmFDN2FRR09lQlp4aHRPTTgzT2psbkNFdDIzTGR3NTRlallMTWZmS1FpaDZJZEhXUjlIbmJ3MXdMaVQrKytZcUZMb09VaFZxbkdRL0RSSWE2cTI0OTFVRGRVV0tmRXEzUllyK015Mnd2N1JlUG1SQWMyRmV4RlduSVMxUUFEMTdFTVdkRk5WRUVIdHhvdGN5cktnTHlNSzdoa2V0SEc3dGVrV29zNTkvc3hQWnR0YldQZDZwaHRTOUNWcWJhR2tCQmg4MGFpekJTelFSK0ZYUThkZitiZ2ZLNG1MUHZVYTdkbnZXUEhVSjBOUGdIZERpUjN0d1RtNmt3ZWRPUE93bzgrRGNLeXFIdjhQb0ZTdm9Va0ZkQW5RYU9PcjBkMkdRZEhRT3B2RllyQjl2ZmtUWGwyNmZpbDZ4T0l2dVhtdHpyN3J6MjdyUHJibnNFcUR6cHBGemtyZitpV29CVGNhUG9IQmRLbWRta2tXTVhsbUxmajNjdms5Ym1mU081eDZZTnVEcnRUNzR2RnArLzg2UmhwV2ZIZzUydWlGMUg4QUgxRGVpeEdJejBnS3NVdytucTg3SmtjZVhIMVdqWGVjWmhMZHZ6M2Q2VWlWTnI4SzZzT2tkTlBIMFE0QlJKS3FtSkpuZTRNbzZMdjUxVmw2ak9EYlEySmh2TlhZZDBBa2tseksrdmJaY0Mvb1lySHlZV0ppRlVWaXRmTzE0d0lpbkxkTzhnL3RFQm1yaGZiQzZnS3VubllXOGRiSmxQOTR4QVBlUit5bzBiOTN3ZWIwSW1pRE9TRFY1WVoyNnpDdmtPTktXcjZ1USs2NGVFRkZ6VHRmeTI0Z0s2Uk96WFRLSUdRZG1CSFh4QXEvSDFSZXI4TDR5QlRCRzhDSFUxN01xZ2JhR2RzbDlyUW56UGZ4RUk2VEE3TVNzVDQ5MmhUajJNMGZDQmErcmkvWFZBcGRQekZFdlpOT28vVGl1RXIwcExVWTJ2Qmt1emRFUmwxWStnQkp1dnVtRG81cTVHUTRBdXA2ME93ei9DWDRNc3IzWjliWnBXNTdQRERlN0hxTjFxZzY1YVFIZDliZ3MvVUtrWU50YUxhRHJJOVkrSnFaeVVmckdGRUE0OFZocFZhUDBSRjZHQUt0SmlkZ0F0K2pDNExzUXhhN1k4L3kwZXVTQnJBMzRvYnNXRFRyekMwY09seTR5SjYwakxpS0k0MWwxWFVUZFJ3bGljb3FqUFp5cU1hcVpObWhsSkllZmR2STdRYmZOWWlUZGJOTVRTTnVDdHpPVXFyZFNubXpTYVZ2VTNmdndOb3dQTit1ckJTNGQxd3R2eEVoWGEza1NmWk1jelh5UGdNNDc0Z3Q0S3ZCK01MNUZ0YjFraVBVWnp6V1B2VHp1S0s3eXFmdnpqdTN0TUxIbk9abEhYWi9VdDF3aW1ZeWlVSTUwWmdOMXBGNWppOUhlTHNqQlJmenNUcTBSOUt4aTMwcU84R3VDTHpqcGR0M2xVcitQMVFLTURMbUNUa2NxTFJERE85Q2QwOVo5ZkVXaGpvNmpPSXI1SDUwVTZOcUg3ak04YVlEWFhuWDhwUWxRTDAyZzkvTDFXUVpPYkZRSFExdDMwallsK0RoZW9zRGw0anJpQWw2KytZaEdONUZFUUprUDF4RW5NOXFYaHNBb3R3S1dZZGlQdWYycWtiN24rZUYrNlBtSDhMdkpTUGkyUzREYy9oTDJuN3I5TGRRODZncUI2S0oxdEZwQWQ2TjArYUtwRi9yazdaazV4QThHNHJ6QUt5V0xKMy9rWHJQWlRKZjhlZkp5c1J1ZU1YeXhLNVhjRTVQOW4xN01CcVFGR0lqb2lOVUNQVEpRa0pTZ3dhNENJMlE3K1dKbUhURXZFN2Rxd1MveDJrSC9QZ242NW9YMjJRdzZkNXAxbWZQd2M0NnIrTXV4blUxOFFMNUY0eDBrd1hRMEZxK1FtakFDMVFJSlVqSGtYVGFZeUZkaDZlaHdlVU44b0t1M3VsaVZoaFc4dVd6SitBT2hmYllBL2ZpcloxWTNORnF6d0owUERTK1RUcDJyYWhoS2MvNHh0QnpDdlhsT0huQ3ltTy8yU2dUUlhlUUxmM1JUZHp4MkhLbm4wRVhHTWE5Snd5bjJDU01ZdUtIa3hTbC9DMi9iQW5RZXJIcDVjZ2wrNm5pR0hheDdUc2l0cGw4S0R6OHhGZDhaOWZHRjkzeDVzbzR1bjlSYjVVbm82bldVMkFkZkg1S1ZIam5TT2JkWmptQk5CWld4TG9RR1Nrdll3UzNBOElxU0Y2R3lOUlFCT3R1VUxUbXZzblR4eEI5WVZ1QjZWRzFzeFc5TzR6YzF3YjI0bFpybWluSHNvcHpSSDQ4MmxUY2NjNmVzekVwRVdvRExibWhFZGJFUGsxcDhVNU5UeHFGNUFBeE9SeVViVldJMVBOYlFFSmhXOXVJNW4ybGFxbDM2ekU1VDYvSVhKaTdOdTNIMUNzTzByNE9tbVkyTTVDVDhvR21tdzNJTWpVUlpzV2gzaC8zcEdiYXMzT0tYRTVoSnk0bE1zOHMxV0VTd2JBTU9landkVW9hSVZhUi9udDZKS0sxR29WQVFERUY2MWxHNCtLczJHUFJnUWJJZDNJblpsN2N4UUJlV0xKNzBaWXpIVVlkaWdzNFdIUFg0dHhBOUw4cWZzMzRVZk03SjJCNk5GVm1EeExCNmk5MnEwS2tMdGZjUGhYMHZTcXEzSDZnZUMvOThSSGcvVndMME1XOGUvaGp2VnkvWGltMzRDVkcrMjFoK2VQYXdqQWs0SERHMWJ5Rk40cStyL2RRSDc0YWFER090RnZudzR3QysyQkp6bzhkYi9YbkpjMU5qcjdFTXVhN0R1SkFkWFhYVHJxOGZJMmxwVXlQdno4TFNqalhMakNFWEhJdzhGdDhldTY1c3FtVGtqb2s0SytBdk5ueVpIMFhzYitlTy93V3JnNDZEby83Z1lBQUFBQUJKUlU1RXJrSmdnZz09Iix0aGlzLl9yZWFkeVN0YXRlPSgwLGkuaXNJbkJyb3dzZXIpKCk/aS5XYWxsZXRSZWFkeVN0YXRlLkxvYWRpbmc6aS5XYWxsZXRSZWFkeVN0YXRlLk5vdEZvdW5kLHRoaXMuX3N0YXRlPWkuQWRhcHRlclN0YXRlLkxvYWRpbmcsdGhpcy5fc3VwcG9ydE5ld1Ryb25Qcm90b2NvbD0hMSx0aGlzLl90cm9uTGlua01lc3NhZ2VIYW5kbGVyPWU9Pnt2YXIgdCxuLHIsbyxsO2NvbnN0IGE9bnVsbD09PSh0PWUuZGF0YSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQubWVzc2FnZTtpZihhKWlmKCJhY2NvdW50c0NoYW5nZWQiPT09YS5hY3Rpb24pc2V0VGltZW91dCgoKCk9Pnt2YXIgZTtjb25zdCB0PXRoaXMuYWRkcmVzc3x8IiI7aWYobnVsbD09PShlPXRoaXMuX3dhbGxldCl8fHZvaWQgMD09PWU/dm9pZCAwOmUucmVhZHkpe2NvbnN0IGU9YS5kYXRhLmFkZHJlc3M7dGhpcy5zZXRBZGRyZXNzKGUpLHRoaXMuc2V0U3RhdGUoaS5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKX1lbHNlIHRoaXMuc2V0QWRkcmVzcyhudWxsKSx0aGlzLnNldFN0YXRlKGkuQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpO3RoaXMuZW1pdCgiYWNjb3VudHNDaGFuZ2VkIix0aGlzLmFkZHJlc3N8fCIiLHQpLCF0JiZ0aGlzLmFkZHJlc3M/dGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3MpOnQmJiF0aGlzLmFkZHJlc3MmJnRoaXMuZW1pdCgiZGlzY29ubmVjdCIpfSksMjAwKTtlbHNlIGlmKCJzZXROb2RlIj09PWEuYWN0aW9uKXRoaXMuZW1pdCgiY2hhaW5DaGFuZ2VkIix7Y2hhaW5JZDoobnVsbD09PShyPW51bGw9PT0obj1hLmRhdGEpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLm5vZGUpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLmNoYWluSWQpfHwiIn0pO2Vsc2UgaWYoImNvbm5lY3QiPT09YS5hY3Rpb24pe2NvbnN0IGU9KG51bGw9PT0obD1udWxsPT09KG89dGhpcy5fd2FsbGV0LnRyb25XZWIpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09bD92b2lkIDA6bC5iYXNlNTgpfHwiIjt0aGlzLnNldEFkZHJlc3MoZSksdGhpcy5zZXRTdGF0ZShpLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpLHRoaXMuZW1pdCgiY29ubmVjdCIsZSl9ZWxzZSJkaXNjb25uZWN0Ij09PWEuYWN0aW9uJiYodGhpcy5zZXRBZGRyZXNzKG51bGwpLHRoaXMuc2V0U3RhdGUoaS5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCksdGhpcy5lbWl0KCJkaXNjb25uZWN0IikpfSx0aGlzLl9vbkNoYWluQ2hhbmdlZD1lPT57dGhpcy5lbWl0KCJjaGFpbkNoYW5nZWQiLGUpfSx0aGlzLl9vbkFjY291bnRzQ2hhbmdlZD0oKT0+e3ZhciBlLHQsbjtjb25zdCByPXRoaXMuYWRkcmVzc3x8IiIsbz0obnVsbD09PShlPXRoaXMuX3dhbGxldCl8fHZvaWQgMD09PWU/dm9pZCAwOmUudHJvbldlYikmJihudWxsPT09KG49bnVsbD09PSh0PXRoaXMuX3dhbGxldCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQudHJvbldlYi5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uYmFzZTU4KXx8IiI7aWYobyl7Y29uc3QgZT1vO3RoaXMuc2V0QWRkcmVzcyhlKSx0aGlzLnNldFN0YXRlKGkuQWRhcHRlclN0YXRlLkNvbm5lY3RlZCl9ZWxzZSB0aGlzLnNldEFkZHJlc3MobnVsbCksdGhpcy5zZXRTdGF0ZShpLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KTt0aGlzLmVtaXQoImFjY291bnRzQ2hhbmdlZCIsdGhpcy5hZGRyZXNzfHwiIixyKSwhciYmdGhpcy5hZGRyZXNzP3RoaXMuZW1pdCgiY29ubmVjdCIsdGhpcy5hZGRyZXNzKTpyJiYhdGhpcy5hZGRyZXNzJiZ0aGlzLmVtaXQoImRpc2Nvbm5lY3QiKX0sdGhpcy5fY2hlY2tQcm9taXNlPW51bGwsdGhpcy5fdXBkYXRlV2FsbGV0PSgpPT57dmFyIGUsdCxuLHIsbyxsLGEscztsZXQgYz10aGlzLnN0YXRlLGQ9dGhpcy5hZGRyZXNzOygwLGkuaXNJbk1vYmlsZUJyb3dzZXIpKCk/KHdpbmRvdy50cm9uTGluaz90aGlzLl93YWxsZXQ9d2luZG93LnRyb25MaW5rOnRoaXMuX3dhbGxldD17cmVhZHk6ISEobnVsbD09PShlPXdpbmRvdy50cm9uV2ViKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5kZWZhdWx0QWRkcmVzcyksdHJvbldlYjp3aW5kb3cudHJvbldlYixyZXF1ZXN0OigpPT5Qcm9taXNlLnJlc29sdmUoITApfSxkPShudWxsPT09KG49bnVsbD09PSh0PXRoaXMuX3dhbGxldC50cm9uV2ViKXx8dm9pZCAwPT09dD92b2lkIDA6dC5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uYmFzZTU4KXx8bnVsbCxjPWQ/aS5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkOmkuQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpOndpbmRvdy50cm9uJiZ3aW5kb3cudHJvbi5pc1Ryb25MaW5rPyh0aGlzLl9zdXBwb3J0TmV3VHJvblByb3RvY29sPSEwLHRoaXMuX3dhbGxldD13aW5kb3cudHJvbix0aGlzLl9saXN0ZW5Ucm9uRXZlbnQoKSxkPXRoaXMuX3dhbGxldC50cm9uV2ViJiYobnVsbD09PShvPW51bGw9PT0ocj10aGlzLl93YWxsZXQudHJvbldlYil8fHZvaWQgMD09PXI/dm9pZCAwOnIuZGVmYXVsdEFkZHJlc3MpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLmJhc2U1OCl8fG51bGwsYz1kP2kuQWRhcHRlclN0YXRlLkNvbm5lY3RlZDppLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KTp3aW5kb3cudHJvbkxpbms/KHRoaXMuX3dhbGxldD13aW5kb3cudHJvbkxpbmssdGhpcy5fbGlzdGVuVHJvbkxpbmtFdmVudCgpLGQ9KG51bGw9PT0oYT1udWxsPT09KGw9dGhpcy5fd2FsbGV0LnRyb25XZWIpfHx2b2lkIDA9PT1sP3ZvaWQgMDpsLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09YT92b2lkIDA6YS5iYXNlNTgpfHxudWxsLGM9dGhpcy5fd2FsbGV0LnJlYWR5P2kuQWRhcHRlclN0YXRlLkNvbm5lY3RlZDppLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KTp3aW5kb3cudHJvbldlYj8odGhpcy5fd2FsbGV0PXtyZWFkeTp3aW5kb3cudHJvbldlYi5yZWFkeSx0cm9uV2ViOndpbmRvdy50cm9uV2ViLHJlcXVlc3Q6KCk9PlByb21pc2UucmVzb2x2ZSghMCl9LGQ9KG51bGw9PT0ocz10aGlzLl93YWxsZXQudHJvbldlYi5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PXM/dm9pZCAwOnMuYmFzZTU4KXx8bnVsbCxjPXRoaXMuX3dhbGxldC5yZWFkeT9pLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQ6aS5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCk6KHRoaXMuX3dhbGxldD1udWxsLGQ9bnVsbCxjPWkuQWRhcHRlclN0YXRlLk5vdEZvdW5kKSwoMCxpLmlzSW5Nb2JpbGVCcm93c2VyKSgpJiZjPT09aS5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCYmdGhpcy5jaGVja0ZvcldhbGxldFJlYWR5Rm9yQXBwKCksdGhpcy5zZXRBZGRyZXNzKGQpLHRoaXMuc2V0U3RhdGUoYyl9LHRoaXMuY2hlY2tSZWFkeUludGVydmFsPW51bGw7Y29uc3R7Y2hlY2tUaW1lb3V0Om49M2U0LGRhcHBJY29uOm89IiIsZGFwcE5hbWU6bD0iIixvcGVuVXJsV2hlbldhbGxldE5vdEZvdW5kOmE9ITAsb3BlblRyb25MaW5rQXBwT25Nb2JpbGU6cz0hMH09ZTtpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJbVHJvbkxpbmtBZGFwdGVyXSBjb25maWcuY2hlY2tUaW1lb3V0IHNob3VsZCBiZSBhIG51bWJlciIpO2lmKHRoaXMuY29uZmlnPXtjaGVja1RpbWVvdXQ6bixvcGVuVHJvbkxpbmtBcHBPbk1vYmlsZTpzLG9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQ6YSxkYXBwSWNvbjpvLGRhcHBOYW1lOmx9LHRoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fd2FsbGV0PW51bGwsdGhpcy5fYWRkcmVzcz1udWxsLCEoMCxpLmlzSW5Ccm93c2VyKSgpKXJldHVybiB0aGlzLl9yZWFkeVN0YXRlPWkuV2FsbGV0UmVhZHlTdGF0ZS5Ob3RGb3VuZCx2b2lkIHRoaXMuc2V0U3RhdGUoaS5BZGFwdGVyU3RhdGUuTm90Rm91bmQpOygwLHIuc3VwcG9ydFRyb24pKCl8fCgwLGkuaXNJbk1vYmlsZUJyb3dzZXIpKCkmJih3aW5kb3cudHJvbkxpbmt8fHdpbmRvdy50cm9uV2ViKT8odGhpcy5fcmVhZHlTdGF0ZT1pLldhbGxldFJlYWR5U3RhdGUuRm91bmQsdGhpcy5fdXBkYXRlV2FsbGV0KCkpOnRoaXMuX2NoZWNrV2FsbGV0KCkudGhlbigoKCk9Pnt0aGlzLmNvbm5lY3RlZCYmdGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3N8fCIiKX0pKX1nZXQgYWRkcmVzcygpe3JldHVybiB0aGlzLl9hZGRyZXNzfWdldCBzdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZX1nZXQgcmVhZHlTdGF0ZSgpe3JldHVybiB0aGlzLl9yZWFkeVN0YXRlfWdldCBjb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpbmd9bmV0d29yaygpe3ZhciBlO3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2lmKHlpZWxkIHRoaXMuX2NoZWNrV2FsbGV0KCksdGhpcy5zdGF0ZSE9PWkuQWRhcHRlclN0YXRlLkNvbm5lY3RlZCl0aHJvdyBuZXcgaS5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtjb25zdCB0PShudWxsPT09KGU9dGhpcy5fd2FsbGV0KXx8dm9pZCAwPT09ZT92b2lkIDA6ZS50cm9uV2ViKXx8d2luZG93LnRyb25XZWI7aWYoIXQpdGhyb3cgbmV3IGkuV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I7dHJ5e3JldHVybiB5aWVsZCBsKHQpfWNhdGNoKGUpe3Rocm93IG5ldyBpLldhbGxldEdldE5ldHdvcmtFcnJvcihudWxsPT1lP3ZvaWQgMDplLm1lc3NhZ2UsZSl9fWNhdGNoKGUpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLGUpLGV9fSkpfWNvbm5lY3QoKXt2YXIgZSx0O3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2lmKHRoaXMuY2hlY2tJZk9wZW5Ucm9uTGluaygpLHRoaXMuY29ubmVjdGVkfHx0aGlzLmNvbm5lY3RpbmcpcmV0dXJuO2lmKHlpZWxkIHRoaXMuX2NoZWNrV2FsbGV0KCksdGhpcy5zdGF0ZT09PWkuQWRhcHRlclN0YXRlLk5vdEZvdW5kKXRocm93ITEhPT10aGlzLmNvbmZpZy5vcGVuVXJsV2hlbldhbGxldE5vdEZvdW5kJiYoMCxpLmlzSW5Ccm93c2VyKSgpJiZ3aW5kb3cub3Blbih0aGlzLnVybCwiX2JsYW5rIiksbmV3IGkuV2FsbGV0Tm90Rm91bmRFcnJvcjtpZighdGhpcy5fd2FsbGV0KXJldHVybjtpZih0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMuX3N1cHBvcnROZXdUcm9uUHJvdG9jb2wpe2NvbnN0IGU9dGhpcy5fd2FsbGV0O3RyeXtjb25zdCB0PSh5aWVsZCBlLnJlcXVlc3Qoe21ldGhvZDoiZXRoX3JlcXVlc3RBY2NvdW50cyJ9KSlbMF07dGhpcy5zZXRBZGRyZXNzKHQpLHRoaXMuc2V0U3RhdGUoaS5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKSx0aGlzLl9saXN0ZW5Ucm9uRXZlbnQoKSx0aGlzLl93YWxsZXQudHJvbldlYnx8KHlpZWxkKDAsci53YWl0VHJvbndlYlJlYWR5KSh0aGlzLl93YWxsZXQpKX1jYXRjaChlKXtsZXQgdD0obnVsbD09ZT92b2lkIDA6ZS5tZXNzYWdlKXx8ZXx8IkNvbm5lY3QgVHJvbkxpbmsgd2FsbGV0IGZhaWxlZC4iO3Rocm93LTMyMDAyPT09ZS5jb2RlJiYodD0iVGhlIHNhbWUgREFwcCBoYXMgYWxyZWFkeSBpbml0aWF0ZWQgYSByZXF1ZXN0IHRvIGNvbm5lY3QgdG8gVHJvbkxpbmsgd2FsbGV0LCBhbmQgdGhlIHBvcC11cCB3aW5kb3cgaGFzIG5vdCBiZWVuIGNsb3NlZC4iKSw0MDAxPT09ZS5jb2RlJiYodD0iVGhlIHVzZXIgcmVqZWN0ZWQgY29ubmVjdGlvbi4iKSxuZXcgaS5XYWxsZXRDb25uZWN0aW9uRXJyb3IodCxlKX19ZWxzZSBpZih3aW5kb3cudHJvbkxpbmspe2NvbnN0IHQ9dGhpcy5fd2FsbGV0O3RyeXtjb25zdCBlPXlpZWxkIHQucmVxdWVzdCh7bWV0aG9kOiJ0cm9uX3JlcXVlc3RBY2NvdW50cyJ9KTtpZighZSl0aHJvdyBuZXcgaS5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRyb25MaW5rIHdhbGxldCBpcyBsb2NrZWQgb3Igbm8gd2FsbGV0IGFjY291bnQgaXMgYXZhbGlhYmxlLiIpO2lmKDRlMz09PWUuY29kZSl0aHJvdyBuZXcgaS5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRoZSBzYW1lIERBcHAgaGFzIGFscmVhZHkgaW5pdGlhdGVkIGEgcmVxdWVzdCB0byBjb25uZWN0IHRvIFRyb25MaW5rIHdhbGxldCwgYW5kIHRoZSBwb3AtdXAgd2luZG93IGhhcyBub3QgYmVlbiBjbG9zZWQuIik7aWYoNDAwMT09PWUuY29kZSl0aHJvdyBuZXcgaS5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRoZSB1c2VyIHJlamVjdGVkIGNvbm5lY3Rpb24uIil9Y2F0Y2goZSl7dGhyb3cgbmV3IGkuV2FsbGV0Q29ubmVjdGlvbkVycm9yKG51bGw9PWU/dm9pZCAwOmUubWVzc2FnZSxlKX1jb25zdCBuPShudWxsPT09KGU9dC50cm9uV2ViLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5iYXNlNTgpfHwiIjt0aGlzLnNldEFkZHJlc3MobiksdGhpcy5zZXRTdGF0ZShpLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpLHRoaXMuX2xpc3RlblRyb25MaW5rRXZlbnQoKX1lbHNle2lmKCF3aW5kb3cudHJvbldlYil0aHJvdyBuZXcgaS5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIkNhbm5vdCBjb25uZWN0IHdhbGxldC4iKTt7Y29uc3QgZT10aGlzLl93YWxsZXQsbj0obnVsbD09PSh0PWUudHJvbldlYi5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuYmFzZTU4KXx8IiI7dGhpcy5zZXRBZGRyZXNzKG4pLHRoaXMuc2V0U3RhdGUoaS5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKX19dGhpcy5jb25uZWN0ZWQmJnRoaXMuZW1pdCgiY29ubmVjdCIsdGhpcy5hZGRyZXNzfHwiIil9Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX1maW5hbGx5e3RoaXMuX2Nvbm5lY3Rpbmc9ITF9fSkpfWRpc2Nvbm5lY3QoKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RoaXMuX3N1cHBvcnROZXdUcm9uUHJvdG9jb2w/dGhpcy5fc3RvcExpc3RlblRyb25FdmVudCgpOnRoaXMuX3N0b3BMaXN0ZW5Ucm9uTGlua0V2ZW50KCksdGhpcy5zdGF0ZT09PWkuQWRhcHRlclN0YXRlLkNvbm5lY3RlZCYmKHRoaXMuc2V0QWRkcmVzcyhudWxsKSx0aGlzLnNldFN0YXRlKGkuQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpLHRoaXMuZW1pdCgiZGlzY29ubmVjdCIpKX0pKX1zaWduVHJhbnNhY3Rpb24oZSx0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCBuPXlpZWxkIHRoaXMuY2hlY2tBbmRHZXRXYWxsZXQoKTt0cnl7cmV0dXJuIHlpZWxkIG4udHJvbldlYi50cnguc2lnbihlLHQpfWNhdGNoKGUpe3Rocm93IGUgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaS5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcihlLm1lc3NhZ2UsZSk6bmV3IGkuV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IoZSxuZXcgRXJyb3IoZSkpfX1jYXRjaChlKXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIixlKSxlfX0pKX1tdWx0aVNpZ24oLi4uZSl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3QgdD15aWVsZCB0aGlzLmNoZWNrQW5kR2V0V2FsbGV0KCk7dHJ5e3JldHVybiB5aWVsZCB0LnRyb25XZWIudHJ4Lm11bHRpU2lnbiguLi5lKX1jYXRjaChlKXt0aHJvdyBlIGluc3RhbmNlb2YgRXJyb3I/bmV3IGkuV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IoZS5tZXNzYWdlLGUpOm5ldyBpLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yKGUsbmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9c2lnbk1lc3NhZ2UoZSx0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCBuPXlpZWxkIHRoaXMuY2hlY2tBbmRHZXRXYWxsZXQoKTt0cnl7cmV0dXJuIHlpZWxkIG4udHJvbldlYi50cnguc2lnbk1lc3NhZ2VWMihlLHQpfWNhdGNoKGUpe3Rocm93IGUgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaS5XYWxsZXRTaWduTWVzc2FnZUVycm9yKGUubWVzc2FnZSxlKTpuZXcgaS5XYWxsZXRTaWduTWVzc2FnZUVycm9yKGUsbmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9c3dpdGNoQ2hhaW4oZSl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7aWYoeWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlPT09aS5BZGFwdGVyU3RhdGUuTm90Rm91bmQpdGhyb3chMSE9PXRoaXMuY29uZmlnLm9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQmJigwLGkuaXNJbkJyb3dzZXIpKCkmJndpbmRvdy5vcGVuKHRoaXMudXJsLCJfYmxhbmsiKSxuZXcgaS5XYWxsZXROb3RGb3VuZEVycm9yO2lmKCF0aGlzLl9zdXBwb3J0TmV3VHJvblByb3RvY29sKXRocm93IG5ldyBpLldhbGxldFN3aXRjaENoYWluRXJyb3IoIkN1cnJlbnQgdmVyc2lvbiBvZiBUcm9uTGluayBkb2Vzbid0IHN1cHBvcnQgc3dpdGNoIGNoYWluIG9wZXJhdGlvbi4iKTtjb25zdCB0PXRoaXMuX3dhbGxldDt0cnl7eWllbGQgdC5yZXF1ZXN0KHttZXRob2Q6IndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluIixwYXJhbXM6W3tjaGFpbklkOmV9XX0pfWNhdGNoKGUpe3Rocm93IG5ldyBpLldhbGxldFN3aXRjaENoYWluRXJyb3IoKG51bGw9PWU/dm9pZCAwOmUubWVzc2FnZSl8fGUsZSBpbnN0YW5jZW9mIEVycm9yP2U6bmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9Y2hlY2tBbmRHZXRXYWxsZXQoKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2lmKHRoaXMuY2hlY2tJZk9wZW5Ucm9uTGluaygpLHlpZWxkIHRoaXMuX2NoZWNrV2FsbGV0KCksdGhpcy5zdGF0ZSE9PWkuQWRhcHRlclN0YXRlLkNvbm5lY3RlZCl0aHJvdyBuZXcgaS5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtjb25zdCBlPXRoaXMuX3dhbGxldDtpZighZXx8IWUudHJvbldlYil0aHJvdyBuZXcgaS5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtyZXR1cm4gZX0pKX1fbGlzdGVuVHJvbkxpbmtFdmVudCgpe3RoaXMuX3N0b3BMaXN0ZW5Ucm9uTGlua0V2ZW50KCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3Ryb25MaW5rTWVzc2FnZUhhbmRsZXIpfV9zdG9wTGlzdGVuVHJvbkxpbmtFdmVudCgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl90cm9uTGlua01lc3NhZ2VIYW5kbGVyKX1jaGVja0lmT3BlblRyb25MaW5rKCl7Y29uc3R7ZGFwcE5hbWU6ZT0iIixkYXBwSWNvbjp0PSIifT10aGlzLmNvbmZpZztpZighMSE9PXRoaXMuY29uZmlnLm9wZW5Ucm9uTGlua0FwcE9uTW9iaWxlJiYoMCxyLm9wZW5Ucm9uTGluaykoe2RhcHBJY29uOnQsZGFwcE5hbWU6ZX0pKXRocm93IG5ldyBpLldhbGxldE5vdEZvdW5kRXJyb3J9X2xpc3RlblRyb25FdmVudCgpe3RoaXMuX3N0b3BMaXN0ZW5Ucm9uRXZlbnQoKSx0aGlzLl9zdG9wTGlzdGVuVHJvbkxpbmtFdmVudCgpO2NvbnN0IGU9dGhpcy5fd2FsbGV0O2Uub24oImNoYWluQ2hhbmdlZCIsdGhpcy5fb25DaGFpbkNoYW5nZWQpLGUub24oImFjY291bnRzQ2hhbmdlZCIsdGhpcy5fb25BY2NvdW50c0NoYW5nZWQpfV9zdG9wTGlzdGVuVHJvbkV2ZW50KCl7Y29uc3QgZT10aGlzLl93YWxsZXQ7ZS5yZW1vdmVMaXN0ZW5lcigiY2hhaW5DaGFuZ2VkIix0aGlzLl9vbkNoYWluQ2hhbmdlZCksZS5yZW1vdmVMaXN0ZW5lcigiYWNjb3VudHNDaGFuZ2VkIix0aGlzLl9vbkFjY291bnRzQ2hhbmdlZCl9X2NoZWNrV2FsbGV0KCl7aWYodGhpcy5yZWFkeVN0YXRlPT09aS5XYWxsZXRSZWFkeVN0YXRlLkZvdW5kKXJldHVybiBQcm9taXNlLnJlc29sdmUoITApO2lmKHRoaXMuX2NoZWNrUHJvbWlzZSlyZXR1cm4gdGhpcy5fY2hlY2tQcm9taXNlO2NvbnN0IGU9TWF0aC5mbG9vcigyMCksdD1NYXRoLmZsb29yKHRoaXMuY29uZmlnLmNoZWNrVGltZW91dC8xMDApO2xldCBuLG89MDtyZXR1cm4gdGhpcy5fY2hlY2tQcm9taXNlPW5ldyBQcm9taXNlKChsPT57Y29uc3QgYT0oKT0+e28rKztjb25zdCBhPW88ZSYmISgwLGkuaXNJbk1vYmlsZUJyb3dzZXIpKCk/KDAsci5zdXBwb3J0VHJvbikoKTooMCxyLnN1cHBvcnRUcm9uTGluaykoKTsoYXx8bz50KSYmKG4mJmNsZWFySW50ZXJ2YWwobiksdGhpcy5fcmVhZHlTdGF0ZT1hP2kuV2FsbGV0UmVhZHlTdGF0ZS5Gb3VuZDppLldhbGxldFJlYWR5U3RhdGUuTm90Rm91bmQsdGhpcy5fdXBkYXRlV2FsbGV0KCksdGhpcy5lbWl0KCJyZWFkeVN0YXRlQ2hhbmdlZCIsdGhpcy5yZWFkeVN0YXRlKSxsKGEpKX07bj1zZXRJbnRlcnZhbChhLDEwMCksYSgpfSkpLHRoaXMuX2NoZWNrUHJvbWlzZX1jaGVja0ZvcldhbGxldFJlYWR5Rm9yQXBwKCl7aWYodGhpcy5jaGVja1JlYWR5SW50ZXJ2YWwpcmV0dXJuO2xldCBlPTA7Y29uc3QgdD1NYXRoLmZsb29yKHRoaXMuY29uZmlnLmNoZWNrVGltZW91dC8yMDApO3RoaXMuY2hlY2tSZWFkeUludGVydmFsPXNldEludGVydmFsKCgoKT0+e3ZhciBuLGk7KHdpbmRvdy50cm9uTGluaz9udWxsPT09KG49d2luZG93LnRyb25MaW5rLnRyb25XZWIpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmRlZmF1bHRBZGRyZXNzOm51bGw9PT0oaT13aW5kb3cudHJvbldlYil8fHZvaWQgMD09PWk/dm9pZCAwOmkuZGVmYXVsdEFkZHJlc3MpPyh0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbCksdGhpcy5jaGVja1JlYWR5SW50ZXJ2YWw9bnVsbCx0aGlzLl91cGRhdGVXYWxsZXQoKSx0aGlzLmVtaXQoImNvbm5lY3QiLHRoaXMuYWRkcmVzc3x8IiIpKTplPnQ/KHRoaXMuY2hlY2tSZWFkeUludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuY2hlY2tSZWFkeUludGVydmFsKSx0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbD1udWxsKTplKyt9KSwyMDApfXNldEFkZHJlc3MoZSl7dGhpcy5fYWRkcmVzcz1lfXNldFN0YXRlKGUpe2UhPT10aGlzLnN0YXRlJiYodGhpcy5fc3RhdGU9ZSx0aGlzLmVtaXQoInN0YXRlQ2hhbmdlZCIsZSkpfX10LlRyb25MaW5rQWRhcHRlcj1hfShBKTt2YXIgQj17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24odCl7dmFyIG49ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxuLGkpe3ZvaWQgMD09PWkmJihpPW4pO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTtyJiYhKCJnZXQiaW4gcj8hdC5fX2VzTW9kdWxlOnIud3JpdGFibGV8fHIuY29uZmlndXJhYmxlKXx8KHI9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsaSxyKX06ZnVuY3Rpb24oZSx0LG4saSl7dm9pZCAwPT09aSYmKGk9biksZVtpXT10W25dfSksaT1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIGkgaW4gZSkiZGVmYXVsdCI9PT1pfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKXx8bih0LGUsaSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKEEsdCksaShCLHQpLGkodyx0KX0oZik7dmFyIGIsTSxrPU9iamVjdC5jcmVhdGUsTj1PYmplY3QuZGVmaW5lUHJvcGVydHksRT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFA9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMsQz1PYmplY3QuZ2V0UHJvdG90eXBlT2Ysaj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEQ9KGI9KGUsdCk9Pnt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGk9In4iO2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyhlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBsKGUsdCxuLHIsbCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBhPW5ldyBvKG4scnx8ZSxsKSxzPWk/aSt0OnQ7cmV0dXJuIGUuX2V2ZW50c1tzXT9lLl9ldmVudHNbc10uZm4/ZS5fZXZlbnRzW3NdPVtlLl9ldmVudHNbc10sYV06ZS5fZXZlbnRzW3NdLnB1c2goYSk6KGUuX2V2ZW50c1tzXT1hLGUuX2V2ZW50c0NvdW50KyspLGV9ZnVuY3Rpb24gYShlLHQpezA9PS0tZS5fZXZlbnRzQ291bnQ/ZS5fZXZlbnRzPW5ldyByOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gcygpe3RoaXMuX2V2ZW50cz1uZXcgcix0aGlzLl9ldmVudHNDb3VudD0wfU9iamVjdC5jcmVhdGUmJihyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpLChuZXcgcikuX19wcm90b19ffHwoaT0hMSkpLHMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZSx0LHI9W107aWYoMD09PXRoaXMuX2V2ZW50c0NvdW50KXJldHVybiByO2Zvcih0IGluIGU9dGhpcy5fZXZlbnRzKW4uY2FsbChlLHQpJiZyLnB1c2goaT90LnNsaWNlKDEpOnQpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP3IuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSkpOnJ9LHMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1pP2krZTplLG49dGhpcy5fZXZlbnRzW3RdO2lmKCFuKXJldHVybltdO2lmKG4uZm4pcmV0dXJuW24uZm5dO2Zvcih2YXIgcj0wLG89bi5sZW5ndGgsbD1uZXcgQXJyYXkobyk7cjxvO3IrKylsW3JdPW5bcl0uZm47cmV0dXJuIGx9LHMucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9aT9pK2U6ZSxuPXRoaXMuX2V2ZW50c1t0XTtyZXR1cm4gbj9uLmZuPzE6bi5sZW5ndGg6MH0scy5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlLHQsbixyLG8sbCl7dmFyIGE9aT9pK2U6ZTtpZighdGhpcy5fZXZlbnRzW2FdKXJldHVybiExO3ZhciBzLGMsZD10aGlzLl9ldmVudHNbYV0sdT1hcmd1bWVudHMubGVuZ3RoO2lmKGQuZm4pe3N3aXRjaChkLm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxkLmZuLHZvaWQgMCwhMCksdSl7Y2FzZSAxOnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0KSwhMDtjYXNlIDI6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQsdCksITA7Y2FzZSAzOnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LHQsbiksITA7Y2FzZSA0OnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LHQsbixyKSwhMDtjYXNlIDU6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQsdCxuLHIsbyksITA7Y2FzZSA2OnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LHQsbixyLG8sbCksITB9Zm9yKGM9MSxzPW5ldyBBcnJheSh1LTEpO2M8dTtjKyspc1tjLTFdPWFyZ3VtZW50c1tjXTtkLmZuLmFwcGx5KGQuY29udGV4dCxzKX1lbHNle3ZhciBoLGc9ZC5sZW5ndGg7Zm9yKGM9MDtjPGc7YysrKXN3aXRjaChkW2NdLm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxkW2NdLmZuLHZvaWQgMCwhMCksdSl7Y2FzZSAxOmRbY10uZm4uY2FsbChkW2NdLmNvbnRleHQpO2JyZWFrO2Nhc2UgMjpkW2NdLmZuLmNhbGwoZFtjXS5jb250ZXh0LHQpO2JyZWFrO2Nhc2UgMzpkW2NdLmZuLmNhbGwoZFtjXS5jb250ZXh0LHQsbik7YnJlYWs7Y2FzZSA0OmRbY10uZm4uY2FsbChkW2NdLmNvbnRleHQsdCxuLHIpO2JyZWFrO2RlZmF1bHQ6aWYoIXMpZm9yKGg9MSxzPW5ldyBBcnJheSh1LTEpO2g8dTtoKyspc1toLTFdPWFyZ3VtZW50c1toXTtkW2NdLmZuLmFwcGx5KGRbY10uY29udGV4dCxzKX19cmV0dXJuITB9LHMucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbCh0aGlzLGUsdCxuLCExKX0scy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwodGhpcyxlLHQsbiwhMCl9LHMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWk/aStlOmU7aWYoIXRoaXMuX2V2ZW50c1tvXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gYSh0aGlzLG8pLHRoaXM7dmFyIGw9dGhpcy5fZXZlbnRzW29dO2lmKGwuZm4pbC5mbj09PXQmJighcnx8bC5vbmNlKSYmKCFufHxsLmNvbnRleHQ9PT1uKSYmYSh0aGlzLG8pO2Vsc2V7Zm9yKHZhciBzPTAsYz1bXSxkPWwubGVuZ3RoO3M8ZDtzKyspKGxbc10uZm4hPT10fHxyJiYhbFtzXS5vbmNlfHxuJiZsW3NdLmNvbnRleHQhPT1uKSYmYy5wdXNoKGxbc10pO2MubGVuZ3RoP3RoaXMuX2V2ZW50c1tvXT0xPT09Yy5sZW5ndGg/Y1swXTpjOmEodGhpcyxvKX1yZXR1cm4gdGhpc30scy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PWk/aStlOmUsdGhpcy5fZXZlbnRzW3RdJiZhKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IHIsdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30scy5wcm90b3R5cGUub2ZmPXMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLHMucHJvdG90eXBlLmFkZExpc3RlbmVyPXMucHJvdG90eXBlLm9uLHMucHJlZml4ZWQ9aSxzLkV2ZW50RW1pdHRlcj1zLHZvaWQgMCE9PXQmJih0LmV4cG9ydHM9cyl9LCgpPT4oTXx8YigoTT17ZXhwb3J0czp7fX0pLmV4cG9ydHMsTSksTS5leHBvcnRzKSksTD17fTsoKGUsdCk9Pntmb3IodmFyIG4gaW4gdClOKGUsbix7Z2V0OnRbbl0sZW51bWVyYWJsZTohMH0pfSkoTCx7SW5pdFByb3ZpZGVyRXZlbnROYW1lczooKT0+VSxTdXBwb3J0UHJvdmlkZXJGbGFnOigpPT5ZLGN1cnJlbnRQcm92aWRlcjooKT0+VixkZXRlY3RCaXRrZWVwUHJvdmlkZXI6KCk9PnEsZmluZEZsYWdBZGFwdGVyOigpPT5KLGdldFdhbGVsdFByb3ZpZGVyOigpPT5LLGdldFdhbGxldFByb3ZpZXJJbml0RXZlbnRzTmFtZTooKT0+WCxpc0FwcDooKT0+JCxpc0JHTW9ibGllOigpPT50ZSxpc0RvY3VtZW50Q29tcGxldGU6KCk9Pm5lLGlzTW9iaWxlOigpPT5fLGlzUEM6KCk9PmVlfSk7dmFyIFcseD0nUGxlYXNlIEluc3RhbGwgPGEgaHJlZj0iaHR0cHM6Ly93ZWIzLmJpdGdldC5jb20vd2FsbGV0LWRvd25sb2FkIj5CaXRnZXQgV2FsbGV0PC9hPiB0byB1c2UgdGhpcyB3YWxsZXQnLEc9W3tjb2RlOjQwMDQsc3RhbmRhcmQ6IiIsbWVzc2FnZTp4fSx7Y29kZTo0MDAxLHN0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVXNlciByZWplY3RlZCB0aGUgcmVxdWVzdC4ifSx7Y29kZTo0MTAwLHN0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVGhlIHJlcXVlc3RlZCBhY2NvdW50IGFuZC9vciBtZXRob2QgaGFzIG5vdCBiZWVuIGF1dGhvcml6ZWQgYnkgdGhlIHVzZXIuIn0se2NvZGU6NDIwMCxzdGFuZGFyZDoiRUlQLTExOTMiLG1lc3NhZ2U6IlRoZSByZXF1ZXN0ZWQgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBFdGhlcmV1bSBwcm92aWRlci4ifSx7Y29kZTo0OTAwLHN0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVGhlIHByb3ZpZGVyIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGFsbCBjaGFpbnMuIn0se2NvZGU6NDkwMSxzdGFuZGFyZDoiRUlQLTExOTMiLG1lc3NhZ2U6IlRoZSBwcm92aWRlciBpcyBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgc3BlY2lmaWVkIGNoYWluLiJ9LHtjb2RlOi0zMjcwMCxzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJJbnZhbGlkIEpTT04gd2FzIHJlY2VpdmVkIGJ5IHRoZSBzZXJ2ZXIuIEFuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgd2hpbGUgcGFyc2luZyB0aGUgSlNPTiB0ZXh0LiJ9LHtjb2RlOi0zMjYwMCxzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJUaGUgSlNPTiBzZW50IGlzIG5vdCBhIHZhbGlkIFJlcXVlc3Qgb2JqZWN0LiJ9LHtjb2RlOi0zMjYwMixzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJJbnZhbGlkIG1ldGhvZCBwYXJhbWV0ZXIocykuIn0se2NvZGU6LTMyNjAzLHN0YW5kYXJkOiJKU09OIFJQQyAyLjAiLG1lc3NhZ2U6IkludGVybmFsIEpTT04tUlBDIGVycm9yLiJ9LHtjb2RlOi0zMmUzLHN0YW5kYXJkOiJFSVAtMTQ3NCIsbWVzc2FnZToiSW52YWxpZCBpbnB1dC4ifSx7Y29kZTotMzIwMDEsc3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJSZXNvdXJjZSBub3QgZm91bmQuIn0se2NvZGU6LTMyMDAyLHN0YW5kYXJkOiJFSVAtMTQ3NCIsbWVzc2FnZToiUmVzb3VyY2UgdW5hdmFpbGFibGUuIn0se2NvZGU6LTMyMDAzLHN0YW5kYXJkOiJFSVAtMTQ3NCIsbWVzc2FnZToiVHJhbnNhY3Rpb24gcmVqZWN0ZWQuIn0se2NvZGU6LTMyMDA0LHN0YW5kYXJkOiJFSVAtMTQ3NCIsbWVzc2FnZToiTWV0aG9kIG5vdCBzdXBwb3J0ZWQuIn0se2NvZGU6LTMyMDA1LHN0YW5kYXJkOiJFSVAtMTQ3NCIsbWVzc2FnZToiUmVxdWVzdCBsaW1pdCBleGNlZWRlZC4ifV0sUz0iMC4wLjgiLHo9ZT0+e2xldCB0PWU/TyhlKToiZW4iO3JldHVybnt3ZWJzaXRlOmBodHRwczovL3dlYjMuYml0Z2V0LmNvbS8ke3R9L3dhbGxldC1kb3dubG9hZGAsYW5kcm9pZDpgaHR0cHM6Ly93ZWIzLmJpdGdldC5jb20vJHt0fS93YWxsZXQtZG93bmxvYWQ/dHlwZT0wYCxpb3M6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2JpdGtlZXAvaWQxMzk1MzAxMTE1IixjaHJvbWU6YGh0dHBzOi8vd2ViMy5iaXRnZXQuY29tLyR7dH0vd2FsbGV0LWRvd25sb2FkP3R5cGU9MmAsZ29vZ2xlUGxheToiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5iaXRrZWVwLndhbGxldCIsYXBwbGVTdG9yZToiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYml0a2VlcC9pZDEzOTUzMDExMTUiLHRlc3RmbGlnaHQ6Imh0dHBzOi8vdGVzdGZsaWdodC5hcHBsZS5jb20vam9pbi9nTU5sVks0SiIsYnJvd3NlckV4dGVuc2lvbjp7Y2hyb21lOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaXRrZWVwLWNyeXB0by1uZnQtd2FsbGV0L2ppaWRpYWFsaWhtbWhkZGpnYm5iZ2RmZmxlbG9jcGFrIixlZGdlOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaXRrZWVwLWNyeXB0by1uZnQtd2FsbGV0L2ppaWRpYWFsaWhtbWhkZGpnYm5iZ2RmZmxlbG9jcGFrIn19fSxaPWU9PmBodHRwczovL3dlYjMuYml0Z2V0LmNvbS8keyhlP08oZSk6ImVuIikuc3Vic3RyKDAsMil9L2FjYWRlbXlgLFQ9ZT0+YGh0dHBzOi8vd2ViMy5iaXRnZXQuY29tLyR7KGU/TyhlKToiZW4iKS5zdWJzdHIoMCwyKX0vYmxvZ2AsRj17aWQ6ImJpdGdldFdhbGxldCIsdmVyc2lvbjpTLG5hbWU6IkJpdGdldCBXYWxsZXQiLGhvbWVwYWdlOiJodHRwczovL3dlYjMuYml0Z2V0LmNvbSIsc2hvcnROYW1lOiJCaXRnZXQgV2FsbGV0IixkZXNjcmlwdGlvbjoiWW91ciBXZWIzIENyeXB0byBXYWxsZXQgZm9yIGVmZm9ydGxlc3MgdHJhZGluZy4gT25lIG9mIHRoZSB0b3Agbm9uLWN1c3RvZGlhbCBtdWx0aS1jaGFpbiBjcnlwdG8gd2FsbGV0LCBpbnRlZ3JhdGVzIFdhbGxldCwgU3dhcCwgTkZUIE1hcmtldCwgREFwcCBhbmQgRGlzY292ZXIgaW4gYSBzaW5nbGUgbG9jYXRpb24sIGFsbG93aW5nIHVzZXJzIHRvIGVudGVyIHRoZSBlcmEgb2YgV2ViIDMuMCB3aXRoIGVhc2UuIix0YWdzOlsid2FsbGV0IiwiRGVmaSIsIk5GVCIsImRpZ2l0YWxfaWQiLCJpbmZyYXN0cnVjdHVyZSJdLGRvd25sb2FkTGlua3M6eigpLHNvY2lhbE1lZGlhOnt3ZWJzaXRlOnooKS53ZWJzaXRlLGdpdGh1YjoiaHR0cHM6Ly9naXRodWIuY29tL2JpdGtlZXB3YWxsZXQiLHR3aXR0ZXI6Imh0dHBzOi8vdHdpdHRlci5jb20vQml0Z2V0V2FsbGV0Iix0d2l0dGVyczp7RU46Imh0dHBzOi8vdHdpdHRlci5jb20vQml0Z2V0V2FsbGV0IixDTjoiaHR0cHM6Ly90d2l0dGVyLmNvbS9CaXRnZXRXYWxsZXRDTiIsRGFpbHk6Imh0dHBzOi8vdHdpdHRlci5jb20vQkdXYWxsZXREYWlseSJ9LG1lZGl1bToiaHR0cHM6Ly9iaXRnZXR3YWxsZXRibG9nLm1lZGl1bS5jb20vIixkaXNjb3JkOiJodHRwczovL2Rpc2NvcmQuZ2cvcWpINllHRFlnaCIsdGVsZWdyYW06Imh0dHBzOi8vdC5tZS9CaXRnZXRfV2FsbGV0Iix0ZWxlZ3JhbXM6e0VOOiJodHRwczovL3QubWUvQml0Z2V0X1dhbGxldCIsQ046Imh0dHBzOi8vdC5tZS9CaXRnZXRfV2FsbGV0X0NOIn0sZmFjZWJvb2s6Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9CaXRnZXRXYWxsZXQiLGluc3RhZ3JhbToiaHR0cHM6Ly9pbnN0YWdyYW0uY29tL2JpdGdldHdhbGxldF9nbG9iYWwiLHlvdVR1YmU6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BCaXRnZXRXYWxsZXQiLGxpbmtlZEluOiJodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9iaXRnZXR3YWxsZXQvIn0sbG9nb2xpc3Q6e2Jhc2U2NDoiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpVMklpQm9aV2xuYUhROUlqSTFOaUlnZG1sbGQwSnZlRDBpTUNBd0lESTFOaUF5TlRZaUlHWnBiR3c5SW01dmJtVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStDanhuSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05qYkdsd01GOHlNRE0xWHpFeE1EWXBJajRLUEhKbFkzUWdkMmxrZEdnOUlqSTFOaUlnYUdWcFoyaDBQU0l5TlRZaUlHWnBiR3c5SWlNMU5FWkdSalVpTHo0S1BHY2dabWxzZEdWeVBTSjFjbXdvSTJacGJIUmxjakJmWmw4eU1ETTFYekV4TURZcElqNEtQSEJoZEdnZ1pEMGlUVEV6TGpRNE1EWWdNVGs0TGpZd05VTXRNamt1TXpJM05pQXpNVGt1TURReklERTVPUzQyTmpFZ01qZzFMakF5TnlBek1Ua3VOVEEzSURJMU1pNDVOalJETkRReUxqRTJOU0F5TVRJdU1qVTVJRE0xTnk0ek9EWWdNekl1T0RJMk9TQXlOamt1TkRFMUlESTRMamcxTlRoRE1UZ3hMalEwTXlBeU5DNDRPRFEzSURJNE1DNHpNaklnTVRFeExqZ3lOQ0F5TURVdU5UazFJREV6Tmk0Mk5UWkRNVE13TGpnMk9DQXhOakV1TkRnM0lEWTJMams1TURjZ05EZ3VNRFU0TXlBeE15NDBPREEySURFNU9DNDJNRFZhSWlCbWFXeHNQU0ozYUdsMFpTSXZQZ284TDJjK0NqeG5JR1pwYkhSbGNqMGlkWEpzS0NObWFXeDBaWEl4WDJaZk1qQXpOVjh4TVRBMktTSStDanh3WVhSb0lHUTlJazA0TlM0MU1URTRJQzAwTlM0NE1qSTFRell6TGpBMU5qSWdMVEV3Tnk0eE56WWdMVEUyTGpreE9Ea2dMVEl6TGprNU5UTWdMVFUwTGpBNU9UVWdNalV1TWpZME0wTXRPRGt1TlRZMU1pQTNPQzQ0TkRjNUlETXVNREE1TXpjZ01USTFMakUxTWlBek9TNHpNakE0SURFd01DNHdNemRETnpVdU5qTXlNeUEzTkM0NU1qSTNJRGN1TnpjME5EZ2dOekF1TURNMk15QXlPUzR6TnpBNElETTNMak0zT0RWRE5UQXVPVFkzTVNBMExqY3lNRGMySURFeE15NDFPREVnTXpBdU9EWTVOU0E0TlM0MU1URTRJQzAwTlM0NE1qSTFXaUlnWm1sc2JEMGlJekF3UmtaR01DSWdabWxzYkMxdmNHRmphWFI1UFNJd0xqWTNJaTgrQ2p3dlp6NEtQR2NnWm1sc2RHVnlQU0oxY213b0kyWnBiSFJsY2pKZlpsOHlNRE0xWHpFeE1EWXBJajRLUEhCaGRHZ2daRDBpVFRrMkxqUTNPVFlnTWpJMUxqUXlORU0yTlM0NE5UQXlJREV5TWk0ek5qTWdMVFkyTGpBNE1UZ2dNVGMyTGpZek55QXRNVEk0TGpJeE9TQXlNVFl1TmpVM1F5MHhPRGN1T1RrZ01qWTBMakEwTWlBdE5EWXVNRGN4TVNBME1EQXVNelE0SURFeUxqZzNNalVnTXprekxqTTNOa00zTVM0NE1UWXhJRE00Tmk0ME1ETWdMVE0wTGpReE1UZ2dNekkzTGpBMk5TQXhMams0TnpBeUlESTVPQzR4TjBNek9DNHpPRFU0SURJMk9TNHlOellnTVRNMExqYzJOaUF6TlRRdU1qUTVJRGsyTGpRM09UWWdNakkxTGpReU5Gb2lJR1pwYkd3OUlpTTVSRGd4UmtZaUx6NEtQQzluUGdvOFp5Qm1hV3gwWlhJOUluVnliQ2dqWm1sc2RHVnlNMTltWHpJd016VmZNVEV3TmlraVBnbzhjR0YwYUNCa1BTSk5Namd5TGpFeUlDMHhNRGN1TXpVelF6SXhOaTR3TkRjZ0xURTROaTR3TXpFZ01USXhMalEyTXlBdE1USXdMamszSURneUxqUXlPVFlnTFRjNExqWXdORGRETkRndU1qY3pPU0F0TXpBdU5qUTBOaUF5TWpRdU1qYzFJRFUzTGpJek1USWdNamN6TGpFeU1TQTBNaTR4TnpFMFF6TXlNUzQ1TmpnZ01qY3VNVEV4TlNBeU1EWXVOVEV5SUMwMExqQTFNRE00SURJeU55NHlPVGNnTFRNekxqSTROemxETWpRNExqQTRNaUF0TmpJdU5USTFOU0F6TmpRdU56RXlJQzA1TGpBd05UWTJJREk0TWk0eE1pQXRNVEEzTGpNMU0xb2lJR1pwYkd3OUlpTTBSRGswUmtZaUx6NEtQQzluUGdvOGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVGt6TGpFNE9TQXhOVEl1T0RNMlNERXpOaTQyTnpSTU9EY3VNakE0TmlBeE1ETXVNRFV4VERFek55NHpNU0ExTXk0eU5qWXpUREUxTUM0NU5UVWdOREJJTVRBMUxqZ3hPVXcwT0M0ek16VTVJRGszTGpjM056TkRORFV1TkRNME9TQXhNREF1TmpnNUlEUTFMalEwT1RnZ01UQTFMalF3TWlBME9DNHpOalUySURFd09DNHlPVGxNT1RNdU1UZzVJREUxTWk0NE16WmFUVEV4T1M0ek15QXhNRE11TVRZNFNERXhPQzQ1T1RWTU1URTVMak15TmlBeE1ETXVNVFkwVERFeE9TNHpNeUF4TURNdU1UWTRXazB4TVRrdU16TWdNVEF6TGpFMk9Fd3hOamd1TnpreElERTFNaTQ1TkRsTU1URTRMalk1SURJd01pNDNNelJNTVRBMUxqQTBOU0F5TVRaSU1UVXdMakU0VERJd055NDJOalFnTVRVNExqSXlOa015TVRBdU5UWTFJREUxTlM0ek1UUWdNakV3TGpVMUlERTFNQzQyTURJZ01qQTNMall6TkNBeE5EY3VOekExVERFMk1pNDRNVEVnTVRBekxqRTJPRWd4TVRrdU16TmFJaUJtYVd4c1BTSmliR0ZqYXlJdlBnbzhMMmMrQ2p4a1pXWnpQZ284Wm1sc2RHVnlJR2xrUFNKbWFXeDBaWEl3WDJaZk1qQXpOVjh4TVRBMklpQjRQU0l0T1RBdU1qUXhNU0lnZVQwaUxUWTVMamN6TmpraUlIZHBaSFJvUFNJMU5qa3VOVFU0SWlCb1pXbG5hSFE5SWpRMU1TNDBNekVpSUdacGJIUmxjbFZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ1kyOXNiM0l0YVc1MFpYSndiMnhoZEdsdmJpMW1hV3gwWlhKelBTSnpVa2RDSWo0S1BHWmxSbXh2YjJRZ1pteHZiMlF0YjNCaFkybDBlVDBpTUNJZ2NtVnpkV3gwUFNKQ1lXTnJaM0p2ZFc1a1NXMWhaMlZHYVhnaUx6NEtQR1psUW14bGJtUWdiVzlrWlQwaWJtOXliV0ZzSWlCcGJqMGlVMjkxY21ObFIzSmhjR2hwWXlJZ2FXNHlQU0pDWVdOclozSnZkVzVrU1cxaFoyVkdhWGdpSUhKbGMzVnNkRDBpYzJoaGNHVWlMejRLUEdabFIyRjFjM05wWVc1Q2JIVnlJSE4wWkVSbGRtbGhkR2x2YmowaU5Ea3VNak13T0NJZ2NtVnpkV3gwUFNKbFptWmxZM1F4WDJadmNtVm5jbTkxYm1SQ2JIVnlYekl3TXpWZk1URXdOaUl2UGdvOEwyWnBiSFJsY2o0S1BHWnBiSFJsY2lCcFpEMGlabWxzZEdWeU1WOW1Yekl3TXpWZk1URXdOaUlnZUQwaUxURTJNQzQxTVRFaUlIazlJaTB4TmpVdU9UZzNJaUIzYVdSMGFEMGlNelV4TGpVNU5pSWdhR1ZwWjJoMFBTSXpOekV1TlRBM0lpQm1hV3gwWlhKVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJR052Ykc5eUxXbHVkR1Z5Y0c5c1lYUnBiMjR0Wm1sc2RHVnljejBpYzFKSFFpSStDanhtWlVac2IyOWtJR1pzYjI5a0xXOXdZV05wZEhrOUlqQWlJSEpsYzNWc2REMGlRbUZqYTJkeWIzVnVaRWx0WVdkbFJtbDRJaTgrQ2p4bVpVSnNaVzVrSUcxdlpHVTlJbTV2Y20xaGJDSWdhVzQ5SWxOdmRYSmpaVWR5WVhCb2FXTWlJR2x1TWowaVFtRmphMmR5YjNWdVpFbHRZV2RsUm1sNElpQnlaWE4xYkhROUluTm9ZWEJsSWk4K0NqeG1aVWRoZFhOemFXRnVRbXgxY2lCemRHUkVaWFpwWVhScGIyNDlJalE1TGpJek1EZ2lJSEpsYzNWc2REMGlaV1ptWldOME1WOW1iM0psWjNKdmRXNWtRbXgxY2w4eU1ETTFYekV4TURZaUx6NEtQQzltYVd4MFpYSStDanhtYVd4MFpYSWdhV1E5SW1acGJIUmxjakpmWmw4eU1ETTFYekV4TURZaUlIZzlJaTB5TkRFdU1EYzRJaUI1UFNJMk55NDJORElpSUhkcFpIUm9QU0kwTkRRdU9EVXhJaUJvWldsbmFIUTlJalF5TkM0ME5USWlJR1pwYkhSbGNsVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnWTI5c2IzSXRhVzUwWlhKd2IyeGhkR2x2YmkxbWFXeDBaWEp6UFNKelVrZENJajRLUEdabFJteHZiMlFnWm14dmIyUXRiM0JoWTJsMGVUMGlNQ0lnY21WemRXeDBQU0pDWVdOclozSnZkVzVrU1cxaFoyVkdhWGdpTHo0S1BHWmxRbXhsYm1RZ2JXOWtaVDBpYm05eWJXRnNJaUJwYmowaVUyOTFjbU5sUjNKaGNHaHBZeUlnYVc0eVBTSkNZV05yWjNKdmRXNWtTVzFoWjJWR2FYZ2lJSEpsYzNWc2REMGljMmhoY0dVaUx6NEtQR1psUjJGMWMzTnBZVzVDYkhWeUlITjBaRVJsZG1saGRHbHZiajBpTkRrdU1qTXdPQ0lnY21WemRXeDBQU0psWm1abFkzUXhYMlp2Y21WbmNtOTFibVJDYkhWeVh6SXdNelZmTVRFd05pSXZQZ284TDJacGJIUmxjajRLUEdacGJIUmxjaUJwWkQwaVptbHNkR1Z5TTE5bVh6SXdNelZmTVRFd05pSWdlRDBpTFRJd0xqTTVOamdpSUhrOUlpMHlOREl1TnpVNElpQjNhV1IwYUQwaU5ETXdMakU1TVNJZ2FHVnBaMmgwUFNJek9EVXVNVEExSWlCbWFXeDBaWEpWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaUlHTnZiRzl5TFdsdWRHVnljRzlzWVhScGIyNHRabWxzZEdWeWN6MGljMUpIUWlJK0NqeG1aVVpzYjI5a0lHWnNiMjlrTFc5d1lXTnBkSGs5SWpBaUlISmxjM1ZzZEQwaVFtRmphMmR5YjNWdVpFbHRZV2RsUm1sNElpOCtDanhtWlVKc1pXNWtJRzF2WkdVOUltNXZjbTFoYkNJZ2FXNDlJbE52ZFhKalpVZHlZWEJvYVdNaUlHbHVNajBpUW1GamEyZHliM1Z1WkVsdFlXZGxSbWw0SWlCeVpYTjFiSFE5SW5Ob1lYQmxJaTgrQ2p4bVpVZGhkWE56YVdGdVFteDFjaUJ6ZEdSRVpYWnBZWFJwYjI0OUlqUTVMakl6TURnaUlISmxjM1ZzZEQwaVpXWm1aV04wTVY5bWIzSmxaM0p2ZFc1a1FteDFjbDh5TURNMVh6RXhNRFlpTHo0S1BDOW1hV3gwWlhJK0NqeGpiR2x3VUdGMGFDQnBaRDBpWTJ4cGNEQmZNakF6TlY4eE1UQTJJajRLUEhKbFkzUWdkMmxrZEdnOUlqSTFOaUlnYUdWcFoyaDBQU0l5TlRZaUlHWnBiR3c5SW5kb2FYUmxJaTgrQ2p3dlkyeHBjRkJoZEdnK0Nqd3ZaR1ZtY3o0S1BDOXpkbWMrQ2c9PSIscG5nOnsyODoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCd0FBQUFjQ0FZQUFBQnlEZCtVQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQVhGU1VSQlZIZ0JmWlpyaUZWVkZNZlgzdnZjY3grajVoQTl0UENPRWhGQjJnT0NvS0NuRWoyK1dTQTZvMm1oSDdJYXpRekNTVk0vWlI4S2pXNmlYczNvTVVRdit0Q28wU2NKSWtvc0xRaG5sQjVFcEpuT09EUDNudDEvcmJYUG1YTW02Y0s2NjV5OTk5bS90ZFplZSsxdGJrck9laytHUFA2ZE4yUVRDSFRVeG51Yk5aRnJHWExqYUc4UjJYRWlnMmMzWnNqZ25mQk9HR2ZhUVh1TWdXQktzaXhPeFpXSW9wS25pUHU0MHpBVWo5N2lPY0dUazJacE5hSFhHT2d3a2N6c2pJNkRjUXkwREUyNEM4YVJqbk1PRUR3NGhtRnM1STEyaWxFbUFLeCtaTVNhSERUQURGd3dUcjB6RVFQVld6YVVJMlFRTFJ2c2lTeUxweExETURZeUFTWVdVV3FaRjIxZ25WVXJBUFBTTGdaYWhmT3M3SlY0eDJCZURrQmR3bzVqT1VnQk1TWmpZTWtHb0FuZTJjbmdOQ3dTR3FJVE83YlQyVytQcU9mQisrdlh2RUJUWnRUVk00RVpXU2NITDB2NHJveTVZdGFZS09id0dzcUR2RmdsMW5FNFdMTVhlUDVwNDFiNmNmTld5djl1M2RHZ3FYTVlSaUxzV1JROExPSGJNckVtcWdyUWk2ZVJEUjZ5RmhoY0xXbk9pSVVNUGI1cHkzOWd0elVhMUxWb3NZUXdIOG9TWnpoMDdFbUFNWnlvWXM0S0N3TmR5TURVczFLSU8xdkk0R09BSGQ5VWhOMnhzMEZ6bGl6R1Z1SXdxbmVTSkF3TXNCampLdEFWek1NZVZ2a2RVTjRhNGlGN3dsN0ZBY1lmL0xCeEN4M2JXSVRkdWVzTnVyWjdzYXdoWjZQbnRiY0s1dlJuR0h0WlpoaDBoVU9LK1RvTUE3MENiWUN4ZC96T1VJWjlQd20yWUhlRHJ1dGhtTzVaM2IrNjl5eG5JaWVLTjZMTDBGVU9KM1FOdW1hTWdLTnlZa0k0TmF3Yzk2TXZiYUdqazhMNDRKNEczZEM5Sk10bzlneno2djYxdXY3VzZ6S1VRamdaeHVIczRMQ2lyY2FSckxhTndHVE5RZ3FmYU80dndLWjMxV251UXc5VGpTc0krci9lczQrK2FlNHJqSGxrOTV0MGFiMmVyYjJFMG1zNHF5R3NERFNMemczN0tJUXpOcHJLSTZkTzByc0w1dE9ab2FGc3dwbno1dExxZzU5VHJiTlQ0cmgvMlFyNktnZnRoRkhQSEJxZ0s2QmowclZNSWFLOUpvMnRqcUVCeGJoREJPNmpVRjg5czA0clB4c1FpOVBmcjk4ZG9lMzN6Q2QzK2d4Tnc1cXQzTFdUYnU5Wmt2V2ZIaHlpVisrK2owYUdUaUtFUkZPTkpncHZpU3BDWG5HNkxXeHR6RklIS2ovTEZEeFBaVENnczY2cTA3cFBCK2l5V1JQUVU0RDI5NjZsU3hCYWxpZGUyVWF6YjV5WDlmOEo2TmE3N3FWaFFHdUFTYUlZM1JxVmtCKzJOZ3JBQmJnOEdvVGhvMnBBZlVZWGJmN2tJRjJlZzM2eGR4Kzl2bndGVFFQd3l1bWR0TzNRQWJvbUIvMEQwUFdBL2pONE1nc253MkxTN1diNmpvLzZzcUdzM2xVaFpleVJWR0tFNHE5ZkJ1bmxKNWVIMDBTM3d3TTlQWFIvVDdjOG4vdjdESFhmZkF2OU5waGI4NjR1T25EaTV3QWlXVmNwS3BVUjNlUU1LOXNKRU1lOGpHeUtVWGE2WnN5bXhvY0hzV21OSEtZbUxiNWVLL2pBUng4WFlQeGJ1TFJIUEJOSWdQRmVqOHJuZFN0d2hzWk9haDJWSWhZTXdxZzRDVUxwZmxXUjR3bGg3ZC9icEEzTEh5dkFlbC9zbzk2K0RWbEJTYitUZWwwYVZycWNWZkJLVG1VMFdJamo2d1VLZzFaL3lzNDMrUmo2L2JlYXRQN3hJbXd0WU0vMjllVk9vS0pFN255NGUzQTlkSHFRVWl2Y1YvaHdEWVU1UGUzNWVHSGQvM2FUZWxjdEs4Q2VBMmpkaHI3czlLR2cwek9YQkRpU250NGtKeTFYQVE5WUFsZ0NHRjl2cEl6WnNIWXdxditkSmoyOXVnaGJEOUR6QVpiL3BlL3BtUjJaQzVwNlBLSEhaQWxpaHpzUjEyTUtGekZxb3k5eEt1OTkwS1MxYS80SGxpUG1MZ2JaZTJSR1UrK0NSNlJldFVKekMvRnI0YzdRUXNQdlE0TjArUENYdFBEUnBYcHp3emR6c1FkWHJYNUt2alBoZ3VUTkJDQVBsa0xmZUMzeHp1cng0aUpOR0pZWWV5VkdhWWlSMnhWSUdidTREQjFYdFMxQ3Y0dDF6Zms3RTBMdXc0S2xnQVQvRTgvc1lUc2NNMTdES21zSHkxdnBTUTRaOTZyNThzUko1Qk1PTzE5cStkS3NWMEo3RVkrU2krZ283ZlVobEd4Z085eWVlUTFiUHBkcFlVYTJtc2VNZTUrbHU2R0pjT3FVdmdCS0pidDVVd2hIWWpTODdaRCtMQzI1Q091NDFBamR5TDZZOW1ZQ21CVEVaMG40THhyUkQrWXF4ZlR4QUFBQUFFbEZUa1N1UW1DQyIsMjU2OiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFKbDJTVVJCVkhnQjFiMTUxSDdiVVJiNDFQbmV0bkdBQkJBQ0FyazN5aFFndVRkTURyaVNtQWhCRWNFQU1yUVJRVkgvVUlZUUFwaEFBbXAzcjlWcnRkb0Nhd21ZQ05pOWxuWkRJNGlkU0ljbWNSWWg4eUNEbmNsZTloKzlESU5MYkp1ditqM243S3I5Vk8zYTUzMS9GMXptM2ZkK3YzUE9IbXJYcmwxUDdkckRPYTk4b3Y2aTRoeldmMlM3MisrM0lPZ1I1MFRWUFVwaDEvYWtzaGYyZ250aGFUbVZ5RmsyOFh4R1Z6eGVtSXJTazBhMnR0cDFMeW1KY2FObXRhOTFMSnhIVzN1bHR6dlEzK2dTUFNXK2xOclNwR2MwdHF2Mk1wMWVwMnYzU2pTWkIwdGIvL0V5V3gwU2VZZDBucmtOTEFmVlJrdUdkc0xrcmxRZUdtbFEzUW9OOFpMNUJmV3Y2WklpOW8zckdQSEQ2Umg1NURpdXkrcHpOVVRVSFF6Nk9xa2poRjFuVnY0V2lWbGt6QnAxc1RHMFhoZXFGNzNiSU5KMTNMcVQ4eGhORVZlalhxOFV6NTVIeHpMUzY5TjJEK09oNVQwNVowaUNDb3hxa0ZrWGFnUFhBUDQ5WjB0MUdHckxhMHBuSnFTM281ZFlXaTJETUJNandoVTc4MUZUc2dLWWNGaFJZM25qZjY5eGFmUzA5ZGdtdlB1Q0ovUk9ubXRkajVkZ1lKc3hzelRMd0VhSzZScUhhOXE5R0U3MzhwWnZCYjhVaXN2ODZ0NGZlLzNHbmtRa3IrQW55NzBaQTdkZ3ZXOFhhdDdLeDczTzY0M0R3aXdQOVpuSmFKWXV0WDZFR3BUNnZ1aThZUENCUEo1VnQ2NUFRMnU0eit5WkhwWEF5SWFDd1MrcGJNN241VVhMK1A0c0Fmekc3WHAvMmtaRzZ2eXRJOWZPQXd1Z2pSS0VGc2Q4VU1oQlJ3R01HQkJsODRFTzFtYXF4STBIeUF4SUNXQnZaQ3pRSll3dUhGY0FSRU9uS2I3WHNTdi9HVjlZQ0F5QlFMb0tBN2taRVNzbVRnUGV1MnlBeE1HMnE2QjR5N25CdVFHa0FOd1JKcHVOcEFUdnJodW9oQUFrMWZmYldMRzZIQ1N3NDBHanNwYUs0WUJ1M3BNazNsMG1qUjczczNTNURVMG83SXFKUFl1d1ZOSWNKNmtkZ0ErSU1xRmxBeFlDNkZLQkJGYXVnOFZoeHNCd21XbGt3eklxTW1tRzdDaGlGVDY1cGFiS29iRnl0a3BWQnlsM2hpYkJrR3J1dEdqMEdMSVpjR1FZcnNNSXlDRmJHK2RWNC9TQjZ5SDl6bkdSbjEzeCtzam1pT3JwcWgxUVZQODIrclpNRHY1Z0pVYWU5bzdYYm1jbVBCa1F4STBLb3BaVDJLT2JKOERhSkMzZUdiYVNHZ3VuZWpWWVhhNEVOWWd3dGpPTXptd0lLS1BFYkwzdWJCQ01CVzNBUzNXejNXYmJVdzBjZlpqWks1RWxkUlBwUk1aWnpqTUFNdE5BQjdwUXZsQ2U3dDJ6WTk2Tlh5R2NvZzhiZzRGQm9vZlZBMmdQOXhxdGtESFpCNzA4S3ZROCtTRmJmN2MrWm1DZzBmMGxBa3JTWFMvMzU3akZuN2loMFZMMjZvUUVvNkVPcnJMVVVXRk9zQmtRWDhkb2dNSFFMcmFBY0N1NVdleVMvZ2hRVUp2UVNZeE1HbGkwd0p1a2d0eVBSSmo3WXJzSytqUUFwa0JBY0l0YTJYM1EzenVSUjIyWjhadDVCNkl4b1dTaGRCK2xWS0t4UUc5UG1McGg3SVpRcjR5eURkTTBZcTFyV2FmYnZaWFlUd3l3SVV5QUg1S2xnekhyTWhzRVRjLzdUVzlzTjJpdFAwUkdubG9uc1NIWnBnQmJOQW5FTzBaTThYdlB1THRXTkZZeGRnb2JCQlNkSTk0emZjaGI2MXZJakF0aXgwWVE5OG1DdWQ1OXNkSzZVaDNFRGx4SmZhODIwa3RYY0ZaUlFSaVZiWDV1b3lzYk03TmZyRjlDQWhtbkJBZ2psQnRKVmp6RnNGNHd5Q01vZWw5M1lYQzIyZ09aVHJ2MXQzVWtJVXJLL0tPaENqcW5xV0FLY1hCQnFNY3lpTkJZbHVzUnhIVm42dGVCaCtLUkFTZXBTSTR6UWJNc3Bhb21kYnBVYlU5dFlGN001bmxXcWZrY2pZa0VlaUhOeTJwUW1PQUJHQmNNdG0wRVV5V0dKdUIzSnVqR085OUFqUWhJaXdmaTZuTnJqTG5kNXBYNFBKRHVzNEoyWWwyTnVsc3BvMncwQ2ttMUd4VmF5amZxbnNlRmZ4L2xMY2tJQ3ZWME5MQWRuRUVCa0x3ZjdSb3RaTGlxWm9ndkhpcjZGQXZCMEdtMkJxRjFuVm8zS0JxbWZaa0hNWjVSU25jZU5MYWI0eW9qSXg1QkJacFNkb01NVDJmMVk1cklWOEY4V3BsQ2FGMnhJaTNFRnZkUm1DcE1SQlR5SStVWGpJYkZCNlVSOUxOZWtDS1BOZU5VRjlHKzBsdElaeW96MlZYSTUrQ3VMRUo4UzFTYTNJcldpZmVJd0VjZTFlQmpQMWpiaGVqNVFscFdGS3RLazhBMUtyVGFmTHhRY3pGUG9kRmUrVjJvUFNhZlJidWltaUhVbHJldmV6YndoK0dsYjBjRmZwUHdkOERieUM0T1dQTXdxczZISnVzQUFnUExDb1VDMGdCQm5OR3pEQ003WlNPMEpMb0E2M1o0QnNsdktlcHo4b2wzVDAxOTcrTUhVSU9JdXFIUzg5cTlUdlhtdHFXOGdZNFU2WWtuRVoxWXN0aUdhaHF4U212SkJxV2xuYmlScHNTdWk3U054RUxEQlUvQTRiSjFtZ3pDNTR4czJKaVhyQ2M4d3Rsd3ZCbVROcFJxTmdKcEN4Q0NjYlUvOTNCSHlHNXV2UEVTRzVjWUhCYmoyR0FFOE93WjNRTXdBdXc2R044RjZPSTBvR3V3RUgvRGFqZmJGSHQyNjlNeXVuRkNiR2FXRGZFVERTY3JQQmt0TWtSQnlUWHhtZ3lWVmp4YlY1aThBN0U5TEx3NEMrSUxxUXVZOTZKNXhwUEY1endWNE8waDd3QllXcVlQaktvMUFIdXdLR1BlMHNDSFlqcnFQRDJmd3FFSzdJdHU0dEpML2E2VFdnSUZIbFlZSjd2aVorQUZ2V2hLb1psaHcwZ0QvSDdvb1kyUHd5b0owQUdva1R1cWQyQ1p1TkZVdHl1Y0lrd1hiTVRQWWhFR0FDSTRndEVMSTMvcVdJMzFCMERPL0VaRldQQWIrc3JCaitoYUN4MWFZaG9rQXlSK0hMaXh1OUhOYnBCRXRoOVoxd01ZV0crUVdlSCtZc09BWGNkWWQ2VFF3d3lDRUhRRXFROUFpSDNKSGtSdTJ3QmtMa3ZKZ3pGaWNEckF1NmM3elAxVGZuOTBvbHEyVjZpTnd4U2d6NEgzeTMwaWNMUU9FQjFXaTl2L0ZZcndCUy9Cc05oTTFZZjZFalJqWFVscit6NThwSit0dW9OWkltaXovdWYyaERVSnpzaXlZV1R3U0cwSFIrZ0FUcTlkd1RKYXRHUFBEVTM3UjlKb3h3dUtIRjk3RHp6cWhnY3ZZKzUySHAxZERqbCsxWlZXdjhrVllRRTVWTy8zQVRpSW1ZcHFlenNSN2NBbXF3VnhZYkN3OXBKU1dDLzU1Si9GODA1T0dOMWxOSDVBTkFaSTlETHdLOUJLTUlMYTZvMFdUSUFCL0hZZDJvVXhQNU03SVNtR2MwaldOQ3Q3dk8vSzI3ZVN4aEZnejlJVmZNc1ZBRFBXaytNemJTTFdsYzZUdEhjV3haTk9EcnNMYnRGelF6V3k0NG5OY0toeVdla0RhMm9ERzladVJjUzFkbThEYldTYUV0Z0pSRkIyTHlNQkZNNDI1ZU5kOVNCYno5MWx6SXVaS2lFSFRDdEVwVFFLc1VlWW1kNnJ1WmlCaXZ1ZDViYkpjbHNSam9XekZ0eFRtVXBQTFVhZE1McHV5YUFtaGVrWWVYUWJuQXVuY3NGUUU2RVpLTVVQR28zQXozVXcrUG02NFZGaU82bytPL2xDVTJMR2hPU2RUbzNjYittY3ZUSEx0bGQ3UTdqbDFyUnFTOHFJNTNjT2d2Q3RzNVFwd0FHVVFWdDJrQ3U3dEh0U1FVa0dUbWtVS0l4SlVCUURzSWd2b2twaHIyeHhjWHZjdGowNzdlNWEwa0dtY0VJd1ZJYzREVExhSGNWaWpiRHFKY2xxSTJROXVtY0kyMi9Bc0s1Z3ZTN1Vqd25uQllpVTRuYWp0VEF3VXJ1Ryt5WEpSekVzTkFwaXBkTTVQcldIbDNtRTByTzdEcVl0aGNFaStmQ0JwSUNiRnNjbitsdy8vYm1EbnczTVFqeGFRY2RHYWllRGY3RjZtUi9LZjhyV0Y2bXpYVFcwSjBxcXJnb014cjFvV005MjVWMFFaK3JCL2ZmYy9Xb3Y5RWozTS9jMElYUFFMSWpvcUZ4R2VGOVVUWW8rdEE5UmM2dzlxblN5TDRQSjZwZTQrS1hVV1U2djcxTDAvZjhHcDN4MFRUcEFtUmVoOUk1ekhhMG10eVUzVDJtbmhEcGdQMEVZenhOSWVGYnZCeEVKOUYxZGxsaW5LZWhtbzhpekFkV1JEVjBPM0F6Mitvcm1PVFBXc3pZV2FVSFQ4aHF5UXR3YVJXMFJSTkVDZmFDZzd0M3pFdWpxUmNJTyt2MS8waXVxSjNkbEFIV3JtV1d3SUxVbHkxVzJOWURSTGJUT004VmUrcGkwNVRWdlRFT2xzVFB0M2s4WVZuVWdncDh4eERTOG9UN0s5WHBqZmhzaXpMd2tPbU51Y3ZmSm1GQzlzM25lYnRqc0xUa0VJeEJXdnBYeU0yaXRKcldPVDl3SzRoRnJZd3kwMSsvTTZ1Q3k3eDVJZC8rRDhhQlF5VHdZcTlDL2V1N1A1aUY0Vzdvbk1FV3VGSGJVLyttMUUvYkFFV1JUKzVwT1VaVVNDOVFkMUt5dXNkdjZsclIzUElEb1BXYjJoZVEwS2wzVlhMOHlpRmNhOThMeFN2bW9WTG9Wak05NTEwYkk2UHRhaG5CNnpaOHZBb2JCd2tjNnl4aGJ1MXN4T2lhYkNCdkJvS1JENk9XNXMyWnk1Zjd4L0tZWlNiM21xLzBFQnFSMlVTOUh3WkxDSm5weDZ3OFI4QWFaWVI4cThXU0pHbWxHWTlmTDcyc011M0JkQ1VqV0hWUGsvZ3ZBYnhvbWNYVmdTWTBnNitYWTJ5M05oSk9uUEtGOUNHQzJkdGw1SytIR1VudHBsekwwU2I1dTI5Y0p2THhqSlJOZHRoRXlBNHhGNUhsUy8yYzlIUUFtWTZMenpGNFdHWVRRTlpMcWtKR1dHUkhtMmZwTzZQbklremhWYzNHZU8yMVdxd25DTGIybmNPY2tEUTlncUVMUHo5NkR6c3BwdUtUOHlsWDJSQ0J1SzlLYVJLNUhTT0ZRZGJaMVVOaTI2QWhTb3VGOHFBRkhRb2NFZzhLWldaTGNhY3BLYkpYRW5RQnZxMFJkOGJvS01ES3k5bnJFTTRmMWpTS3Z0bi80NVJrYkdHSzdZbGsyZE1Nc0oxaWNyaE96RUR3cXdYQmdVQmhOcE9kYjNjT09RZElmcEhjNUpGeUcreEJIN2JNNEtTeUkwQTBEZU1sMVN1SkpSajMzRjlZeUxTbnFwT3YrTGdDSm56c2sxWUhCMnFRV1paME96R2lrcDdQU2lxaEk2QW9uU1hIdHpEK3ZKVWplRW15TkRkdUoyL3c4YTB0cWM2clBUQldHTmpaYVFVb1I3SDVvcWZGUktaR1FzQlpnWE9UU3J0Q1Y0aG14VUtUYUtnU1FPNUdPQTBEWktGdDlCRFNYZ084RUNNS2hMTUVnSXk3STZ4MVVmR3dIVGU0SG05c3N1TWlvUzk1bHBoOHQvemhhaWdNMTh3eGdDbTdMUHNmQlhzOTJBTTduOWhncmFBK2hQbUY5U0VWQzVlbzhDRWIraDJtS1JQbHhuaE16dlliN0pGaTdWZ1poOHd3RTZZVGRYc0w2YVdCR0Njd3dBYlZSVW1odlFVT1JJQ0JsaFdvWnc5ZHFFUFlIZXYyVTdzS1hybE5BVk1vMWFxRm5GNkRsRlZOd3FhY0RBSjEyU3lpU3hrRkRKczl4TTcrU21wS3E2UEdhbFVYZEVrdldYTHUxZXJtSHR6aHRmU1hvRXFONmlPZStIeFJsT2JTQmpJQUZjc3BRR3VUMlRvTHZtbzVhRVF3VW1JOUpzQmF4TGdXQURQT3BRdGFZMUVkR1o0dVhVaTIyTzZtQVNabnlzc0MrdktYQlNPVHl3RmlHNC9JT1JUZ0l0Q2MyYjBBaitGbDNHSUEwY0NPcWlsNWN6VVVna1FqSmtDRlJ0emIxbFlpZ1dBdzZqMnovYkVwbHlCdzcwOHB6bWlRRGhsYW5qK2lWRVVpMFJ5WFNibEJhdVVYR2htNkdTSWdXSDJDZ2ZIbVJyS2M1eXJ0c2pJekVxNkMvV01SS1pUbzlqRXlOV1RZQ1FkbGIrKzZITWxtV2NJdnJycm5HcmNKOFZ6QnltR1EwSWZFNVRMZlFRR1o1REFldEhWazFKU3BqQkxEVEsvUXI1MnYwTmRGQUFMbEdYU3lJRHJ3eC9YYTFnMFZyajUzNnZKNWVyVzJWN2QvYjI2VkVMOVYyeTY4VkgxYUNLYWN3R0ExU242b3pTY2k1N2RWcklUYWkrWEZoc0J1cGdaNnpKS1RrVksvRitVcEZyN2pWSmJreGV5ZHB6TnRIaFo3ZjJHaDZiL1lvdEZHOS9xUlFtaktsc3ZiUWxTcHAvc0JiTjhUamJnVVZLenQwVDNVNXk1Zy9BSEZxU0hvN1FEYUwyMHBPRFJTMGZsVHdWUzBHQzBhYU9iRDg4d2dLSkRsTHFpK0RNTi9MMlAvaWFRaWp1Z080V0RSa1FBY2psdmpoUEFaKzF3ZHBpNEFXZGtXVTlqNUFQeEJpaHNCeXVsVm1wU3NFelZkbWlnWFFheWFBWnBPaW1LNHc5N3BqdVozZjZDNUZIbVdJTDNRaGpMQkE3TFRZKzVFK0c1Uk5xZHZvaXNSUHRoK1M3Sk53TlE0bUdmZ3pZSVMxRXVUK2FSQVhDYVBOdm9hQ3NTMUtiYkgreWtmM0doMUhsY0FWSXlnZkVBNGhjWk80M21yQnN2TVoyZHZUTmZBVmx5VWpxZnloenJCQWpFcnpNSWhFaXJ6bGZEMlZSVkhHNURCZ1JUb1dBb2lseGxXZXNvZDg3QWI0YlQ4b2RETEdnTDc4cytkcWU3N0d2SFFMSDFwVEtOdUJjZDN6YVpVMjc0Smgrd3JPWWtSWm9rUTFlc3JhaWlVWW5ENmlSSkNMVzBubmdYbFB6MUkxcFlqYjY5TEdDeDNXSUZBRmwxeGlXeFVvRjY0R21STVdCN0cyQXo1eHkxSGNFTGdtaUl4dG8wcXpvZWw4Um03V2YrUFpFUVJnQTdFditObW1OYVZ1TmZrbzV3VVovVlpCV014TnVocUFsT3RvUEhKK3BQcVoyU3luTUVkWDhZR1QyOXhFbitTZ0VjaUZuUEw2d0JxV0VDOURtVXgzNWFjZEJOcWJGM0cydmtPc3RDZ29wUkRXdEh0dWJCakJwRmZxTEdBWWpZWFl5NmZ4TnVXaGp1dFVFUVNmdHpPWnJnd2NvRFBMKytNdDN0L3Q5K3pWVkVZaXdKcW1iWTlhZEpTUGxPdy9kRU9RRi9yQURTWGdoN1ptR2FaMkFCaDJUdnJ0YUZHdHQ0UUpaR0VTSFJkUnBzMkdlV3UzQkNVbGNVV2pWOGloRDA3cEJFSnpTM2hYd2RpMFQ1ajdXZ2RJUG8xb2VFYWgxMmFna3VFSVRFaldDUVNkbFBSc0Fzcjl2ZVBJRG5qcG9EdUNFZkNtZTF5UDlWdWVCdXl4R3AvYjlSUzRkdGp1MmZ1cHJ3WXNzYU9mZTVFVm1BdHFJZkFxUDRpNjdaVjdwd3Y4RlYvbUplbHRJTVVRMmtjcTlaWGJzYU9JbmltcGRpVVhTdU56L3c0eVVSOGhrM1hyMUIzWWlNcWx6Ty91ZVNpdEx2YUZ5c1lMQTFYamFObnB3UHRBQ2xDT2UrdVIxM2h1S2c2dFVsdUtFQ3lhdCs0R2tBeEI2VTVHbnBrdzFkTkx0dDVpWG1rK0dOcnNmQlR2SjNCN3FEdExkaFA0MlloSTRwRURyNDExOEF2eXdwMDBodmo0TUUvRmZIcVFPbERTdmVWeDVFcW9oajVTVTVjOXhYYUxNMkxFL0NEb1pzWEZ0LzVDeDFrTFVud2ZwWG8zTXJNT0JLc3Iyb3ZJTkNxQk40NmJRcXpBcmhhWUZIU2NPWGU2ZEFPekdFdGJKN1oySXpBTjN6OXVaVHFvcEpWdEs3VmszTGFzWW0zVjBCalhDelUrMHdncHZRNWVGTXRlQzRDNGhZang2MVVzMy9GY2hhSWJZNkI2M1JlQ09BQktySFB3MUpvc21RYWZOZ3kwa0FLMVQ0cG9icXIxaGZFRWpwUFJ5SGgzNWtxMWc1emJ1QWFYWlpCWmwyL0F0ekJ2Sm1nZ3JxUkYzcHcrbDAwTjV3TkNFdG9scmhOY1pLRTkxanp5Vzkwblk0aFBxdzI3NkszVXhtaWplVStNTXFnMFZNaGRITm9TdUFyQ0E3S1loa2pKQ1VMQ1V5QzcvRHlUN1MzWm55THZ1eUhpZWJrdmdGRURKZkVrM280dWNBZFQ3Ly9HWitPRzBMaVJFVHJQcitRUEVSMGx5M0RmNXBUbGRJT2JtRVRsUEtla2ZoaG9KeXBNVEl0eUJDWXZuenJRaXluU0o3dDEwTFhZZjBsMmlSVm13U0w3S0MwaHp1K0hRaGdNQ3lhMEhkQU5xV3pZSkJYcUlyQTlNQ1haYVFDNWxWbHluWVVCWXFOQ1RXdy9vRU4wM0RCbzRnZGhpOUVNekdsc2VtdzN5VEF5cC8wcVJTRlhWbXVFamtjNGJKT3VxanVUbklYaEtMTzB4c09FSTJWSHE1VVZWcGcrbGJDRzhVYzVKQk5vei92MzljVzFzTDlPbTh1azdVNENWdmdVVzlNd1Yyb0JHYis0SFpuMFk3OG1CVjMvN2ltTjY2WUJ1ZkhZUFFIL3dSZ0N1MmJXdFNzVGlXMllQOSszWm5Hd29TZEdTeGdSUTJibUc4UWpHUTZMNTM0aUI0NXFpZmVhWk1qOUowV0dVdTVFY0g5UkRNUEltMGRweGxpZ20rNjlEbzhmM1gzWENZbW84dWxFeThQVGdoUGJUUzVVV1ZySHZFYWxEQ0VoVnF6QVFDOHVReTJUT3UzQmxWNVRXcXVVbHcrTkhzQnZHWFJhZmRRVStEdU95WW9SWmtseFpYQ3JvMjdzZ3BGK1M3c0VFdm0zemxMRWcxWFNmNFhJM2xvTE1taEVlTWVOeE5ENUNTZ2RsVmg2VThlRndqWC8wcjlTTExrYzhTMVVkQWlLdUlXWU9pNndaQjVETThLYUJHejg4M2RCSEJCYmVwdStFdWlJRFF6VkYzb2E2QkxQTHMvRSswQXpwOGs4UXlXM0FIcW1ZZno1dllUKzhISzhnRWoxUUFxWnRiaVRzWkZINHZqVTJOU3VnbnNVYTBiWENGTk1Cd1VyR05HVW9OSzlrN05oWUs3aUp5aUE0ZTJ1d0pQRXhUUmtnV2lvenlrMTFQVXR2NzNPUlVkUGlOM3ovc1hhWFN2alNLU2hYTkJLamZxNHI3TklPUCt3eVVKMjZ1SDRMbTNWYmlPdDBxbkJsbUJ4WEMrZlpoeDZXK0NMdU5XQ1dpNmh1VDBVV05FRkNhQnNKSVVNZ1pEaFRvQythL210ZlN5THVPYlFqM3FqMElGOFRvTWJ0ZEZjS0svRyt6Q0tLOGFST045VGZ1OGJNN2FVbjJXUTUrcTlqL2M3L2tDSVRiY0YvRnlWSGZrN21hQlorWkk2K0pqbzU3OWRHa2F0SzZJaTY0SmcwSGJFVFIzR0NLL1VMMktuRWRWNXNWNFkxWlpyM1BPdDlPNXRnYVJUNEthQnR6Y1pOR3lRUEpmME1raG1hQmtxYU9jTnBMMitteERUNS9TcDA0aVpmdnB3cjlGMlhicFd5a0RYQU1wS0g2WVNMZU93UUpma3dtbitCU05ERGpBZWJ6VkRSVzN5ZGtoa21WaDEvbHh4Mmh6YkcrR0FFZTlUYmphdm90dHpNOThPdE02cmpJdDVLT1JQN21qUUNUSU1sZjVwQmh4UUxraTdiQ1o1akVnRWRFZFR6N3ZyWU43aXMzdXVpK3Z4T0tYWGdSV1JlYXZBb1JmMmZjRE5McFZDK1NyU0Q0aVFWdkw3QnFNZ3huY1UzVjNmSHU1N3ZZRC9takMzb3J0R25hR0FNN09jN05rZzc0U1BXcXRrT1Babk0yb0diSHZSUkx5dE5xSXlPKzQ1Q09tNzJGdDFHa1dNMFVoSUdzN3pWQUpPRThsWXc1V2lRTW1nMkhFaGJvSmlJK0hHYTZSakh4bGRFNVprckZ6cGpUZEp4Z1RwUEluMUFZT095Z0FKaUkwR3kzbG9ISUUvNkdJeUZxRk5LWUlCRitJRmd3R1FwSk01RDJseTEyT0xkeStwZHZ0NTNwL0xidkxmbUc5VEFBMnM5bFA4bWdoVGx2RE0zNlhqeFNlbXUzZFVCMVpZdlVZSGNUK0oyRHVvbnhObzZZMFdBd2dFd2lyRXVYei92a0ZnZ0pYYzBNM2xQTHNCdVJzYXBTR0Q1OXUyUUtoNVlZWkF5S3Y3TUlOQUh0V1NoMnZ1ekFaZzI2Sk5XWGFXa2tMM0JDRHZ4TEE0RkFrZmFvclZMWkprK3NtNE1KRDVMVFRMNm5sUzNhT1JpcXpiZEdqUi92YW8wWjZ0QXdqVEorM2toZGxkMUNTVFJzd05ET0wyYW1aTmdlSEVuL0VGcEJWL0Fpa0hCakFRd2J3ZjBJdDVQVStTYi9ZczJNQlkzZWtjZ0lsREJ3Q25UQmoyMDdYUDJ6UTFob1cxSk1JU3JqYVBpZXE0bDVHU2xmMnNnYWJPSFFXN04xcUNNZUZnM29DWFQwTlFhTzlBdUVmWmE4MU1WMmtIaExDelQzTmdSMjUza0p2eFlIZE5hVzBsT1FZMDR1NEpTMnVqZzR2eU9MM1FqclRwcS9IejNwelZEWU9TdkJvVGJpem9YWUdnaUJyQnc0cmgrckdMQU5VUlhGWjBVUHVxYVl3STB0WXJOVytRTFpBTmplKzBPSWx1TWd6QVMwaVBIalNER3lrT0tPS0poNEFISVN5MEJ2RVd0WEEvU2FxWDZnOEdnK1BoYXdBa29BSDJmVWNUcWZLb1lORWRZMFdUZEEyTkp6b0FDbWdpYUVod1o1WHFCbXJRdDdnRjNYcFdSaUNYajh1aTJzNVpuMGRaMVVJUXZRM2g0NlJJQm1FWUhic2I1MkRnRVNjQldORVYzdHhwTnlZQUxkemxZN1B3U3QzNk41QjZzbUM2OXc1Z1hQd2lLWFJEWU1SajNWYW4vVXphb0hPTmovenFiNWRUNUJWc0pNeXdaWDZKeGt6L3VFNHI0d1lxR1pBNW5kbjBHWVVpVDlJWU42d2oyQ09HTHdRQndiaXlBZUF1eU9zQVhLMlZQNW1xVjR0eWU5QXdnbnVHM0RHMGgyNEtWU3NMUmhCVEh1c0FBMnhmY0l2MTl4VnBtbjRRbjdNTzY0Q2hMVFpvQndCR2hydXkxWHNsYk1oNExVSkFob1JISG1JMDhxeGdmemlNZHRabXJyM0YzV1BNTDF5aHRWd1Q3OHdQbFhlQU1XK0NlRjdmKzcyM2JXOW4vNW9RajdhOHpUc3NKRXVNejlNSnloTGxhRzBnWFdMWmhQeWFBRUc4MktEQWF6RytHR2xzRnNiUituV1JBdndZd1NZcExwUlJsRzUvcUV2aTBYdWhDdk9SWDVlN3hQeTJvR2k4bkRnNWpucTh4azJDYUkybWdRK0N1T1hDSytKYmxBeDk3UVN6RUhiWmF6QUNwZ1FMS1RpUmlBSUQ2cU95Mm9XWG5GNjN2SUczRmhibnFkZkc2d201UGJZNEZSU1hGVmxIcTF6TldYbWVEYUpoOXc3T0FPS2RNVjlBMVRRT0NyM1J5VU5vVlFlaVBIZFdXRU9zRGdsdDI1dHVXNVhpZE80VEVKUFl4bDBKQXl3WkMrNVNsZ1hyVVRTb0NJYUl4Um5xSUhvaldPaGVXWlI3cFVjRDNmQ2NERUhRUVluWERQeUt4aHJDRjM0U25SRWJNc1NkZ0xTS0NCcEI2TGtEa29VbzN1RW1SVE1RNGRnaGRWSXFTdlZoZUxNcnIwUjQzYVJNL2ZYZS9EcFJ2TzhHSVNsN0EwbGVKTnh5Qmw0TUFIdm4yOVREZ1FBcE96NTUvMEdMdWYxUnZob1hvd2lZSlZDY21GbWEvaUpUUnliSWVzUFhGZnhiaWhybHJ5dzNrazJRTGIxUUlNbEEyUnFCeVR4OFEwSWo2TFArTVlvRHdDaWVrZEM5UWVJTmtaZW9TYkZPWmwyU1BWd1NIUysvalBrelhTYWNnWmQxTk1meDFNUUd2a0NENnVYWGdOMEloSG9rcERHUEorWlRFeE1NcUR1azBSNUtKd0lUbW9Gd2FDYlRCY1pPRnlvcnhFSG5TOEdlUmppY0FaNkp3WlZoS1RwZXFSSXZSZlJDL2FUNFFCeDlES2pJUnFQU05FMEt4OEpPU3I2ME13N2hlS3Z3RzVsd2I4YnlMY1NjdlFicjA1V1dYMEY5Ulh6bVBocm02Sm93Ri9ibXJIL0dFNWNzQmorazAxSzgrVElhQWo1WXhaNmpNVml1STBpdFk4eFJCamtuU205T29CMWVDWmRJeitrdnNhNnMxeDdQUmlJYmhaUS91UG5TNndrREtVOVJaRFFBM3ZlUWRKaU95cUFaZ0F6NnFoSDNRdzRKN29wM1hxZ0ZnK1VNVmhYeDRGSEdqUmthSVdMK1JKcXhyM3pISTdoTTN3WEtmRFFrMFpSNzRDMjNyZk1WTllKZlFMRzNKZG1paE9Pd1JqWlloQzVWLytFSUdsMDFHVmcyTW14TDltZnBSbVpqUTJsKzNveVczNHZYemQ4YzNOWVZ1TW90Z3dhajVXMndkcmtnZHdhelFWVWladk5ROWp5TXAwcG52STFyWHZaNU5SWmpBZHNJR1F3REFWK1Q3R3dOSU90K3RTQXFTUWNGa1c4LzN5SmRqNW0vWUFEU0FDQ0k0QStlVndLNlBYc2RsTWJUTDdEK1NZdzd4WWFOZ2ZxN0RCbThQcG95ODBYSE10aTR3ZjVNdzIwL2xaRFVuY0RqOFRMU0RnclFHSlRjaHR5UVJ1TWVVY0RiREx1VjUxTm5YYmppSTRtOU9ja0xOQzRQcW52TmU0Zjh3a3pmSVhqdG4vNVRlT2ZmL0p1NHBmQnhMM2d4bnZ5MUw0b0dvOG5GKzh2azVDMUZZZEFROUlZWC9neGcyV2puS1lGNVNaWE9kUytMaHpZRVl4SHk1N29TcU5kZzdqdWZGL0JrS2NwTE4xaWlrZCtnTnhLTkNldGxqQi9uK21Hd3BqWnYyNERqOGQvRVpMdnVqWWs1dVlHS2dMRXRjaGhSTzA2SERxOTVNTWR4dncrbjlNalE4QTlrVm55WmNOeEZibTZwNVYwUUdSSWtoVEh5cXI0NGVROFo5b1AzRysydXFrYVpCR05BMXYxWFlCM1RHVmhIL3RmK3FUK0pkOTBpK0Yvd29yMGxxWk5OemlhVDdiRzVDL2xESjhGVlo2dWdHSTdkV3Z4MktZRGlvek9WQ1llY01OSWI5TEgxVHhocE9iL0VjbUYzNVNEZlFvcTZnWi9TWndlSHdyTlFuWkFBZUZZMTkzQ2tMeDdTSjhHcytDNkt1TjRySTVnUUcrOUtUZ3lxajRTczFJaW40REF5NnU2YjZ2QXlVS2gzQTVqRXd5TmFkRnlpRU1zVEQyeXlrZHBIbmFtNTNkb05GQ3Z3RWlybzV5bWs1TXZ5MnJ4YThMb2JCUDhqZitHL3cwZCt4Wi9aRE9BMmJYUlo5QUhDbXJvRmtwZGJ5T0k0YWIvdEEwSSt3TVJBQ0NIM3FTWWdBTkZMQlFJaGNScVJlakF3Rk9kZHZrU3NjRDc3QlA5Q09wMm5QWG5YcEFKMldPR1hXTStTREpYejY4Wlk3VjBBZGpoMytKUHNFYy9qOTg0b2pRRzVYN2JvZEkvK2xadytYOVpCZUpvYU9UczF5TUZHYzE4eEo2RU44KzVjRnN3bit1cDBWVSs2dDlYenNIZWRCTElyUW51SkNwTnBoL2JXbXhGWWFiNzJUOTRlK0QvbGYvaE9QUEdMbmhmV0VBeGNnM0UyUmVRREFwNm10SzJKTUdEd1NPNWFHNnhxTWdvdEtneE1sUE0rQTc0QVBxYzd1RGhUMjNVUmlUalpyNXpHTk1UQno3dHJrbGtSa0lHTVFHYnZOSlFyNkRpdDdkcFB6cDRrc05UL25ZMVVsZ1pFMFBPcmlXd3MvV1FjbmRYWExyZnBsMUszc3dDS3NIM1hUeVFLZkxHcnhlUVRYS0tZTTArK1pkNVNBZkhSQnZRZ3ZJN1hWaThWTksvRnVTWDN3c0NkTUY4YWdac0UvMS85VGp6MGhjOEQ0YlljVGJmb0ZoKzJpbHVhNllVNHN2ZllySXV1MUlPaU10QjI0ZHEyTFJ1UTdKNEw2Z0dONC9PNUdPZGpBNmwyQlpRNC80ODhBYnlibFExSzltSUdZQ2RaQ1ExOGcvRkF6dC9Ycml6U2Z4c3dpbGdMa2NlUXJaUk9jaTBOUmZHSTBmNnZXY1hLbXdnZWx3anNwUnByZ0JhZEFVUnJDUlQ2SWYxMG9aVWZYQzlFSXljVTRla3RybU00ZHJKZnpTQnFQTldJbEdkblZ2QlR0d2orYjl2QmI2RWNQR2owRDc5eWhBaGt0b2s5M2x3SUdsZ1MrYXErT005QVVDcnUwMHpEKzVnOWo1UlcxWmwzdTNJWmljeDVHVTlyUEExdWZxWWpIVU5HZzk4UmdPUTZkU3picm0wYmNHZ0taaUduNkVFSklXNTRHOElzWmJaK1RERTNmbW1yYUlvOElkbnJ5VXEzWnZmMzV3TlBIWWF6VnVkUm44R2Y4eG9sODA5czJzTUtGai8zaFVGb2RucHdHL20vNzdiQS82bmZ0cnY5RmxoZTF1OXN6Rmt4SGFPU3loYWdNeU5nWlFKb2NyMnR2dENQNUhaS1JnclhsV2l3SG1xcXcvUG9DTkxxZnE5T0JqbFkydUo1T20zbWlRSE1Id1lCbHhNKzhkcTlFYVM2N1A0RUZzYUZjRGxIenhkR1VLQ2ZBSE1MMXo3ZFJZY0hJa2JhbTNMb0g4UElLLzNSaU1RMjdOT0lUcmZYeUM2ZGhQU1lGK2xjZzRUNm9MMjhJbTRMc3VHenhUQlhZaUNlT2NlK0JmaFRYM0ZiNFA4dkh2ZDRmTnIzL1MxODBLYzlQWXpXTmdYWUx2WmkwM1loaDVqaXVlL0REYnZvdENqSWZjWEdnTXNHMEdsVStraGM0ejY3MWRkaUtqcTJVRnl0em5lOXFqRmdZUm40R1huTWhpT2U5dXZncnd5clRaL3V1UDVDTnUySFFWaVJFME5Ga0lOOGdiam4wODYweFA3MUF6bytSZGhmN09rQ2syaTFkTTRYQ014S1VVRUpFRThNOG9Bc0ZUMmh0OXg4KzYvell3YUMzekhZeklGSStPQUZ2OFBnL0ptTldOMytNL2pmZVdQZ2YrWVB2eEtQLy9pbkJtWG5BejI3akhZaFNkdnM5aGZHSlBZcDJyMlZkWmtoNlNiblpRT0JDRDcyMk1JaEk4cnZkY2tJMkYwM2JlMnFsK09GM2dIUXFMeE40aW0waGtEWkJzUUJ3QmFmMDJtcmxHa0xMZXdoWFJuOFMxTDRVd0JNS2x6RjZTUlBmdDVQNE1YYUdBRCtlWEhZcDdQYTZBaUVsemN5YlQ1Vk4zZ1pLTUJzbzgvZ09YQzM4TldnYlB6c3J3Q2JpMjhmTFJFZHpXWjRveklKMWpyVG9zd0xlTzJmdUQzdy81NHorQi8zbEtmMEVYOE5pbUNzbFkwQU5MajczU2dyaG9tenhDTzQ1bEZJa1RXZjAxZTZyM2dLeG9Gb3NaWTZuNWJRNmg3Zmc0bDY1bHRyR29yNnd6TFRONW5zQWtnSGJ6WWswU0JvU1M4WUFLQTBPT3MvSnkyRVVBWE5UR0EwSEJ3TUhIeE8zOHNxZVFCdGxMV1RwclozYklkN01xZ1VHSmxVcmpQeEo3MXN6bWRYM29rUzVyaU5FUHRYWjNqUHRsNGlaUmxway9Tb0NEM3pHNy8yaGJjMzh2L2RWMnpnOXpacVAzcnM3VXhnaFpKUysvY09OS1l4RFFlcGVCN3ZSNmFmRk5aSE9Ib2VBdXNCNTJVQXl3aGdya3FJRHg1UnA2NTkrSmZpSmVyZ0FOYWh6aVkzeHdlVmwwS3ZaZVJaL0pObmU3K2RSbWFQZzNjV290R1FTWjcrM0VWb2pBL0d4elJKZVY5aVQvVkZOcTVIYlNTTjJzQ052c3YxYk1LTDI1SDNremE0eFVUZjl4OGFwckUrL281QmxpYy92KzNQLzBYOHE3LzY3YmlWOEJ1ZitCQisxLy8wdC9ENHAreHV2M3RwelpyYnZuMHdCblI2S2k3VUttSkdKRkQzOXpyeXlCaFc1Z1c4UWVCbFBHUmpvS1B1V1JxRHZRSnRCaEliT1VrZFhmVjdwVnM4ZGFpd0pJZ0d3YmJ4ck8xTHFwdUJqd210bmQrdW0rRmRnRm5JRGFwa1hIa1MxdG5hVXBaTUkzZEkrOGZuT1ZSTE5oZ1d5MS8zcWZMY2UrMGpUN3dpSUU0aGxnLzhvdFVsL1F4Qzd0aXFiSTU3MjdmK3hiTUIrSzl4SzJFRi96Ti81Qlg0alE4OUZFWlAzdG5aNWRnOUFwTlQzN2RCV1BRRHJRWDBmWDl4VUcvaHJEQjNpbjV1QUJpbVZ1RjFZallPUURRcUlMQ1lRYUZSakwwUDFyOE1JTmNETWtxU1pBSkVIUld1R3htTWNFTVh2SUFFWWdlMW9qUTR1VngxcnNCNVFaZEJhUUNZZmdaN2wxa05nbHhlVWd5RG5lY2l3UldFK2dFYnk3OEp5RWVITnVaN3AzVnBTZXE0VVB2YXJ4cEg1ckIvMm1yZkJlbGE3WW9CTWpSSTFoZ0FUVEVFb3cremg1c0QveG4wdjJjRi85a0lEQ0dEYSt2VFBZTEUyYk5MWHo5Uk91MG5qRmoyQUt5NGtIOW5uZ2V4NEdEbGVEWTIwbW54SEIxSi8vWm5DV1hBN1pBNGF2UDNWZ1pkd0VnbUc0aGhmbCtVclg3K0xSZ2x3V0NvSEUrZUpxRThxTTVUeFdobW9yb3VHSThQVmVWeTZCWlVnL1ZueTZVYVMvdkJuMDJBQkN3MkhId1BHcEZTM1VJRlhIbW9VOXpBK1lkR015L3BMUWtSVjZ4dzNKWG1yN2NNL21mOXZWZmdONXpCdjN2NmZVanQrL3Z0U0hTSDZLNjQycVlIRkF6OGV6OUs2Q3dHM2liM1ZqUzc5K0VUNnEyNE1NRHRKcFh6ZTZaUFFMSDB2QzZRNndBSUF3bE0yVWprajd3eS9SbUlLNkRieTBJWjZPRlAwbjQvOHlzalhYc3Vkd0Z5a0hTdmlLNGRNNlNUMGhMS0o4SFNLS0wwY2s4VUNrUGJob0UrWFFnTjlkRWFZZXZPNW92aGFHaFFGUElzdlBON1hOK2g2S2kyOW1ybzRIRUw2YTNmY29QZy85L080UCtJaC93Z2s1QVhwQ1pvcFZHRyt0SS81aEdNb3BXUmNkWGVSMkRQMHZ0ZnV5ZHdyeU5vZ3JlUkFNYWdWTVhnUGdmRkJCbHpSRnFocm13OHlCUG9DNEVqK0wxS0tRQ01DRXlub3hoQXV3RDF5SThvbTUyTG1yN1JPZVhDR2NBOVRaS1Y1L2x6Y3ZzQ3ZlZ0tDK1gwK3FqanU0WFVsTHRQQWN3R0FGMkxESEI3bGhHZzI3MHd2eElWamU2OUdoMWwwNVZWbTVGUUFMVW5aSG5mZW9zai94bjh2L0VNL2pXNHZoT3F4Qk5TWHlMdWZBUlgzT0trZitFSUV1bFkzTjRuemJzZy9RaTBOUGJ2MGZmNE9WN293VUdscEtNdE1wK2c0eldQZkxYODNweDJMVmZpMHgvUDF6Y3ZwMlZlR3RIQU4wWWdDeEMrUWNEZ2R6ckdMeG1VbGIvaWR3RmlaVldxd2JKU2U3bUNEZ3NwZG9vUVhSbm9NbjJoQmhtWXUvRVFyOGUrQ0FTdVR5YkNhYmMrejZQR2RFdXZTUUhpeTlUN0RrYW45ZGJ6YXYvYnZ2VzJ3UC9zRmZ4UGZDS1FqYkRtWVlDRHliUmIwbkxFTlRxU1hBWDArVGt3OW9VYlgzdHUvbjZhWlVSZ0tFMExLRTBxMjhON3dkU01KU2x6QUdIMk9LeE0wMGNEZndadTRJYzhuOEg0NUhqdDkwTGw4MWVKdDc2UTBVZ3cvVFdzTzJSaENsRDFWU0JLSS9kSVByL3NZbnZuMWtwT3dXQUVORkRSYmhBMENqRzhJY2pnSkU3WXlOd2wrc1laU2pNVCtRbEJlL3hDTFRTTzk3VDIrYTAybW13ai82MkIveFVHZnZpUTd6TEtnakhsWDEvNTN0cHRyelMzZUJhdXUzcWtiYjNUdTJ5RlFhbnhGVzJiSHFKUWFBWXZkZmhDYVRhTkF4SXdhVUNRcEZOQ2JBcnJIaEVSSGNGVnVmbk1XM1ZtSVBQdTVTVFJwenFkUm90YlJJS3VWMXVDZkZCbytDWmc5YndIRFhjQmxJaHYySUVNUVQ5V2czWmVuM1BFT3Z2bnJIdUcvck5ZbzNLNWkrNENXeVB2UStlRlZWZmlpSGtndVliMk9kMmdxR3pFK2dxRHY2cmNlSHJMTFlQZjJpcmR6bTZmUjZQditVSDdZR0RBOHA1Mnd3QXl0UWpEeDNaSDlmZ3pvdjd4eUxkL1FDUG5pR1c5b3FTT3RVN0grR1VXcjRtK3BMVWxpVVlxenM5cGFGT0pwd3loTk9MM1NmV1M1TEZJTno3YlZWR3VBZGpPV1Y0ajREOVEyaHBPbFVBWUZIWDZuaU80dmdBMUlRSWRpVjVtQ1BuWkZZTk1JU1MrbkpPc3NjL0hXWW5JamR0K2ZrdVoyODZ4b1BOdUhvc1pHLzgxb1ZiaVRzVGYrV2M1YlM4dnRmcmU4aTIzQi83Zis0cFg0amM4OUJFSXhwSGt1eDJXa243dWdyZjBMTDlQclV6d0lQbVk4dG85TUh3dXpJb0tFQUNjVHhsYUp0Y3Rucjl6cFMzdzl3RHo0R1h1dWdmcHV1T2Y0L2JUYzZOaFFBRC9yck84WjcvbHM4TlN0RjdDdW02THE3NXdtSGpudWt2UFFxZ3VSSjc4aitWRmY4TXV3QXo4UWptV01yMlBoRnlpZjhRajlPbWhrY2wxZHN0RngzUUZxYVltWU9XcGlyZ3VpdmF5UENyeDZDUkFhSVZRdXYxWWliMjZxeGkzQ1gyMS80YkEvNXRXOEwveWxXY2pZRzQvZWVzdHo5WmVWK0wyM09UUWxVM29TOERpU2pudUFzRHJrUXgrSzUwd3VZMW9STU85UkpoQlVYL3ZoTTk1OFBTZ2VtSEh2Y2cwYURDdndac0VHeDMwQlRxTmVTeksxNUFVOHlrQk1CeGZ0dllQeDRNNUQ2SVJDL3dKd3VmVGh6VVE0dlYwQ1lpUzd1UDcrQmJmWXdSeC9UNkRmd0IxU3ZmZkh4QmJROUJKVGMxNjJ4dG02eGlsdmM1ZE1WaFlRdlgxK1g4Y0Vib0hJNUVTdFF4TndIMDV6UGhaUi82MzN0ckl2NEwvNFlkY2R0dDh1S0dpdjVRMUx2aTZNVmJxRWRiKzl1eGdvbTYwT0FNUnZ3dmlveTJWWStEbkYxMzg2bDlvb25vSW1Daks5WGFBVGhHYWxrc0FlellTWU4yaU5QdnpYNVNTRWJBVzRtaHRpT21nellaTWlCZXZoMlZFOU5aLzdrSTdlNTE4dm1INGNWQ2lNNGtmVFVhYzQzWHd5NFRtN0hvWGNtdHczYXI4Vm9mSWZmaEJDY3ZScmFENDFpRDdLQ05uZlozQ29CM01odlNubmEvKy9PWWJBLzgyOHYvOVYyN1hQdUszVWJ3dEpDM1MyOGsvMUxHRjVuYmJyeEUzRXA3RWIyd0tKd0paVVR5ZFg2elpidDBBZFlWWE5nZ2FkM0cyUzNkRGFMMEN3ZHZJT3NVelRYZlRiYjNEeWtyc2IyU2p5RjZBV240Q2Z3SXVLSStoYWtGY0JIV0FJeHFiZU44N1pXRlpKbjZxN3hlc2Y5T1RnQUpNZ0tMaGpxOXlRT3VhRUw3Qmo5Nm9YZzh2S1ZxRGQ3ZlA1MHBBdlpKSy8rNDArdWpOTzBDdXhJaDhaMzU0aS9BV3dmL3BQL3BLUDlzZjJ1bEFpdjB2R2RUdHh1NjlqN1NQYkhSSnhBZ0VJVk5MU3lNM0g5OWxuUnUydjZqVCtoWWRIZGx1SjVvRXRYRnlZMkR0SlY0NzZFSHo5UDVhK0xCSVNEeHp1bU5FeG52R3oyek9ibW04R0NwVkdicXZ2ZzVzL05BSFFTTGNVMytscHgyS0RNNmVxb0dhVE9uRU9FbnAyYmh3SG5ZRnBXbk1aaHEwSzViUFZhMXNHK2FVWEQ0Sk5jWDVZVGx2SWxyR3g3clZkM3ZnZjBXZjgyY3dXbUJMQ01mT25rU2R5ekxacnF6b015Vmk1ZEN4NzQydWo0VEVDeHNpcGpIVVhjWkx1ZE93dGE5bzA1Q1BQSW11ZTFIbkx0RVpRUzJsSVJCcWUvWWV4RnZEeGlDVnhXZ1U4dlJwVFR1Sms2dEJpOUFJUldVT1l2b0kycEhPZUowTFM0YTZ1U0hSVmJkeTBqc0ZvQkZLbXp0a2ZIWTM3bTdDZThsL283Zk4rYi9sdHNEL0dmLzdLM2EzMzlDbGZjMWxDd1RhVFNjTWpCbk1HdnRnaTJiUUFYUnlFUEhBRHBYWGdRamlBUjVCK2VuMTBOOUdqNVVZRVRTYVhoZ0RHWktnSTJuazV2dkRCVUVodzBQeDdCbXdsN28wUWpaTkxVRXM2UW9ydTBjc0V4NmRQZ1grUEZqUEwvYnJ3UGFZaHdGcVRNdGhzR0ZpZTlDUU44Y3U2YmtDZkw2UDRJL01JMHdIMm9KaDY4V2dpTzErTkJwN2UreURKR0ErU2RHQ1FxTXZVcjcxcFRjMjhwOFgrcDd6bysyVjNqWElLTTlOamhUUGMyd2UvWDBLMEFKLy9nd3Aza1ZyZE5XMkZDUGdtSi8xNWk0WkRFSFdEUVNqSWdtQVF1bmhkL0pBNllLd2RzUjlMOFJ2TmpBZEM4U1hSSjU0R3BRWDlGanVtN3hOUjRtRzhjZDFzQXk0M3BrSHNOVk5Pb3hBVTZJSFFDd0JLY2FDalpqbSt2ZlJjbHp3WTJyWnRWWms1ZU43Q2ZRRThlQk96eXRPRDRodkNKcGc3Q09rZWZDQkM1d01DNS9yUkhySnFNVWErTmVSL3kwMzV2WWIrTm0yclVIR0x2ZkFhZDV2MG9GdGZhdWs2RnZRWTYvQVZxSVZvN0VlZmpNQUNlaEFlTWg2RlBVVlFTKzRIUlo4bFo3QkxRVmdwZWZmcUxKdXlBakl1WDczdkx6SXpmd05VNEh3SjBNZUt3ZWhRMHM2dGlIVFdQT0VrNEE3TS9zditmaTM3eEFWeHZJQnRQZGE1S2thamVLZTR5VEZNT3psZ0lhNDBaQW9aT3U4N0s2YTFVOXBmSDRnbnY3cjl4djRiOG50YnlQL2V0MkNqVzVLZmRZRVlLOUE3MEU4czRNNWpkWkM5UGJ5QkFpT0orSG5BY0NNUUZiV1VLZjArK0E1SkQ1QU5JeHc0TkdNV2FFWERHU2ZadVNSbUdraTZxU1Z5OXVRcklmOVdkeElEcWY4Z0RqdlR6VHkyUUF6T083bFNwZEJQdnRnNEdmdjdaVFA4N2xWRDZNd0IzNGJYa3RnemtaNEJFYmlNN3hjdDlzekdybU95SDJjLzI5dWV3bjJxUHhJeHNNVXdKOTFYKzIvTmZEL1BwdnpXeVExa28zY0d1empFM3U2bGw5YlltTVk2S0dZUG5WU2U3Umc4TVlZdktaN1FOemV5OXQ5dkNqbWd3OFpnLzFaZ21mQlFBYnh3MDNJYy9ic3JsZlBWczdrWjJseGp6L2xUMm1RZ242S0MrQmxvNGhlZDZnTENSK0NkdHk0aCsxMTRMQlMzck9ENTkwWjBEbC9sU2VDYzZUSlpXSzlJKzNabGV1dzBtN0VXdUxTTkNRQVhqTi8vTjVDcHJuLzgrYVgzaWo0L1pCUGxKMy9Wb0hHY2dFQS91K2VLYnhvSW1QWnJCQ09OMVpXQXFVbUlON3BTSktuR0Z4UDBBTkZtRTc0ejQxTEs2OVIzOEs3OWxTUGc0cmFGZ0JLVzRpV053UGQ0NEJ3ak5lOWlzMml4Ymw1R0xrMUdveHU3R0xkN0FrZ3REM3lIWGJMTU5aMzRrRmdOcXIydUh6MmpmTldvTzZ0Rk9SMUFrRnRLTVpybFI3ejhCdDVjUTdHNS9qQmNmNUthbSsxME1zdVBPKzhSZkQvL2pQNDM5ZFcreEZsNlIvM2FGYytyc3MvRmI4UG9rb2cwcUFScE1PaERoNlJ3K2lkOHJJN0g0QkdkUE0zR1daMFBJMTJNMWdIQmhlWjduMWRJSUdQNnl6akN0a09PaTBNUm9uOENzcXRPVUV5QWlERGhWN1dlUERCVGlJUFBiOTRYWm5IVXkxY2RXREZPQVowTDNkNTlJOEdZY3hqcWNWUGZFMnVZOWhMTGlsUGZpZTl6eDIxZFhpdkc4MDZPMy9uZjk1MGkrQi8xUm44NnpmOHBJUFEyc1BIYnRIaVdGNUxFOEQyaWk5R1FMQWgyT2ZEYmVKR3FzTDk2MEJQN3ZoOUFUYWp2L05CQkRUeFlFbmNpRW5kSGk4MTBGakZlUlhlQmhJemtqYjNaM2xtZytDNlJ6ckgwNFBLMEVuTGt4ZjFRcnk5M3lEakdrRCtFRWpBbHV6NkxZbEg3dk5UbnpmSGMvdTczTmtwanRCanoyRUVjd2RqWEViVWdaWjQzVElZRWlSKzhuMS9IZzJUcDB2TXUwaWRMc1hiYTdjMjhyK3ZnYjl0OWZuSFVDU050RUJZS2RhV1o3OFltTlZkMEI0RWNkY2d2cHpWb2loM3IvdXU4V1BCQUtFeWxobU85eUxTTm1YUExyNGsrbXdvZ2c1SkJJblRKUFVNWUpJSW9yc0U3a0VudWJ6bEpScVpGMlpsTkZKU0xnQVM2ejFlY3ZwWUovZnA5dE5nZTJZdHdaZVdmdHBUN2JySCtiTU1Sa0dJc3FUMDhCR1FGS1M0MTlTbzZqdjhsYURpeXI1OWxGVEt1dDV5ZytEL3JBWis2N1hoTkdOU05nWmt3Sy9FTXYwTnlBN3FIdXp6WVBZdGdQNTVOcDZYT2xpdGVQTE1qS3d0RkFybFExa3YvRE5lRmRqQk5HU01ZNlBpTDlTSVI3bEI4RE1FUGhwSGZ0d0FrVkhnWFlZOW13eGVERUlkaUVlUXpVdFZLVDcxbFlDdkdBeFdibU1IZnovS2JEdDRKNFo0QmJBSWZwVDcrSHQ4TkFGS1RQWjdnMnNNZHhqRDBGRkVqL1BzVjJsNzlPT1pBYWZUbU82TFBYMjN3SUhTR3ZPbTgyci9tMjhNL0gvZ1ZYM0JqMlZ2SUM5bDZjWXdobndnYkdtQ0VvMW1HNE1acDlLMGYxY1BMaGdOaWtiUWx0TTNkSjhWQkd4KytZVnB4WFlWMTBJR2ZVU2x3VUVRUFIxMGtQTTdDV0ViVUhZK0I0T0V3c3NoRU9jUGdsVEFIa1o5NmNiRWNDWStNSTViNU9iaG5iUmdEb25SZThST3JBL3p4TTRXeEovU1lzcWpRSkxDWWV3OFlPekFQYTlNN3BNaHl4MUhRakVCM3Q4dytOKzM3Zk5iTzZ6Ti9FMDdNK0EydDlmeTJxZUVGbWRoTjVBMjVFaElWTHJqQTBIZHowOTlTcng1UHdueG9oZytyQUVIaVFRUHcza0Q1WmNPVUJnNGdCS013MXhleVJQU0NEd3VtNEVYcGdRelExVGtOMzBQZzV0SU83YWUyb25aSUxqL1l3ZmoraGVHdEtXclQ4V0UyblhLd09jR1dqRVQ1R3lMcUs4Z1NDZ2Jjd1pWSW8raHgzUERBbmlIOUc1RTRnK1QxTk9BeUFuOGxXSGZZdEk5N3MwM0NQN1BidUFQQnBxVXp5NHNCemVPcEZROVhxaFhpVWpMNTE5V1N1RDNOUVdCci96Zml5MFdOdDNRWk9vbFRnbllFRlZ0Q0Qrd0tmMmEzZjRNZm5BY29rN3hia2d2TDROWEdMNDRUTVpIaU9BNHBaRjZrWTd5VlhRZDVKTEtVRHBWVzY4TmlBNEdheW1NNFBSN0FIdGdrRXBjRU5vT2l0aVlZZHRuTnFyMkpjV29SR2FWakhvZkxSUkRmd0ZrSU9KcWZZK3ozK3hqc0k5MHVOUHB3NTBrNERlZXdmK21Xd1AvajcwQzcvZlFRd1BBczJzZEYvSmFIQkQyNS9rMzkvaHRSeW5LOGZhZEVuaEFTcnFHK0pWZnBieGRxL29IWU9MVUplenRveDlkQlNaOW13eUJKYmhCYVkxeFlHdXZNNjcyWTFqY3k1OGI1MjAzQmNwMUIvWXVNNjlNSitRUjF2dllGZ25wWEEveHliS284c2w0ZjByeTZrR3RtMkxLTGxEK0ZseTFQY2hiZldNOFg3bXhMRHdHZVRZSzFsaGpOUC8wOGlCMDdZME9QeVBXMHQ1d2crRC9nei9XRi96V0VQMnJlQzB6b2EvTWQ2QlJmaVY1RmVVOWUxTCs5ZXZBL0s3QTBCOWtiZkpXbWVjbHd5S0lmbUxlbVZpSW1XcCt6bmxLM2VCN21ndGtveGxBbXcyUkpQMWxENkV3S01hVFVIdFk5eXZ3V3QwbTc5bDJJSmRiTW8rS3dTQ0Vjd0FLQkF0T05GdUlCNEhFaE5ZK0Y4TUtsK2xHL1lyZ0h1dEpkUkN0VERNditxRzA0czN6VUF5S2U4dmdYd09QbXZac25YdXZGSzhSeHh0WVVjdTBEZEtqWVVqQnVoNUU3dzZkNktKRm9lenp0L3pWeDBYelBIcEp6UEtJQ0JyaGxaNE5rS3dUd0tqaldRL0QzQjRJdVBDMm8zc1c4UVNma0xIcjVZYVZmQjZZQUN4SjU0WGJyY1FYOFpNOW1XMFJVSlBzcE5kamhzSHFDUjhGdFRteFlBYmM0b1ZoQmZ6WFZBWGx5YTErVmFLRkFmZ3hYNXpQVjRhcE5BN2VHVjBDMVJiajJ0WmJCUC9uRXZnNU1QQXRaQUJsV1lHZUdmeHNUSVlLOHNoSWRlU0ZWemNncEJzR3l0RzQ4QnVZV25wcllRb2dOUi9aSlEvbGpSd1BEaTJCQVJuVGVsay80aXR4bXNYR2FSdHNpSDcrYWxIb0Iwb3o4QytwZnFFNnJlekNhUlF2RjhvTjlHRnZBN2JXeEZGaVhGRFRVTGd2L1BGeFQwbUxEOTBTS3ltWXRCb1FEUWNKRVpiR2pKUFZRN0tFT1cxZG40amZjSXNkY1p2Z2YyVnorN3RwN21jZ0NKbFpQa0NjcXhlQlpUU0FtRE9rL0p1cnI2U014U2dMNHFPWGxjc2dGVTJlQVFaZWVib0F1bnFkTGM1SFNPSlRNaGNHbHV3eEZQVHZxTjBaVkd3NGZQdVpSdnV3K2g5NGlmeGxOOTlwNnhnM3ZFU0Z0SkRLUm9Ga2M5b3N0L1J2M1FmTGk2SGY2VG1PcXJzN3BKVEh6dHBUWGgrWmxid0dnWkRsNFVNVHJJak1PSUE0RDFNU05sQXV5dGo5bXVYV0Z2eCs4Nk5QeFdmOXdOL2U5dm4zOW5iSjJ5TG9MdS9rdmdOaFZWNEpESHRaN2U4QldGbjdyTG9KQzRVT1VPZlFMcC9uRHlNL3hIY0RiTXJuSnhRcjhDTE82eEc4UmhuNDRaRXdsT01CUmVKMHBLOEp5RGpxZzBaNEFvMGsrb3BpZExjZkJVbWVpbS9sZ1l3QUlvQnRnTFEyTGhUSEE2YnRMUEM1RytZeEd3ZVhrU1pEMFpnNzdTZVoraGRRZWMrV1pOWUZSMVdHeHFkckk3YXpyRDNYMHE2dWlBMzg0aTVrMnA5SGRFdUIzRUQ3Vnd2UWozRzNDUDQvZEI3NTMrZnhqKytBV1JNU0NJT2NLQjhQaUtaczNXdHFzcE5lVnBsNEE0a3FMZlFLN1F1cDBXL2VuWmlpN2dUN0FGcHZ6NExiZ2c2TU1JMFV4clFPMjNVSVhtc2ZDSnhIYnEvUjVBRk9FbGhhL2ZacXRKWG4vWGpKc3JRMlVoMjhZQmRHK1FLTS9xeTdMRmxHKzZLamRrT2ljZUFOcndHYnQwRnRBZkdhY2JOZVQ2MkxmZWhnWVNOMUhPZUlRQmNpcW9PZ0xYYWtaUW9ySWM3SW1uTHd0aEQvaEpKUVJzbmx3VVpndjF2ZC9qZmVFUGcvNkF6KzU1N0IvMTgyOEsrQnZaeWhzYWF3cklnYURia3BnOW42K2xBWDNUVXZ6ZlRENlFyejAvdVg5NFFxdDVSWUxmb3EwcTVHNTd4dTBDelBhT1RRWGVqdThjQ1pEcU8vb0ZnWFFQaGFVRFpJOFZuU0l1RElSL2lOQ3FLM3BQemNEcDZ5RENmL0lPT2lvcVNyRXNaQ1huR2FwdzduUG1KN3BsUklCMEo3aHkvaHVRUFBxTERBeW9VaXpxTmRBV3lVV1pLdzRxLy9ZUGhvWk9ldmoxaHZ2Rkh3djgvakh1OGpFWTlzREhnZjdVbWdDK1d6OCtvY3VCOUNFa1g0Q0VwQjA1V1ZqVThaV253d1BvUjYvNDRnamJKQkZ4VGhVMk5LNVFXUjhQWmRSeERBMDZlLzZ5OEFkV0h5bEVDU2JIaStET29INDJ2UTlRVGlZYjV2c2lLNVN2NUwza0pldS9CZkF0SWVGNHlMR1ROQk1CSmhIYTNGbitJeG1zaFUvOUdYYUF5UWlZTFBqMW02RENBSHN1WGZUd1J1ZEJUeGQrQUxycVJwVEQ5c3RIY2tHdysvcDlXb1d4ejVQMjhiK1IrSHRWSDIrM1VHY3BjeEthVnR3ZkhMTkZ1ZUpsZDNhYmtpNlhtcXpoVWQ0d2czcGVkZzRPR3JHd0xpM1VkRTZXM0o5ZkZ1QkkraVhtRUNnUE5uYXc1cVI1cUYxWGlZbzl0bDhkcjJjZ3NWc0ZFemdKd05pdFR6OWQxNTBpYUhabURJc0hGekFvZ1I1V1A1Zll1UjgwbkVDcTgzakxSaitSTVBBNlpnY1pTVzBPbkNDbWJ6OTNZZmxFRVE1aVE4aXJFaWJEWG9xQURNZEE5NlZuSWg2NnhEZnJNZVJ1dU4zM3A3NFAvOEZmem5rWDlYR3QzMjg3Y2cvZVJjZXh3K3lHbUt6Q09teTcrbCt3dEMzSzlFRjlrZ2NCUVpuZnhkQWJSNkdQeWVURG9XNnVKUUFJdmJ0aVJlZk0yZ0VlUkZ1ajFkUXp1ZGZlblRTaW9DOEdEQ3o2NmI0L3NqenEveG9rcWVxbnFmN1R4by96aUp5RGp0ME41L2t2NzRqY1c4YThEeVVVVGNSRm9qNzlzYVFCZzUzYXIydlZFVzBsWWhuZjRRR3JtREFWQ0U4a3NSWjI3OFBzSjF5N3RlODd6Rjd2bkZaZDQ2ekI3RUd2K0dNL0RmY0VOZjcxM0Ivd1huZmY3MzJVWitDeElzL0thOHpjL3VoaERCTmJkVmR2dGw1UFYwM3U0bVN3Tkt1NWN1NjZ3NHN5bUR1L2thRHhKWjVXNzhPWnFNZ2lUMCsyaVY0Z0kvaFE2eUlha0dqcDYveTY5aE9MalV1VXozYUlIb0xyZkJUdnRSY2tGc3J3RlZxQjBaY0pzTWFZZzJRNVR6Y2QyTFkwaEd1b2o5SHdDdlRJLzBpQXppYVhGSHVndGovK0ZMZTFZU3BVWmgzMGVMeEdHMnVCUTZ6dU9WMG1SYUJwUy9DNnNaRDFGdjhCcHVFZnhmK0grOEVyL3VjWThEcjcrb1J1VUo4K2hXbG9HWkY5eldBdnZxY253L1E0WDdQUjZuRGw2Z0pvOERmVHJCSTI3Mkd0aXI4QTlvVUNjR0hVZ1ZzSEliUDhKdDE1UlhvcXpRMmd0RVdobXMwTG1PamQ1RWI0TzU5Z3hjSUlHUHl5cURWVHd2aUtkT083YUplVGFEa2R2Rno5VkJJdWUzb0wxL0ZEUjBwZ1JCN3RUVXQrKzRvM3NqdFZrWURkWTlDOUd2MjRjTzFLMWNkMjIweldFbE5BNUhqVjdMd0E2TTdFYmc5ZDk2ZStEL3c2dmIvMzROL0UwZUJqWUxlZUhPQVVucFFESzh2dm12dnIrOTk3ZDkvaDBZSkszb2VkRjQwVzVrQUF3ak9lZGpYZ0kvZ21HMFZvdVBISVRuaGVwa0wwSW1CcVBEZjA1cnU1ZWtsNEFQSXVHUWozUzk1YnA0U21zZWJtN0RRdTAyZm9mVmU4USt6UFFYYWhQSE0rRDVrMlBWOW1TZU5rZ3JjK0o1UmY4TU5NTGV2ZVNHa1V2VzlVQnJvU3NKM1RNcmVEcGdWeGVFdG9OQ21JQWVzYUxGd0kvYkEvOEhyeU4vVy9EemRzbG8vVTFzUVJaZCtDNWpjODg5cnAybXUyK2F1bmx4VGVETEFMdE9WMU1kbGZ6NSt5QmJ0alJ3c0R2cklHcGwrclp1cmp5Mk43OFd6T0Jodm5iRDBKYWlUWDZLY05ESndacjBOeGdJYXVnQ0prNkFaSUNsdmxvS21qMmZoQ21QSk5CbTk5M2ZNMmpVRnBKam5nYVl2RUhQL2t0WndQQmhWTk9SZmhRWVZTZVBlN282NUtrN2hBWGc1WlAxSDRTL1pxRzFoMkYxRTdWaE1RdjUrdk9DMzAyQi81RWQvTC8rL1I4SE96TlJqZXhBSDBsOEJHY2xSSSszMzBCWTQrNmJWaTUwSWhPSnBxWTZMUVRjdFFkTjlmSGNNd0JYRWdBQ1NxTU84VFhIOFFxNDExRVpGMFNQa1FjY0hzR0ZqRkFGVXN4d1lISkVLcFRLUytJN2dMbFk5R05lRmt3TUViV3BtdnZudWpQOTdQcGJzR2xlL3lDSWRncENKOFFjYUVLZHJvbWd1ZjlveDNxUkJHUEtvVFV6Yk9uMzlQNmRPUmRTNGQ3c285aWVZUVgvNjI5czVQOWlHL25iY0Nka3NiMHpGWEg3Uzdzcy9WdDRxWTlNUm5aZTNZQkFYV3lrQmlBME10N1h2Mkw1dE1lekVhakFpNVFXcGdCQWVIZWdPWU9oZktiSmVVMFhQRDFvZFYwKzA1TFpNK2xXajYrbkUzZVdsd0RHL0pWejdsWjRLVHk1N0ZYM2V5bUJQbXZEUXVVcVE1SExuTUlybThtZERQdkdXcmczQkVRaE43ekpoZ1N6eC9pMy93U2VIOFR3WHI1L1c4Ny9wZEUrZWl0N3FkZmRJdmhmZFI3NTF4TitUWWk4RnBPQmxPZU1XMXhUR2kzeWhvemJkZmNDN2hWaGRMcTNmdk9ETkgzeE4rL25yOTZFL1dCbmZvMlk2eGVNM2tGMjh5c2RFWXlHWUVseEs5ampsNm9qbmUyWkFPaUdTeERXdVNRWklLOUwrKzdKbml6QUVWZ0o1RmJPNkFhY0VNZExZbnA5WG9pSENISXBqVklGN09vdnkyY3dBRUxmQTRqQzM0c3NKRm8yQ3RiQW5yOXYzd0hwVk5ZV3ErM2Z2WlpGKzFZVS83NnZ2VXhoSGNjQ0grWTNyYTViQS84VHptNy9sN3hxSC9sM0JkOS9Jdm9lZlk5NUJiY3R0dkV2RzBXaldvL0FscytNaENkZzk5TFdrZXUrZVd5TEM1cU9nMHZ2UlFiYU9sZTBYL1ZsaFdVRHhJTnh0VE5FcklBdTIwMlkxclJubmkrenBvSGlHWkFPUEJsQm1mWEgrQTlHb0NYZVVjN3d4V0JGOEVRbHRYTUVNTHhQQnlBVGozd1BqVHBmclJVSUVOWjVBazJGOTl1Q1ZMYUx5ZHU2ZncrQWhOLzdaSy9aRFlReGtnVHBBZzBnN2VvcVJJKzNabUtjdXJzL3VFS2FCQzFkeGQvNWQzNzQ5c0QvWXpUeTA0ampwLzJXVWJFZ0tFZXRBUDcxZ1libXVHYXp5L2xPN01XZXplTFE1N1Exdlk0TjJDZlRsS3E4U3pveUJETGF6S3FNV1R5ZGpRRzN6ei8xVmhnU2xrc1llUWtVRmtyM1YwYjlpclFKUU8yUnI5VytmZjdiczlQS3ZZNGpkbDcwNHdOSy9sSFFiQVMwWGcvWStOMW95SFFLWWxOdGI0UFlMc0FnZ0JZMHVwVUJrSWhlZ3gweU1TbVppKzlISTMxcHVZMTBnc0ZNaEZWYTRVYVJVSW5mbjNqK0MzRXI0UWxudC8rUHRMUDllMGh1SVZybnRiTVZXZVl1NndSQXNjajE3RWJMM0R0OUI3ejkxclAzVDB0M3YwelJqVU5EcjVMaXNSRUF1Tjg2TUxRQXFtV1VNV3JRTTVZSWd5MzBQUkRYa1JDbkc5WnU5MlMwZU9hNnRSamhTVDdWUHIrNmJHT2JaREFPNDVZaEVNRVB6aS85eWdkKzRIRjd3Y3FJOUk2UjhQUGdSejlXYXZjbkVCRU54SHNUdzNZSTNiSndETHdzQktQU1Q2QTFseGMybFpEK1VVaDBaWGQ2VHR1MnJ6clZuLzJlNzhNdnZlT2R1SVh3SVN2NFgvWDM4ZXZPSTc5VUk2akcrU1AzUTc0T2FSdjQrRlNhR0VuUHVZLzArOGl3anVLL3Npbkh2aWF3bG5YWEUzSzRhQ2pFaEhUV0IrQ0YrRkJlU284Z0E0b2Y4bTlHRE9EalVaOEFrNi9HKzBMV2JNd1hENkZsZDl2cWNZTWdrZVUrVXNjRnVFQVRzNmxDTkJ6QXVPWm1JbWFhaWo2cUw2bXRRTlVITWU2VUc4Yy90N1R0SVRlbFlNdGhOVmZFWFRtb283SkxKaXl3bG5kSmpXVGFkdWFmTGZJN2Z1aUhjUXZoUXg3WndmOCs3Lzk0andzZG1qcks1Y2xnU2k1ZFNvWWQwQkZLRE51RXVxL21yOEYrTTJCYkIrQVBzZGdpcmdnUEtKMWY4d1kwTW1GeGtwVEJIVDV1SzBidzV4RU5rekoyZjVRM1g2ZUtyMW5lTWdBdGxDTlptbUc4by9aRlFQYzVmL2l4RWgzQmJQbU1ycnZvT3ZMTWZUMGNHaExydjJTY2xPUXJDQjZSbFR1eEVCejQ0TGVwWXJDVjU2b3gzY1hVQ0c0ZXpVMGdYRjZqME1OaUNPcE8vWGR2Zis4Zi9kZVIvM2svZGdiLzQvYXovWkxrVU1XRkQzNXdYbFltUkVQaFFOSStFdDZUUjNhdmNRVjhOUmJyM085WHNDLzA5bTNkWGIzdjIxU0EzeWxnWnN6YmMwQUxCajNoNEZ1VVJmdHprSU9yb0M3UElBMDhvdEFmeWJLdndaK25BTHpZeUdDMU1rc3J0TjFMcW91TWg5RUx4Nm05ems1UWdEZzk0UHBTUEJ1ZFNrYUJWcExEaWZmOCswSlEvL3IrRXNocG1LZnptZkV1YkhZK2hYcTlLWnNKRDgwdERTQnY2d05XeGdWRXV3VnlyR3p2VGVGREhubGtBejhmN3dVcFpnNnNMQnpIODNFZ2pheE1rOFM5eXUydFAvakQrSHRmL1FMY1FsaGZnSHJ1eTc4YkgzcjJtQ3hJQVpJdG5xNHVDL1k4eWMzbnVlODRDa3VnRjd5UndVczRCdGpVa0FEVGhmUHdveUgyTzRlcFhBWXNpdmk4UHNDalB0TmJVbmsvQ0xTNWtOcTNnbmdlZ3RUSXJRS2RDMmtQdWkwcWJYZCtTQWpkeFdtOXMxdFNkYU1qMm1lSlRsL1lnUFNPL0UwUFB4SC96eHZlZ1BmbThMcnpPc1VhUHZkbDN3VzBrWFoyL05aQzNENXQ3aVloZm5zR3drOTNNd2oyYmI2OWt6LytjejRidi95ZTkrQUh2dXdyOEY0ZjNnRzg3Rm1mZ1Q5eDlwaFd6MG5hQ0pSQnhjWVBhWVFHTUIzSkxhNE5ZNEZ1bU11VDU1bnJ0NURYUjZxNXVzY0xoaWxIL3JOQ1M4cVhBWjNyM2ZNbEkwYUdiMnFRT1A5VzZib1FwTnIzRU0xbFVRSzVFbUVkaVJuRDY5OWRvOUh6Uzl2N2J5QlhGcEpzWi9sNzQzZGVsalFOOFFZMW1oLzI5S2ZqRnNKcUJIN3d5NytpdGNIVXI3ZW55NnpmUzNGZGcyMERBYVRNdWJPMVg5Znd5Vi82UEh6ZXk3OEx0eEJXWS9YZFp5UHdmNy91RGI3bDdLTWNqWll1cHhaL3RGaTN5WkR5QURLT25pQlpFMkFCaE5GMmtVNzN6c3RFRXhFd3dUd0xCa01sUkdOSjVmZ0hRdTFaUTVtOUpaTGlmSkJOOVREdlFXYWYrKy8vbmVaOSsveGh6bXgxbUJFV0VsSThjQkNmR0RRWGVkRjVPZStjOC9YL1BTdkwvL2d4VDhaL2VNL1A0eGJDMDg1QWZPN0xkaUJLa1g0VVp6SzNCMXVIMlI2cmdwbk9PYysvZVBuMzRYLzU4aHZ3Qk01aFBTZnhGV2RQNEVQUG5nQm82bVBBektQdm9JL2xsWGM3ZWlqMUxOMHZLVzhIcXd4ZUFrODVjdjVnbEl4bTJqSElpNkxzOVFaamhHNEE0aUxrNVQ4US8wdmZnMmUzU0h6RU54ZVVDOTlwek84SEZOcjNxSVRTM1ZwclpINEYraDE1QXhhWGhSR0VwOTJTclVyeXJPLzhUdHhLZU8zWkUvaUJNd0JuSTMrMjVGWGNscmZKeU12cHZDekwvbE8vN0huNGdodnhCUDc5MmJoLzE5a1QrRGRuVDhDM3VIUnNsNEUvQXlzQ1pQOHZ6MytCVWNaQUJHR215N0lGYU1GUDRpQTF5QjlqbnhvRnpoL0JtUXlWVkcycnl3aHFvNENVZHcxM0gvZWlGNzIwRW9MZ21MR0ZtWExyeFA5MTl5Z3pranRod2VqbUIvZEc2a1o5NE1kOEROWTFnMy85bW4rQVd3ai81dlZ2d0MvLy9NL2pZNTd6NlFnL1dxSVlma1hXMG13ZnZISlZXZWtNSk91TjBKWDN1bi9MVXgvQkJ6N3BJYno1Nzd6M2I2SCtmNy84eTNqRDMvcWZ6N0w2REx6ZkU1N2c3UVpxd0p1ZUFBbWdSVjVJZElkQjkxblhjOXo2VnArNTdCYUVqREprTkVTekVkcGRmNmtOL3R5SWRNTmhBeUl3OTFSR21lMTMyNkN5R29DUVdMb2ErYjdEYzdldTRsc1kvUXkvbmUxWFp5QWJsRkV3bmVvQ2RjUGdSb0RXQ1l6SGp6aXZCYXpYZDkrSUVYalhQL3ZuRy8rLzlabFAzeGYzWkFSMVVOWjBIV1FZNUlJK1o1d1lnUTk3OUpIdC9sKzkralY0YncrckVYajkyUWg4N0dkK0J0NzNRNTh3dU5maG0vaGJXM2M5WEpvZ0sxa3VpTVlpckNVbzNhUE44NmwvN01jMHBJam5OWXRRbjJRZHAwRlB4bjRMK1lqSDJJYnhrK0JzQkFaY1NRWi9MM00yQUM5K3FlZzRXcHV3WjFiRjNDcE9GMlFqTVk1V1c5NjJXbTBHeHdqc3hrZjh1cnY4MFR6WWxHV2hwdzkvK2pPMkxMZGlCRmJ3clh6L3RtYzhmZWlrTll3ZFBzWUphc1VDMFRMUjVYd2ZkVFkrYTlyUC9manRHSUVucjU3QTJRallOTkRhWi9weFozcXhYclI3VGd5dXdZc0N3Z0lpNityQ3NoUDBuYXFVSjRJNjBoMk11c2RKSDlBazR5YVdEUXQyc2gvWnptMXgvZ29qWXZWVUJteDl2dnVFUDdkNkFCSzI2QmpBdVlGR1lyRVJ2bkd4cEpYVC9OTkZOUjBrcTJZbEZQenQ4ekQ2VTExQy9ENXgzUlc0UlNOd0JtTTQ0Q0hSV1BKUjJBemtOVlJ1c2VYMU5GSnlVeFF6UGo5M0k1N0E2ODVHNE9QT1J1QnhxeEhBUHRMekFSZ2dBZ2NGQUIzWVNHQkgwczljQnJHdU1OcFdBRVlIN3NMNTJzRG1aUkhMWmdNMDBITjh0UFpKN051ODB4Q2VXM2t2dDJiUVpnQWk0T09IS1VDTTlBV1h1TEJTdVZodWFTQ2pWVUlFZHJER2d5R0t3cjFEVW00UzhHb0VWdDdmOVpyM2ZxVmV3ODgxSS9DUnozejYwT2tMZGZjZFp1c3FQR1hDZGpmTVR6RjZCdlpzbnNEUDNvZ244TnJOQ0R3SDcvY2hUd2lnV1VNMWZ4OFd6Z3lFRkJkMFQ4aVlvUGVEUFdSd3Nsd1hCbVNqY2NmcEFPeGRnOUFmVWhtY2ZnOTB6REhOYkhDa05CaVpacXAvcGZlVVpBQUFIdm43Q04rQkdxMXVmL3Vvdi9tM3UyVUtuOHNMK2lvdTBXTERBZTRVa1RESyt4WWhjdWN3VVBhNTMwUE5FN2dsSTdDR2ozN0dNOXlkall1aVkzOWs4SnVpQmc4TmZYMW1pNUdlbS8vN3lITzlhL2paRy9FRWZ1cHNCRDQrR1lFS1BBOHl3bFplcWN2Tzh0TU9sSlZmZ3cxSUtQamc5TENlaGVSMUpNOXYxSFdaRExJb1paRGpBUnM0UmxtY0RjQ0xYd3FyZ0xiazloZUJSbUVDMllyRW4rRmVRb1VhTExPbjZTaTBCZHhCL1dNa1FWalN0aUN0OCtoYjV5ZWk5M0JiR0h6blA3Z3hUMkExQW54UXFCbENBTVBvWFhWNnBTQ0Rja3JQWTllUGZPWXpOa25maWhINHlkVUlmT1p1Qk5hUUFaMWxrditxVVpUejhpSWJHNDB3eXFiRjhnenVhSUNrekNlSXhvUmQrdURlUXdZUHcrc1JESXVoeHJOUFF5U3R4eEdOdTZmK3VYMFJFQmd0UnJBOERaaCtYSmdxaGRMSVRjS01OUGJjMlJMZDBlaWU4eTllNzZqOFZTZXgwQjl1SndWdnhRajhiRE1DSDNXZW0vT2NjdzFDYXlKcnVEdFFQbmlaZUxWRnJUemFtYncrK3BsUDMrNSs1c2FNd09QUFJxQnk3ZmthNHRydVNBQy9rTDZLakVCQ1lXQ0tPalB3RGJ3RDRGRWJqSTQ5K0pyY0lvTHBRcUZRUDdNaEdIUkRBdWl0anQwRCtNYXpBYURLOTRyTmZiL2NRREJCVktleXhBMUhkRk81TWRJUERrMFUrMDY2Z2JDUkg2WEF1eERNQ0x6anhvekF4Mnh1dVZLN0pDZ2RKaktxRlRBcU1sQ1gzWXpQYWdUT0dYL21SdFlFVmlQd0NXWUVNQWRYMWd1L1NnUUpid1ZLR0ppaWZIMmRxa2pQZFFJeWp0S1ozcDR4cGtudmQ4NDM3ZmVDUnRBZDV5Zks0dTZwMzdpdUFSaEFvMFVaaUJtNmxabTB0R1k5dzF4cGQrVjVMOXBXKzJHTUtTMCtNck1TaFFuSTBPRE1XN1Z5K3FTekVmajFqM3NjZnZaSGZ4UzNFSDdHamNEVHFRUEpJSnR5WW00c3B3cWY1NW9ZRldPdGQ2M3RsanlCMVFpc3V3UDJDMFN6bGZrU1BHMDNnVjN2U3JaaE1KUnVDR2FBM2tkdUNieGtGNTVIYmFPWnR3cTVQYnhvQ0VSdnpqSEI5QWt6QU1hcHpHb0FIdjNHZmhJUUdKVUNHSlVrUHk5RmVyL3YvK1cxQWt0ZndoWFIrS3dOTHJ3REZvQWdqbTU1c2VhSm4vcmI4ZmlISHNMYmZ2ZzJQaUxDUmdCSmJpeVhJUTZqc2lMRm81Q2hwT3N0VFFmKzQ5a0kvSXV6RVhqcVo5TENvS0Fjd0hoT0huWldaQzdIQURCZzhMQnFyMHVDZDFCTnVWaEh1VS8zYTUvKzNVbUJDU1JEWllhQitSQ0o4MzJoUG05RTFyeTdBYUFSQlRxQzI2M0w0QjRSc0ZVNnM1cXNtUWxGSTYwNzhoZ3dGV2hjQ0x4akFXaTh6OERuZHF6SFlOLy9iQVRlK25kdnd3ajhkQVBmazUvK2pNRzlZNlhjcmhObDF5b1B5eVhKbnVzd0kvRFROMklFZnFJWmdjZXRSb0QwdVBZQ3VrSE5CcER2TVVrUHNrb0FETk0xaklaaXhsUGtSNlo4bEFZRFVTKzRmYUR5MnpXVnVYdmtHK0s3QU5PR0lsY21wV0R6MmtHUEhSdUUxb2pRV2ZZc3ZSdzNlT0h6QTFKMzRwMUVTMm54SC9iVVJ6ZFA0SmFNd1BwKzFjYyt2UzBNeW9GQ3NQR2R5R1hJSzdPKzNmOCs5c2FNd0kvL3RlL0NCejNwWVR6MDZDT0YwWlJCUDdNaHJjRllHNFV3S0xZU2ViR3ROajd6djhYcFJONEV0UmN4bGdWeE1xYmxNbXU0ZS9Sc0FMYkUxaGhNaUhNaCs1bWptR1p6K0g3Mkh3SDR0SzAzS0xLUVFhRjljRkxxYm1IUkJRMkVFNEs1Y1VNN3p2LzhscWM4Z2c5NDRrTjR5dzBaZ2JWdEg3dHUxV2t5Z3NoeVJHa3dRUXJwOXdXTlNpay9aanVrSlBpWE4yQUUxdkRhSC95aHpRZzg4WkZITnoxYTBrQXlBd1BMNys0Z0xXTmhCenh0MCtYOFZUOEp5aFY1MzRGQURWN0x5MkRQNmNPOHYrQ2IvKzQrOGV2UEhrQUNXdGpteS9jclZVMmprWUpBSzM3a01WWTJXbDUvZTBvUmdaMUdNZlkyc0NsMVB5ZzBmRXdCOE9rSmw3VXZGSzFQSDdhK0ZmZkVoL0htdi90RHVJWHdMOXVhd01jKzR4bEJzV1lIcEtwMGxnMGJ6Vnl1K3Z2WUd6TUNQN1VhZ1ljZjJqd0JCZ0xyWDc0ZnBsVjBIZVRYSHZqNE9zdlR2UVBCT0hpMXVLMjhzRkVXUDJ6RWhubnF4U0c5N3dERG8wdzlHbTZYMDNpYWVRQ1R2ZVZnOGV4dHE0S0p5S0FVY1owKytGdy91aGZBeWp1ODRhYUk2eEFzZUVoQnI0RmZsSDdKcGkzK25CTS83Q25ybXNDTkdZRXozMDkreGpQM1B2QmRsLzI2L2Z3WGJNUnJDdFhpMXpCc0V3a1pkWW1La3YvV1lOT0JtekVDZitlSDhNRlBlZ2dQUC9KSUNhUWpZSlhUWUFLczV4R0o3cjdRYU83NytBeHloUFVDZnY5bStNVmlxZnRpOXJlWHJiZlpsMGs3MTdCNUFFc2cwZ3RGUWpJVlVwNGZCZXMwZ0RJQnRMRzlLeS84cDdDeTYyU040ME15M2duUTBkQUV5eXRPSDNaLy92dndzeWZ3QWVjMWdUZmRpQkY0MitZSktENk9QSUUxdUV6Rm5pWDFqZmlhU2o0NkhZOElqM29BOVA1NmNqTUNiN3NSSS9DVDIzVGdJVHpKakVBQ0t6RDNCa29BU2RSYkx5Y1lERUcxUURkTTI0UkFLeWkyOFFvYUdQdWw4d1JjTmhLUjN0MG52bkNmQXZDbmw3WUx1K0VxdzRnQnZzOG5vaVF5Q1lwSFl0aEFYYzdCaEN3cGFOMkJSem1peHhiNkRnSTJIdUxDanVjTlZpUHdnV2NqOE1aYk1RS3YyWTNBazhrSURIOVNkejRiVlo1SGRuQ1lWTWxJcFBzbm45Y2lWaHQ5UzBiQVBRSHBiYTArd0ptQmt2ZmZXVEt6a1pZTlFVVXpBbGFtUVBjMUdqa0dOWHZQUjE0Tkp2emNmZklMMnk2QXdsL1lpWm1sR3dUTVJ2SlJrTnpnYkJEMlBGMjFBQWtqTmFScWtBUitzckxuT1ZaLzg0b1hGZmxZY3YvZ2lCbUJOOXlJRVhock13SWYzMTdrR1pTaUNYczJCYXVVOTFDbXFjekhQWE92OTFhTXdMODRHNEVuWkU5QUN0RFNBT0pieTJoNjJVYTltZDVuL1FZcW9ISmVtZUlIeEZPZ0xaWEJFYStyNHFlSzU3KzdUM3JoZmhJd1czb0R6eEdCWElHRFg3b0ZHNVd3V1Q2VllTN2Y4eXJLeFQzMC9PdHg1Y0NmeEVVLyszU1ROeFJrYk9oYkJyWmwrT0ZQdVYwakVJeWZ4TVdod2VydnRzL3o1N0tscDlmS01xMG5OeVB3MWhzeEFqL1JwZ08vdFMwTThnZEFXQVlRTnFUTjFaY1I1S1BPenU4emFHZHZCazVIY0tucEJiMlhuVGZMTHlpTWtVVGNybjkzbi9KMS9WMkFRRnoyalR0L2VZSVc0ZnBCSGd6Zm41TldSaXFCMFFqTURQcWNiT3VVL2hyeERsWWhBRXYwVExaNnRlWGhIeDJOUm9YZnFoS1lWOUR6Mi9Ubkk1b1JlUDBOR1FFMEk4Qjl4MHA4K0Zjb0JNZnpLTVNLaFBhOGVRTG5pTGZld0xzRGEvaUpOaDNZaklCRVlNVWp1OUk5eUNTaktSRFRINHJucGNVZWpjaEJid3Y2Qy9FTmRCN0ROTHpsR1l5NmpId05Cc0RBamFKaFN4SUVRc01tRFdtQW5CM0VNTVo0WDlyZUZRaGczL0x0SS9kNDVsLzh1RERUalpaYmdyR3hsZGNzM0k4NFR3ZCs4OWtJdk80R2pVQVl6WkVWTDAzUFpLN0FrRWhuMXI5ci9EWU5PVCs4NVVhTXdEKzM2WUI1QXVHdmFWcXhJOGFBckdRMkEzRzhsME1hUU9HeEtRYURES01sR0U1NHpvQWVhTFMvTmVMdVUxN3c0cGRDTU83M0s3dlByVXJMNTVDS3lwVkg5Q1VKMWhsb2RlWFBYV1h2SURDdVBjM3pTK0ZPU2RFWkluTmhOMzd1cE5mMXhMTW44SnVmZURZQ1AzSWJSdUF0YlRyd0NlWUpTQnc5TUxrZkZBZWpzdWRqMnNEb1dxNzFybVBHVzI1a092RFBtaEd3NlVBRzUremRBSmJQTllCSGVKWVM1SmZvTXNCQnZKWUduSFM0MHZkOHYrYTUrOVRtQVd3RnRJUFZLdHFCYng4TWFhNlJIZndSQWpiQms0Ri9SOGFDRHdkbFlka1hXSTJQWldoMEZFbzFUN3JMZ2xQNHdsOTFQSlk5QUFoM2xPQ0pUMzMwYkFRZXhtdHZ6QWc4cFJrQmxUVGkwN1ZVUG9tR2Njc3J0UUpWSHNISHR6V0JXeklDSC9La2g4OUc0Rkh3bExFQzVBellWVHpMUEE2QWM5bFZmOGQ1NUlISzRDRFA1Z0dVaElXTkFzcFRaVjFBNUY2MzFIaENTcVpNZTExaFc2WnYxWVZSUjJxbERaWmJvNEhZZUpHNThOSDQ4MFZINmEvZFB0U21BNis5a2VuQW04a1RDSE5hcldVSGtCZlVhSXl5d2FHU2N2OTgvRE52eXhQNHA4MElmT1NqOGJCUXZzOS9SMmtSNkRLTS9EZ29qNHMwTCtBSTE0R2ZqZFRkYjMvQk43M1V0ODNTNmpBd2RuU2xBTWZDTVc5Q2s2SG9pM0Q5R1pDaWtYbi8ybDNRTkllUHB4bDU1QmRxRjMvc3BIV1FqSFh0d3RadE92REJEejJNbjdvUlQ2QXlBa2Nnem1BdlI2aG1XQ0dqVjVHVjZ5bk5DTHo1eG96QWI2TTFnWHFRcTl0ZUc0M3VSUU16WEZ6R1VnU3RoSHBuK1daNHpmUXQ3ZTYzUC85Rkw3VWpvNndBeTBFanMxQWdHSTRTdzY5eGU2NHJsV3dyK0hlb0RVWjI4NE53cE1kQkNyNlN3dmNmZUJDcVkveFlReEJrYTlQMlBZR25QTG9aZ1orOEVTUHdwck1SV052MDFIWnMySDk2V3F6MUY1UlppclNaY1doeDNEOVBhZE9CV3pFQy8rUnNCRDcwU2JzUllOMmVBWFBCRWFCbGFpUkxYVDZJNjNYVjRIOHNjYkU5NXluNjcvamFzd2NBQmtjSHF3RzdHd1dlNStmWi8zN1Azd2dJQ3l0R1ErS0k3OEtVNktvQzQ0cnBiSEVtNUd1dHpOTVY1clMvR0FSdlovQUkwSUZnWHN0RFQza3FQdWpHak1EYWlFZmFqNmJFbDdOaW4vbTk5SFVkVUQvNjEzSHR2UHFrSDFqQlZpT3c1bnZUamV3Ty9PTm1CRDd5Z2ljdzE3K283MGRBQng3RUkvaTFCVC9yd0JydWZzZno5NjhDN3hYMlJiNHRNUlAwS1lMNDh6N3YzdDNxc0FpSENNcXRCa1Y4OHcvcDVZVndwRmlDWWVDdGpmaFNVSTliaW51bmxRRFF2UXh0bzczczI0eUpmK2ZoL1BTazgzUmdOUUp2K1lldndYLzhENytNOS9id3BqWUNQMHE3QTJ1NHBLUkE2amYwL2hJSXJlbkUvNERvNVQybGJSSGVtaEg0cUhLTGNDYXZFZmhWL2t0ZUJEQXpLdGZ4Z2NsOXpWYzNLbmUvOCt3QjJFTFJEZ0RwSCtqZ0JVQXJySFNJSnIyU0M2b1VCTnpqY3dYeFd3QmlZTlVSNk93RkJBRkt2SEk5OFowQTBOYWhKa1h1MzBTOGswcDRPNTJIend1RGp6NzdPZmpIUC9DM2I4SUl2TEg5UHNKVDg2dkVPQUEreDB0TVg0cTRtQjY5d2FkdVJrRHd4aDkvTlc0aC9LTUxua0FFdFdBR3lxTnB3S1VwUWdicERPaHlnUTVROTVFUUp1NSs1L08vNmFVUjRFakhhSHNqdyt1TEdDMVl1WlZVQ3E0ckY4OUhYTG1LZ3hpV1A0TTUwL2Q2Mjl3M0g1QUk5L1FUNWpheTFUd2FuZDN3dmY4VG5vQkhmKzl6OEk5dXlBaXNiWG1rdWVYZVI4bXpxdVM5NWNNa1QrcHYwNSs4UjcxdFRkNmdFZmdvV2hPSXdPbytEK01BSVUvU295THQxeEw4VmRwU3BrZWpkZmU3dnNiV0FOQkdkeHZoTGJNU1FDVVFRS2hNU0RBTmZKQ3BNSllMd3JvMEN0a294czloaW5Jd1JlQ2RnZzd5ZlRyQXV3TGRNQ2lWMjh1OC94TStCRSs3SVNQd2h0VVRPTXZra2ZZQ1VSN0pYYlptRUVpZWtGR3BQSit5UWNWZ3dFM210K1lKL01NZjNOZDZQdkdaenhqMC81SzdQK2p2aGJ6QWRlQS9jdnVQNG9Hbzc2RDR1OS81MWZzUGcvUUVLUXVOOFFqNzl6RFEyZGFjSWl5TzhFeHhPbklUUFJiU0lGanBmTnd4OEsyanNnY3g1RUZZNVpkRWN3ZDliR3ZZVHNTK2c3QWFnVS84OUxNUitQN2JNUUlyLzA5N3hqTndkTWluVkNTcGxXMEFmeXZIQnRyeVBkS013QnR1eEFpOHJuMko2Uk9mK2N6cE5PRFg4ZzlnSFp2MFE0b0RIaHY0N2UvdTA3N0dEZ0xaZVhxZE1Oam15YlJJdUgvRnBMbk9ORnJrNmNHQ0hMZXprdWRTcGF1WndTc0loa0FxdWhKSHFuSGtoKzg0d09NbDhHdDg5YTJ6Mm5odFJ1RHNDZnpEVy9JRTBCWUcxd1lVaDRTeWdvVitrWWtCS01wV1U0aTFYcjBoSS9CYU53TFBDTG9jOWE3K2V6QWprWGFnRHVnQVJ3YWtCajhtK2U0KzdhdlR5MEJVeUVaQ2ZuVTNmc0cza2Ria2h0dDJFUmtUVEJyRjgyK2JnbkRkU3lHQWVqU0tBQVhxRG1BUElyckJ6YjFqd0ZPK3NNdlF5bGxkSDlDTXdEKzRJU05nWUhUUHE2VlZDclNHSUt2SkdvM2x6MTRheTIwTlQ5c09DNTJOd0t0ZmpWc0lyejN6eVViZ1FVRy80TWdZOU1FbHkvS29UM0wvQ09iZ1o3NXkrYnZmL1ZVdmZtazU4bnJCYUQyR3JjRFE4TGFMZ0xIQncrcTlnSm8rQXppRE1kYkhwd0I5M3E1MWZVWVRWRDlJeUphZXZ5L2d0UXU1VDBZbjBWODlnVSs2SVNQdyt0ZnMzeGg4bW4xVVJPYmdINVFxdFozemxIOFNsWHE5M3hja0JhKy9FVS9ncDVvUitLUmtCSzRkNVZHV2licVBDM1NCS0hOY3JHdWtuNS9QQnVDOEMxQlYyTno2c0hlZmp0cmFWNFN1WWQ3aUl3UEZXM29HWlBJMDR2djgvVDkzMGRNYVFGNkZ6dE1HQkpyNWIwL2drVEZQSVFhRDJmSjl3QWQvQ0Q3NWJBUmVjeXRHNE5YMW1nQXJHMUQzNDFGK0lPbEI2OVB3WnVINW4wZWJFWGpkalJ1QlMzOGpIc1pSSDVpdnZ3Q2pyQ3U2WTVrNDcrYzZMTzd1ZDMvbHVndFF3Q3V2N2xZTktWWjdoejhwbnR0Ymg3T0ZsWHhGUWE5ZUEwRDNMRWpwc2xFWWFLamxZVG5RT2tKdWg0eEd3ZUkrOEd3RVB1blp6OEdyYjhRSXZLNmRHSHlhL1FMUlpHdlFub2QyQTFORnRyRGxiYlRaQ0t6aGFXMWg4SmFNd0JvK2hZekF6RkJXOHFzOFhoelFBQzZCZkc1Z2NGRE82cng3K2xmdTI0QURpTkpiZ0E1NFd1V3ZGS1VDZElpekY0OXl3eVFLd3dVaUtCWVI2N3I2aW43M0VBUmtCTEpRaEFWV0szaDRFWW1BajJRUWhQajl3UE4wNEpPZi9abTNZd1MyRTROeUJ1TXp1eXlrRHdhckk3aWU4c3hLbXQrZnFOelR1RDJMOGxOalQ3dEJUMkFOWmdUV0lEZ0cvNExKZEJmWEdaQUt4UFA3dWg0VTE3dW4vOW16QVdodXRNMTlVYzN6ODZFYWIxZ2NzZDNObmg3bWlZZUlnS2c4UVlra1BqTjlvWWJHaGIvb3ZRQzJ1SWYyK1RDNGw1Q1BDRHN2Y3FFelpESVNTcjkrd0dZRW5vTWZ2eGxQNE5YNDBJY2Z4a2R2SitCeVgzY1Q2Wi9Ma2p3aHc1Nk9QRTFEU3hsbHlFWmg5UVIrNmVkL0htLzVwLzhNdHhCK2tvekFiR0FDVEtlRjdtUGFVVGtVY1VmM3ZSZmtFUFNodmhmOTlIL1lOL01jUkxGd0w3Q3Y2SU1PZS9Bb1BWUWdOWVBaYStDNmd4Q2tXRE9Ra1haY1VLUThnUzk3OWJndFVpWWVKTkhOZENBamIwSU5OdGQ1aTJjNW5tOSs3bzJ2eHdzKys5bG41WDRQYmlHODZMdGZodC8veC82b3Q2ZHQ2SFI5YURkNmdZNVNtU0Z2MHg5dHN1TDAvK2JMdmh4LzczdStGN2NTL3ZMLyt2MTQxdWQrem5ZL0FxMERYMUs1WmNpTENlNVEwc2psRjBxZDVTMXB2bmcxQUthOG5LRzU2bEE2QmFkN3oyV3dCcVpiajRaUldhSXdBaU1GK0FjRFFBRGYwelFBZkptQW4rOHh1UmZtdThYbmVXbzJFSncvME9KeTVsbXNSdUJOcjhmei84RHRHSUVYLy9XWDRiTys5STl1OTVxQW1nMkJoVVBBVjBFaStOblEvTVViTWdMdisvakg0eFgvNTgvaS9jN1hOZXc2VjRQeEVwaVA4blBhQU9JRFEzTkViL2VvZVlXZi92WjV2dmI1L3BaUGZlWGZkZ2U0QjRjMUFzNXozNjYyYzJCNU9aK1ZRNjlqcHlzeHo3MjB1SFlBYVRWU3V2OEVXTmk1U1BmU2hyU2NSMmE4ZzU1QjlhYzgvQXlWem0rVHkwZCt3aVA0U3ovOEt2eW14ejBldHhEK3doL2ZBWmdYZjRPclMrMEhYUUdhcW1sY3Y4bHJPVnRlM3UxcGZ5OStlVGRBNyszaEY5L3pIdnpRMy9qZTFvYmplWDROWHBUNUdhUlZmQy9UNjh1aHpoL0RJdmNHcVBVS3Z6cjQ3cnRpZzVTY2didm1XUktnd1NDN2x5R055MXJjY2grVmF3ZTBSTERSZFdIQU5YQ3ZmM2RNdysrTkI0a0dBdEtWTlJpTDhYNHdMS0F5YUFZSkVTUm1sRllqOEpkdnlBajgrYk1SK0pIdi9kNGRsTWtvVjhwcUp5c1g3aC8ydGl4Zml3Z0x2WnpXcnQ5MFEwYmdKN2J0UVNubGNnUnlYTGl2UElQNE54b2JMcHZCejhGb24vTG81Z1VNTkVMUFhxWDJ4VUxwUDdJeFZ0QmV1ZDN5N1RTc21qRGYxdjdzbzBsamUyYkZqZ1RaaFVDVXBMZXhmODlBZHgvWGVCSDBVUTM3K2plWDYrM2FLNURtR3kvVWhuQTFSaG9ZUHVwc0JQN0tENzBLLysyZitmTEwwd0hCZi9idzNkLzZMV2ZYOW5GNCtoLzhISmVCdGRWa3BxbWRIaVJHV1o0MS85MzU3NTdrb2xTY0ZmY2xmK05sMi9WSDNzdW5BLy9YMjkvdTkwZjZPRXVYSzhxTytpNWxYa3llT1k0TnkybnZXTzBadWFOYjE0d05rVDRTa0pFQUlsajRQSUgxc25ld2RxNnF4cG5DT0U4RUtnTnIzNjBndmlsZUE2Q3RYUXJ3cnhKNVdmc1E2WTVnTHJmSGFxUGRRRzhnTU1DM05vVUZ3UmJIL0gzMDJRaTg3TlUvdWRPbEhoZCtwdnN1QncwWmlKV2l4NVZBS1NHUHBySks5VnQ2cERVKzNvUEFMMFVoSlVBTE05eWJzR2pub1ZSODJkM3JuM245NjNFTElYc3p3ZkFCVTFBRDF4bUNqaEVwYVZUUHpCZUt0RFdjZUY2Yk13YVFaUVpaK1NkNUpPZHRORDJQY3ZwT0tLelNhK1FwTEFwcVlRaEFvd2h0WjI2anpIM0xTNk8va0RqdEc0Vys4Q2w1UGljQnpNTm9UNERuOXJJMkRMSUE0c0phNDEwVHpkMEE5dnExa0xGNm1sSitSV1hFdlI3VVNvVEUxK1lvbWF6UjI3bFlGYTFOeEdib1p5Ykloa0VweWV0dkdYN3BEUDQvL1h1ZWpaOSszWHUvQWZqd2h4L2VycFgrQXpnRTZVeitjb0ZHbFRlSDVhQ00zUWNETUZTZVJuY253RXF0NFhGZzNvdVRKNUMzRFhldlFGTlpBMStQenk0aWovYVd5ZWIxUmhkVXA4OWhaYWZ2STNNdVI4YkRTVXRzcjhWbEE1cW5ES0ZOWEYvamkwRTBlQldLNGJWYUxlSkFIa3czSU0yWWtRdzhQeGtZQmZITGdFWnZyOGxTbWVkMkg0eGU0aW5yRGhzY3ZqZVB3dXI3aFRQNC8rU3piZ1A4YTNqMjUzek9JZGhrRXBmVCtIbU1rNnZLNDRwbmpqdFZpenFoRUk5dW9NNUZWNlpjYmxkZ2NRSk8rMzZTMyt0cHpRemJqUWJVYkNESUJRWElLNURnbGdiZzhacEUwZFlsQWJwN0VkcVZsbVN4RUhDNnNSRnZNNGllR1N0bG9LTWJCQXVTRFNRWkE2NG5BemVzZHlnSkFMMmZPR2lpcnlRck5SbElON29PZmlwTDFZZSt5Sld3bnJBUldjT3FFbmRFNjVkdURQd2Y5dkREZU80Zis5SkRJRjY2NXJncS9sTDVxaXlLOUp6dnRDaktpc3dWajNOaGxHRDNjcTJURjNRdHNubDFHQ2xKd1hxZDBnRUZlNnRRVzFuQmVIeTQ5aGk0RGE1OGJWakx2MzBBcllXMkdITU9mdHZUMThFek1CbDFaZCtSRU1BTEhhWVBrb3lIZ1dwcDdFcVNhUk5MYnhzUTFoNUFSbkkzbmtJVGZHVjcwSWxvWEtsSDZrdE54bWpqVDNiUU1oK2N6bVM0ckNaallQbnUwT1cwenZtLzRvYkF2NFlYL2FYL3ZnUWlYKzErQm5KTTRsbXZIOFNZSE5ITDRRU3RtSk1JVkhKTklTT3hXRjRvWHZxcU1UQzZ6QXdLOU1STmNlN1ZqK25DZ2RlTjBnNW9ET3NFY1ZHdmN5UStGMDVEWHVCRGV2czhYZHlJbUZGQ1Q0b2p0bmsrbWp1bW5VTE1vMzIvRGQ2RUZIUkRwV1lnVllNUmNLL0x3Yll2WHZJVmJxQTBqdVE2QWpZYmhWYWxiK1VGRHdDRnNtVjlTVWFJdlkxZi9MZnZ3Wjg0Zy85ZjNzaWkzeHIrN0V0ZmdrOXZwd0RYVUlGUkhrTmFoYVhyOG85NWM4anhwN3hLUHJVbzVzb3ltRU5lQ1VwckxxbjYvZTcvMnZmMXJGdzNPRDNlUjZia1JRUyszSEJrV3ExK1c4eWpRdEtlYldRYmpONkVKazlqRE15aHZXN1UyRGowVWRqbStjTnVBYldYRnhFZHFNck1nMGI2eGtrek5pcmF2UzR5QWtLTlg2aFZTZ2JValpVZ3lBWTg3U0UyZ0FoOGxoUExkU3NYQ01SbU5CRnQ5emJ5M3hMNHYvSU0vai83a20rZTRtVUd5bXRCL0tBanYwenF1UlIzQ3FNVmpTS0tFVlNDdWlIN240MndkYVVkWUx6eWpqNmF0MW9kN0tSTUMrL1ZKMjlrTXpDbXlFNFBmVVFVQlU5ekZMUkcwTXJ3M0o5cGQ0QUw0WENma2loaWZiYXc2SFAxMXM2K29pOCsxTVlkQkduNXFYNTAvOFduQjJ4QXZDMW9lY1FSSjRWbmcwbFowY1lmTUk3T1NRR0RoK0FFRUFvenFYaGV3UHlOWHIrUldPZjhmL3dNL3JmZEdQaS9rc0MvaGdxSTlueVViOFNMSE9ZZDh4L1hoK0o1RGFaWEp4OU4wQkVWS2c2aityd1N6cytIT3ppL0ZIbmpTRXdqdlczTFdlWUUwRXh6R2NEWTZMc1NXcHIyS1FlMVBJQVFuUTdJRlRaSk9mRFQ2TVpsbUZjK0cyRDc4c1BjM2cxTWJFZndGcGcvNlh2cFd4N09rZ0RQVXpBcVhvWWxKYkFId0NOM0pCQUxTVUdnY21mWGtmL0xieEQ4WDNVR3Y0VVprSFBjR25pdHg5SlpOUWFqK3dEMGorTHlQZlBSVHdJR1NCQ0RPaFl5UUJpd2N2bUJCbERPMTBlMTRIbzFjTzBMY1dZMDFvZDdwRGx3SzB5N0RhQnhxWU5UWENranVFZGVLNW40VlRvWUdJeFZlOTF3Q1lFVUNKNEVqNnh1MkFCVWsyMnVGMWtHVkNiMFNlS0g4Nkh4d1NmN3dsU0plSy82ekhtYnhVdU1XcmY2dnV4Wno3b3A4SDlWRy9uWDREaG9vUUlncDhrMGoxeTFYeThGelV0bFpuRjhmK0pSejF5MzRBSlRvWHkrT0x1dHVlTHNqdHB2MWx1T1hlRnBsWDJQUlhDVFllQlFLb1Bva2pLWWRDWnM2WGxsTkNoYm1nRUxuYTRiT1VGd3FYZUsvVWkwZzVFRHk4VTlnRzVNTjNrelFJaCs2Q3g2c0Q3eUIrYVplWlBSUytjMVFndGhXeThaa0dydEluc1dTZ1lpaDdRbTZWbldrZitQM1NENHZ5cTUvUmJ5eUc3aENMaGQxK3MwRkdVcm1wZnF3Q1RON2srMnAyT1dQaWhzR3kxOU5LWldSa0l5ZC9rSmtBRlE2TnQ3ZStocU11UjFVS2l2MVB1b09lR0orY2pQZlJFdDhzajU3RWJNcW5BN1pPZFMrSmh0QWtkb0F4dlVCcW9sQWNmYmlYbUgraUVna2swMTZqTS8yUWh6T1paYnBVak9XMEdqOGpBeXo4cmVXb3Rid2YrbE53aityeWEzZncyWFFHZnl6SWFoQXY2Q01VaWlwVVVjSnVVZUpQNFVPcmxrUWp1VHJLeWd4dGdJMkZKOVB4b1lEWXVWZ1U3c0h6MGFtVTJSK3FKYW1IOXpQblFnNVVXOUxQZ2RCRzBFNXp3RGVQcWFnVkJGb2RNYUw1cnJ6K0Mzc2hMbDdhY0JnY0w0dVAySjRDL2lNajhnZzhOckR1NTlhSitDZU5Ia0tWVHVxUlp0VDkzUSs1eGtzNEwvajk0WStMK2E1dnd6OEkwQTd5SEs3MURqRDhFdHY0cjc2dGtDSFFRU1pDYjREMG1SL1hRWU12TWF5MnZYZHFOajIxTXEvVTFDTXphVjhPTHB2VzQ4ZHZyZERlVVZjMVBLYXY3cGYwM1RBMWlSQlduQVY4clRlR2grZHBpS1VMMURoeFk4YlpTb25DVHdSdU82QjZXNDRZVWNSbWsyWnBRY3ZBMXVBOUdTeXFoMHNyMWRKTy9LU0t4MS8rTFA3K0IvNjQyQi82dUxCVDhPM0dZcDArU3dEQ2IzRmEwSFNaL1ZsZU5QMEY0c040WTdNNndOSUE3QWVVRXVLT3U1MEoxV0xBRGp1d2EwSFppbUMvdUR0SHBvTkJiNE8raWs4NTEvVjJnSlFJekRXRGNrL29reHBlRVRHT2YrMXIzU3B5d3hUd1RJNGNLaUhPU1gwU2hJNGxlVEViSXVsZVFCQk5xakNMb3hhanpsZENUK1ptbkJHTWkrNFBlOEd3WC9KYURXOTd0MGo3YjBMdEdabGJzbUQ4ZG4rbXk0MS90K0RpQlorRXpFSytIUkZaM1NwbFRwak9pdXFGMkRuUTZQbEVCNENjYkxFbUJXTmVkMzdxWDVyZnVYZ0RxRFlSdFF1NXZMMmlyNWo4dTNPdmFMK0xrSVFheG5kem02Y2JERk1LYlBGWEk5a3NBYWVnT2QvK3dCaE1WSnhMaThXSmZYRWhiaU1SZ1p4UHJETkNHQm5KV0hyMENhamFVeXYvQnYzNE0vOHV6YkF2L1hURWIrakl2NmZzdzk2TVFWdEdicHM3aEx6eGJ5Z3VYSlhmRG01VnBwU1FwZ1hnQUE1SDNxb2NhZ1hMdm1zWElOamRRb0pFa0UrN0ZWU2E1dHkybEhZalBZQUgvNXBoSXNLQzRZQXhEL0xXNDFDTHpyNGVzSERsU044ejB5UWxiR3B5czB5dWIyVDhGUGVjRjVrdHdVR05ZL1hDNklVeVFteTIxbG1kakNveWRwNGhHSkJ6SlVxOXYvWDkwbytLOEJZZzM4bUhZSjNBOWFoaUdIaXp5TlFWUDh5VWR0S2lSazJzTzJsTlQ1QXBCZDJUS014M29BbEs2emxlNDZMK0VESlpadi8waUhlTjA5bVVyYU5FT0lYd0xGSU5FaGRBTm1Gb1YvQXExM2pEaHg2WTdCSHNWQVpDK0cwOUVCeG13Wmp4S01UNmZCdXdxOGgxOHFBb001RzVmY2wrajFoSkZmU0Z6VTMyNG9XOXk2NFBjbHYvZjJ3UDgxRGZ4Qi9pa01mVjdrUHdMbVVieE1ya2Q1S2xyWDFuLzRRWkR0WHNkSzh3amlDM01xZldSc2J2UDRna3BVR0s0ek4weVRJZURGUUZpOTJrcEltbk8xdXQyQThZaTFaNmNwUW93UGJTVTBoVzA0UzVjTUl1bEdRTHE4d2x5Y1BSU1dSWXJQSHBkV2hvU3J4akh3QVl6OVVBUmlwZE9SR00vazJGTlo0OS85OXJkdjRILzNPOTZCV3duUGIrQmZRd1d3Q3ZRNXoydzdMK2ZqdE1kaUtJNk1obDZaMSs2SE5ZRER4bXU4NzBwaG94Ni9wU1oxSTZ6Yyt0Y1dEdjBVSGFLQjJCV2Ntc1NqVnFLMWZXU3U0RjhRcFhQVXZ1d0M3emV0UFlpenUySDZvejI3OERjQlVqMXVORnA5OW1hZEpOYzY3MHhBNnJVU05pb0xFdi9FVStoZk5vYXA2Ym1OUE5xSGhpRFNzdVIzditNMndmLzh0TSsvaHFnak5mQkhMVDhHcE1VZmxadmRYeklpTTQ4RkV4N1cvUDBnRUJEYzBqeEtaR0VJT21wM1pXR1F5T0FlWnVYT2U5d3lHS0JPS3d1TWxkWDQ1bTlnaEE1UWxMOTV4eU1zVUhUS2xvazVBQUd5eFZ0YnJJaUExa2VhRWVBMlUvMTVlaFhrQTBSakpSM28rUk5jMXBnOFQzZCtMUzVwZ01uRzIxNmtWeHFWZHhCTS91djEzZSs4UGZCL2JRTi85SGhrbWwvU3RZcFh6SEF6ajhOampEdWlyd2RsamNkVGZ6dFBlK2FzMklGSXJFYkNYY3dmbERIVmJPNjN5c2k0VU41c1JBSXZUZHBtUUNSTEh6V0lLb1BFOVBiNjRzSmxEc3dIZS9CZXB4a1FtZzR3cURtZnlkcmZKY2dFWWZ4S2tJR3cvTGEyOUhmLzE3VVIvd2FBUmw3N1IwQzB6L0ViYmFVM0w4MUlhcnF2UEloMTVQK2lUNzlOOFBlekpYVnZSLzJ2MDJhZ3gwRThKdmtxMmxXZUtyOGVwSE1lU3p2bFQyMXQ5OW9QOTNiajBKVDVnUEIwNTJDTnV5OEFqQWp1N1hhN1R6WDA2b2VwU3RXeWFsMmpDcXpVa1E4cHBlbEdNZkNLY211djg5QWV5UEFkR1lTZGZqcXprR1RBUE1RZGdtYUtSVnlPeDhvb0Vjd20rMGFUMy83Y1JkL1dlWXlmMW9CYkJmL1h2dVFsL3N4VHZCemtJRzRHN2t0QW5hVTlTSjVMb1NxWHhzZDFEU0MveGFjcG03b1JrR0pVREMrbWxCVzIvWG9mNHF3ZW80bXdVQWVSY29RSmdrNUdJT3dpMktnb0dBN0lXSGtlL2NOTGg4U2oyd0dycTcxaHFKV0I0Zm9EbU95K1o3RDY4eTdBbmlhUlYrSXZUQjhRN04xb0ZEWEpSUkM5aFVrZXB1dXZGNGQyamFyOHI4L2cvOEliQS84TEV2Z3RKRkdVNmRVOVB3ZlpIWlM1Vk1jMVJpZW42WVU4Vlh4N0hUaDZBZW9mNVJUWVYzeThxQTFtL1hFQVp3ZWRHWXlkUFR2cWF4Q0xwa2M3NEtyQVNtcXQxYnJsRlEzT21nMU1QeXNneFpaa3ArdEdMZ0dMRGRId09xM3hCRnMzSVpJbW04SVloS3dTR3hIa25MU01EU0MzWTZZWXdTQzBNa3RweEJBVys5Ym9kNTNCLzRjLzQvYkEvNElDL0JaWVZzQWNTSmprbVgySC94TE5hNEQvV01wZW9yTnZBOUxiY1Q0cWI3ZDIyRVVHUXBKR2pVQllRU3Y0S1krdlpOR2NpMTFQSUl4MlVwbmtJazdTbjlFSm83VWtlbXdvV3YwRGFRWjV1bWNRTXVBcytGemIwOXZSNGNLQ3lzQVB0U1BWNmNVTER5Y1lpSUlPODYxVVB6RFdwMGlHay9LODI4SC9kdHhLbUlIL0V1ZzRUaDh3LzdWNUN2VVp5c2dEcE0xQ1Z2OXRGeUNPQWdJekNxeVVXWm0yeDZ4MG9MeDB6NDIwNllCb0xPU3I5VW56Mk9YR1FSM2NCSThqY00wNkxwUXZBSTZqdG5COUJLeFFUd0tkK2VGOFdDalR6SWlUekNjd2pNNE00dncxMy94Y3RXVWprVkErNUdteWVlZDV0ZjhMYmd6OFg5ZmMvZ3B3aFJoRG1PbnpMSitpMEEvTWFlSkNua3RsWi94d2VzWEhlbi9LN202ZTM3SlNWb3RyTTVjNXJxeHFBUXJ0b3hUaWh6N0N6a0RMSXpUNlZRb0t5dStnS1hoYkg4T0hUUXlVL0V6MVpyVUlGclRKWkROYzl6dmhheGNnUFk5Z01LU2F2WUpzRUpxTXNzZGtERlpnSCtxbGhvU3BTdGJpWkZ6ZWRhUGdmMEVEZnphNEhCaTBHU2lYUWhZYkR1cVlwVjFLdi9SOEZHU1NQNXdFMUtLUWg5bFFuRWE5d1FpRUViRFgwZ1VsUTZPem0yS3pCbnRUYjh1bmdZWE9Qd01uc3RuTEsrTkpCbDBucklVVS8vcXV0VHZ4Mkd4YVBCRW1pTnQ2WE1odWlXZjJLSGp2bjA4Z0t0SGl0ZzRMbnEyc3RXSlk4RXZHMHFZRVBEdHhDZWdPL3M5L3p1MkIvK3ZDYWovS2V4VHhSNWhRekExSVJlL0k4QURYODhaMTY0VjhGYSthMG9xdkF2Y013cVEyUlE0eEhUckY5L3VZMmY1WmNCMjRtZ2tNR0FVeTdKTVg1UnhJVXBRdjZHLzhHZDFXTms3UGU4UytFOUE4bHdYYllxbDkzRU9vb2lTT2dVY1BETTZVbUExZTRJdU5ycVkySlJwQnhzRVlSeG1VeWt2ZHV5NzRmZjVuM2hiNFg1akF6NkVDeHl5UDNXdVJkZzBBcjgyUFNaN0hTb2Y3dGRML05aenlzVnJvbklIeHl6TGlYd0VDMkNqRXNtRnZQNHhjMmtkUFRBSnpiZ3JacklFMDRuTEFvd1hOUUNXZVF6N2paN3RSdHpwQmVDc1A5d0xlVzh2Q2pyWEV0ampZSlZZY1FNeG1uZ2tsajAxUy9GRGU0cEl4a0J5ZlBBT212WUYvSGZuUEhzQ3RoQXI4aGFnR2NIQjhIclVyWGFuQ3RQOFA4bVgrU3IzRVpZTlZnZnlvVEZnRWxKS3BEdHk4L2NhLzF0dWxrZkpIWXQzUFJOc0diSEhPSk5FeURCcm9iY1NMUUJQMFVWZURLejUwaEpBeElrQm9BbDkzbThsY0dCK3dTUVA2bTRqQTRBVjRBNEE0ZTJJamdBaFd0em1JTXBVa2svRG1uOGxaSnYyWGdNLzl5Rk9HdklWcCtkLzE5amJ5M3lENGo0QnlCQkFUOTRMamNHbS9YeS9VWDNrVWZDOUZYVWRCaTN1NWtCWi9IWmhIQWM5TVoveFpRUWhrckRqZUNGSW9GN2lQTnVLTUxFVXJKTkV4b3lPRXNNclMyZE4yRkphanNwZVRRaFpTTUVUbmhxcXYzR3Nrb29IdFFLdXNSSXY3VkI4Yk9rZ0VlWDRmQU96dEpHM0xoNTFVeG41QU1nNjVEOTk1QnYvbi9iN2JBLzhMMDV3L0F6SDMwZEZiZkptT0hPU1ZDelE0VGkva3U3YnVXWDZ1UTFJYzB6a05pMmtKek1NQlNaTG9NSXBSbGx5VFBVcFd4c3lrS1c0cVdMckZMWDgxNTc1V1lFb2phQUMwajVUTjJvRUl0Z3J0SjdhV2tFWTBwTGVaMjViNTgrbUp5VnlUVEJQb2tmS1hRTlplVHJKTUJmTjNKOXJ6Tzk5eGUrRC8rZ2IrUWtWQ09OS0xyR2FwRzBvN2ZnMkFqNTZQOGw4eGZnMzVabm1ydU5QZ1pwSlNsWlVsQStHVUFYS1RSNEJqd2tuK0NtMm1NWUpHSXI4VmFaRzBqV2V1c3dSdkl0TXYzVzRoUU8wcC9UQVBaRmhwQjlIazU3Q29SKzJ2TmxhODJBemdxWjh5ajByMTVDMUNwak16RHV2SS85emZmM3ZnLy9waTVMOEVOZzVTWEMrQjZKSXhlWkM2anp5VlM3UjBjbjhVdDRhVGE4czluOHlqajNvUUIyRTdxeGgxS3VEbmtad3pCejNta1pqS2NKVUxKWmFkeThiQ0ZidTlIVWRsd2g0Nkd5UE1PcndkYWJZZkZ6VWpoQ1FiUkVGdzJ5V25aVU5hZUE3ZWZuck9lL3grejBZbFBlZjZzM0ZsSTdHTi9EY08vaTBrV2VYdXlVR0s1eU12NGtIRE5RWkpIakQrVW4zQVhLY3RuRGIxdnFjaXBuRnRoQXZLcmNsSzZvVkdzVVdZbUtCcUpOYzhjalVlTmlOQTRBcWpGOThQMVJjL1hKSjdwUEltcU40TWZKbmtEWEVZdC9KbXZTRVp2Q2hrVTVUMVpxUzhaVm55ZkpUNE1jOXJQZUgzZVovMXJHMi8vMWJDTjZ4dS96ZS94SjlkMUVubVc1dXpZYVpRQVZUUzlWS1FDelNQQUg3Sk9GeGI5NndOb0hTdTgyUnZ1WkdXZTBiNzVMUWJBY1hvWnVhS05kWnN5aVY1OUJrSzl1ZTBZMGlOT1kvbHpiMEhDa01SOGg1V0FSUmxqMFpKSUlLcWVyTXV5ekZnTUJ1SXFtY1lwTlhvbjRvYWYwTGxtYWM4alZGT1EyelBDdnJQK3dNM0J2N3pxUC8xQnY3VXlVSFcxSDlIWUxzRXdDQkQxSURIaFR5WWxKblJ1amJvUWZ6TU1LM2h0SUZJajVVc0t5NC9sdzJnUE1FeUZSTGk3OXhsSXhRQUpsS0NjZ2htUE1JUGhQYjIrY0tjakh4a2J3SmNIekE5NEdQR0VrUzM1SE93UXBpMktld0dVTm5ocURNd25IMG9welU2OW9XUlh0Mzk1OTRnK05lL29EcmNiZ003RzJKTmVwakNKWUJ6WGJNZnhwa1pseHdlaXdHNmhxWVdjZm1adjk1L0VxVzVmd0hRelVWazVWRVM0RDB1Y2gwRUVoNkU4dWhJWHpHYzVxdUo5amd0UUdLTGI1VVhNT3MwVnhMeUJHWnJGTllVVTBDZk50Qm9EcDJMYWVxcVk2UnR6MndZR01nWkJCbjBiQkN0MEx2ZmRRYi9aOThnK05lUm45bzZUTE5JUGtqZVVCVnljZ1dGWlNSZkF1eFNtSlc1MW5qTXdtUWNIZUtDQnhCZWhPSFJ4UW9ueFJzTzJTU1RJODNFVkZ0OWdVdDZsclJVSFpSVjU4SU9KQk9Rek9KdmgyWWtnblBLVGdaamFGZ3ZvQ2wvQUt1TzdXWkRwc2s3Y042QmNiUlBWVnQ1VUJrMm1CNWYwQW1lUUl2ZlJ2NFYvR2NqY0N2QndLOUpSbG12Qm5tblFhSHlBcEphVGtmcGF2QzRCcndWMExPNlBRaTlLbWk2NXJqY3huQU9vSnFudTRMYUYzR0E4bzFCSk1ZWnZHWTR0ZzdZTWtuTHIzMEk4NHl5ZlpkT0FxSElmV1haY2dqRkpxYmRQZ1RDQW9GZ1dORVBuWko2anRPOFNCcDFnakl1ZEU4Z3RzS2NseG1UN01aTWpFVzRwem9reGErZ2YrNGZmTmJtQWR4SzhKRWZvODV0Z1dVS1Y2ZTRUYXZYQWJVYUI1TElCejR1aFZ5ZVZWd2ZnTTZ2Sm5DNzFycE80Wk5UZVRTM0sybDVIa1dDQUpoR1FnYVBRTEZBZTdTOGhySm1xdk5CblJJRE5QS0d1Z1RoOUZ3QW9pbEtBM3d3Sk15M29IenpFQVR5b1cxTVE5S29QY216aGtVTDNsTTdqSWw4WW5DOThLSXRFSC9SbWNNSy9zLzduTnNGUDh2ZUhpME1aeklRRFI5SERQcFNoQ3IrS1ArMU5ITDlTUGYvcVEyQjFSVi9GNkRWSENvbkxnUFlzNitpSTNGSkpBSk5uWXprQVhEZEVHU2FiaWNVNWJiaFlCQXFRS0VPRENMUGoyNG9xdWJ3RFN1aDFjMXl5dnc0bjRMQ1NGSlI0ajhteEhZQ21MNHh1YTMyZis1dHV2MGloVWVYd2hCTkE4Q1dMbGVVS2VJTzlYbFNQa01FQnpUejh6V0c0Qkw5YThKcEk4U0tsUmIySk5VbUZRZStsVWphYUZiYVlnalkrWjJEc2dGS282L0lDSDdnV0xJTGd0RUNJdWhLZXFuUmVlUVA3Vy84ZVJzYXNPOFNHd1A0eldpQlJKYnJTdlc0a1VqYUVWYTZDMDBLNndPeTcvTi8vZzJDL3h1L2VWL3QxMnRRVVFVdG9oVFQzWUFxNUZYL2E2cThaRERrd25PbWsvVlVyaXgzRk9McndPakFDc0FIcHZ2NDRlMjZMVTEyeGJ6WDJwQ2cyNG53Z3gyS1lYWWdGVDlGSTB0Z3Q0WEliSWpzYW0vVU1haE53ZXlMUVhrcmFSWjQ1UFVwQi9FKzJFV2hGZVZLcVdlbVBlY3QwdG5vT0IvU1B1YnhoMjUwd1EvVXgwVkg1TDVGdXJmblVPWUJqY2lEZ1AvWElqRC9WYmZudkJZdlJma2pGVHJaOS9wM0U5dFRLdDNMbzJRMkVnTmJQTkpCNDJvMWp2Vzg2a3kvVWdTL29NZUxid0cwYkNDRTV0cHJCTzFZZ0EyUkZPQlV1a2dIdUYwV0lIeDNJQnUwMERhTjhVaHg3TEtHZUtNNUdlVXJPVzV1L3grNnNUbi9ONmNGdndNRTZrRmNCUVRCWXdmME5XV2w0SUg1bXRrZXhSemtWUnpEdHNwVHBYTys5ZS9FeWxnSjJvQlN6Ylh6aXp4ZWNXNmxJWThOVEI2eFc3NmcyTGtscUsyZEVuLzJFMW1RRVdqaFRJQ0IzY29TbTF0Kzh5QlNQZDYrSW81cFFPbEhVU1p0WlRtaThjU2V3LzdWSVpRTGpkVjZRVGkxMmRJM3QvKzV0d24rckVkTE5xS1Q4bFVhLzNUYVl3Vy8xWDF0bmt2QXoyQTl5b3NpWFhIWm9GVDhjdjU5RVRBQjJ6T1pNaW5DcTYyY1o3cnZUVXJJWENoaWZaYk9qUklnanNhSXdKTE1hQUtCTUMyaXM5Q0ltVWRPSjZkVXpuaXU2c1RjU0ZsNWE2c0s0dnlWOHFHb2k0M1hralcyZUxaNnNwWFp3UDk1TndwK2pFMWxHUjZCTEN1OXlSSVRJNUJVNkZkbElLcWdrK3NzVDZHV0lkOGdGencyZnRad1lqUEJvNnNyRlRBcU45ME1wd2lwaGpESFRxMWhEOENTUzVCTDRvK2xNekVjVHBOSFN4MlZ4b3hDQmk3VHRRTDV3QTNUc2JJdWlnbGZ2UkpNWlpHbk54NkhCSFJFQTVRWER0OTVCdjBYZlA0Tmd2K2JYaEpFNVRjbVd4bEhRQURESUZTQko1ZGg4dFg5ZzRiSEFrdzU0S2ZTVitEWDFrQ2RURmw1THAwLzZobUZ1MWZmZ2RJL2tpWE1zSXlqZXlraGlRcWVrVlB0d1cvQUpUSkl5cy94REJvZS9hMzh2WTd1WWRodlIrUmRrOVhpRDV5NG9VcnRFUlFHZ2E5UzJvVStjbkYrNmNEUEsvK1c5ZDN2YnVBL1gyOGxyTUJmL3l5NDNoWEd1ZHIvNTVERTRwNGY5OEYvaXFBVFhoNmt2aU9EY0MwUE04K2hDb3UvREdUS3V3cktwS1drMlA0bjI5LzJVVXkxdnoxTjB6V00zQlNuMUttaDNIM01zejU3V3VQTkFjWDEzQmY1TGIyOStSQ09oSEw1UWxLV3BpbU8yd1RPVThUbmRuSVdJcHVMdWpHdWVOTkV4UExhL2RxK3Q3ejVkYmNKZm5MNzE4RGYyd3Y5Z091Q01oMk5nOUcxUkFTLytxQVBtSDROYTNxUW43MkZtZDV4K3ZERElMc2k3VTk1ZTgzaW5JakcwWEp3MjkxTDZLRE5SeldIWVpIeUgrNmhTOUdpN0NvRFlVcEJwRW9QUlluOVFMcDVSZmVhdmpXSWFGUzhQc3N5NmMzeVZXSW15M0lUREl1RW5vOW9yR2x2UG9QL0MvL3dzL0FMdi9BZTNFcjRrdWQ5cWIvUzYyMVRPbzZTUnZ2WjlsMGxsMHI4N2tYUjh3eDAxeHFiWDZzd2EwUHBHUmJsam1qT3dpbURnSVZ1aXVYZ2xtT0twckRWKy9xMjl4M1FkZ1U5Y1AxSUFrbEF1YXJIVWo3TkJveU1TSSt2RFdLZU1rd1hDK01qZUNSYUZvVFJ2djNBMFB4TlNNdW44V01qSy9pLzZBdHZEL3pmOGRkZkhyb3R5OVFFSFJadktUUHJneVE2UXpCanlvTVkvdE9IQ3NSWkovU0t0QXI0MTZyOUxKeGs1aC9RZlRpQ0NlSUdpTHNBbVJ0NjVwR1hEWXVQY3BTSDM5eVRWRjgxYWt1bElFbFo4azlwNWZabzhrQ1dWRzZudlg4UGNDamIvaGEyRE9nZ3J6b1ppVzhPMVRIbW5NYWUxT3IyZi9FWDNSNzR2LzI3WHg1bFdRemZHVHpaK0dyVmg1Z1lBSzNCZUJRNGZ3V1ZQREFWRURuMkxvdnlzL3AwRWxlRjNNNXNSQ3g5VVovSDl6L0poUlUrLzJhS0FhQVZoL1FjNXV6cjMzM3Z2R0YralE1MEpENDAweWE2ZWlIT25vYzVlbEYvakZPL0YxdnpTTUg1bFZUdmhUQmJOd0ZpV3l0NmE5dy8rU2MvZnBQZy80NHorRU1mMDRCaTBXN2MwZFBzWXhiWnVCNmhPb0R5U3ZSWGFweUxWcVNFL25SQ3QxSU56cTlGUGoyZ2wrOHYwZUg4eTVDcitBc1crSXI4WVRGdlZxYmdNQy9nYlk5VkhpdGV0UmhqSFRQd0tEQXN0bkZlTGVyTnZHVWVlR0Z3TUhxNWZScUtoanBEM2FqemZmLzNmdysrNUl0dmNPVC9ycGVQQ1lTeTRPWW5HV1V2Vk5zVk1UcVF2ZFpJYUJIUGc2Rk95bGdkVjZoNG9GT2x6WGdETHZPKy90MVA0cXZuTlN6WnZaS1VNei9ycEJVY0wrbDZyNTErNE83Q1ZWQnpyM3BjVGprL0Z6K1FTUFlNZ25ld1haVThFSWtqbFJKWnhhR2lhSkc0S2RETUlPUzgyc0gvZFYvM1piaWxzSTM4Wi9CUFIyR2FFdDJ6TEZqV0NkM1pXNlhzUnJKTTBDSmY1YzduZkRxU0tvR1c4K0FnRGhOYStRK282MkdlYzU2ak90YXdjTXgwUktNU1BCWFFTY3Z6S01iejlzeDFBRkJxWlJoMVcxS214U055cmtPUjZDRVpnbHltNEUyY0x3bEUxNmxBS0pka0ZPcm10cEtycTZuOWt1T1pGNks1Z3YrRkw3dzk4SzhqLzB3NVEvK3ZRZUoxT25oTG9WZEFDUkpJMGlPdUd6Z0U5WXkyRm5HelBMTlE4bHFFZTR5ODZVRjVQY2hyOUpZNHFXcTNCelVOU3QrQ0VCZzl6c2lZSVNDQU1OZnVNUlEwS3FOZ1BHaHFMY2NybGMrR3dHNURlMUFZaDNzdXE0TlhFTXBGVm9LOE5Na3R0QThVbC9oUWxubUxYOEgvOVY5L1crRC80alA0djQzY2ZqbnFJeFJBa05pSFFmd1ZvbEhNcVNVOXQ3LzdWTlZRTjBwMVB3ejZBTStrYWxNQTQrQmExWDAveVovLzFyQU1vMzY2SDZZRVNSSTgyZ2MzaWhSWUVuZGh1a0MwclVPRjZBN0FSOUdLZEpYTVArcThRN04xSkI5SFpJM1RCTWdBN0V4bllGZFJyZ0ZZeHgydEVuL1AzL2dyK0ladnVEM3dmL3Qzdm55N3o4cWVwNS94QnFVaHdHeWxQMlhPOUljc09yck1sOEIxS1dSYmxJRm9mY3hwV3RESThYcFFWelptZzA1ajNwNDEvblNZZ3hka1NGbGx0cTloVXRma3dWbFpjdWVjTHUxOThKSGR2RjNvcSt0V2YyNU15MnVncXQ3SmwxbmUxRjdlenNzZWpkSk1ZQ2xrWUxRdFQyNkR4aWIzL0pRZURHejcrNDV2K3haODIvbnZsc0lYL1pIenlQL1hYdDdibE1DcjlNQmd2Q1lrY2dkemhGaEFMK1MveGdnbzVzYmxHby9DcXIvVzRPVDZzcEdvYUZYNXBhQjNxbDc0bWRhdWhkQlpXUTNFbEJZQW04QVVERXdLb1FFeWdpYlhuZC9zTTdyYWlFblJscHdYekpORU1IZG1Fb2hsLzRncGtuRUxEV2tHS0J0SU5xYjVkd21ZeEhkOCs3ZmcyMjhNL0Y5OEJ2OWZiU08vaFJuSWZjMGtHWWdTWlNtdU9qQVYxSU9OOFdNTUZVVHUwL01NUGtmMHJvM25OTDFRenZpbzhsZjM4dGUrNHo3TEh2eWNjQldzTlN1OTMzTW5GdmVzK01KcEI3UXNYZEk5WDZ0OFhONit4aXRjdHFVdlZyLzBiUkVyYjNrWElmb2lucjZYMVY2ZlVGbCtCcVo1cWovTWFDeUovOFF6cEpBYnk2eUtuOGxVWWgreW5LMDkxcGRhOVFXVnk0WlVDcG9XbE5vWmpTMmxNNjFFbSttTUNwenFLWjZyS3pDT3J0Y0FQcGQ1MEhLUEpjK0R4Si9ra285eUlFQW1YTDIxWlhRRS9UbWtWOUxQOTdLUHFQazMzSWR2L2FjNnd3aVBtQ2QvUzgrU2ZKR1MrR0R2dzkxNUt3dGJTZDEvZ0pSQmxxYzR3eWsxSFdYQmlyWVVYZ1AvTW9WZzlIS1VhTE5CdGZZUG5oU29DM0o5RkIvYWhSaTBvQk40a1VJZUkvbnUxU1ZEd05kN0xReEZFZS9oQXZqNVdzVlh3RmNjQTB4d1BFcG5XcGRDMVZkYVBNL0t6dWpaL2FrcUtBWEhZVzZjODlKTk1DZ2FMcVU3YlFDWEJCUlc4QXFzRGlEUGpQRlQyYTNNOEVxeG9KeDZhSktvSkNEMGw1SDJYMDhlT3B6cU1WNEh3S1pSTEt4M2NMeDkxSFFad2RVclNkRVpmRWpHTDdJWURKdnpVSlZITklCWnNZVGtBMG5QWEZjMlNsd0hQUXlLTFVWZjVUd2dXVm94dlI1azE2VHBoZlFaWDVmb1Z2R3NWL2U0anA5THZGWnBwMEVqV2c3dmVCbzF0QUlHVTAwOWwrZG4xWUtYSE5GSlVhYk1iRkFDeUN5TkZLMVVSUHNPWWdFZ0s4OEd5TnF5REZ6dG1kZTdwVm1jNERGVS9GSVBTMEZ0WVNBSWhrVk5iNFBHRVRVWU51bWpoSDJXekdUblAweGlkYlMyWmZBejRKaytnSEwwbW9JMmFUVDNSYTZyTkZJU2daMTEwQUZYNkpiVnExWGJyZ2haRlhXU2ZpMjlUUFBJb0R4b0dxNG9Kd1dOVTVWVGl6aFdObTU1ZHNGWlVkaVFBS2t6ZFJ3SnlwZU9qSlFCbk90THZJQkd5d0EwOWVRcGZ3YjhCWWt1eG83T2RYQjVTVzBlTFJ6Y216SlpjRk1xTHlHSCt5cFBNaFNDQWx6SkVPYW1La2NnR2hJek9scklTQk1mZVNvUnZBYnJ3MWhWL0l5Y1JHQURveXp1Q2ZBOHBVTnFGNE9mNjZ2Q0lBZWt0aFUwOUFLdEtzODE1V2Y4WEVvL3lsdWxuN0o1Q0VCdkpSdzAxT0hlV2RaQmluTHU3QXBSY1NNMVlQMlpScHhnZEpBYW5oUmdhQU5HbXBsK25OT2puTE16K3k2T0pnZ2xlV2dvaU1FTHNQcXJ0UkR1cUNYRlZVcVljQjNTUXo4QllWU3ZsREliT1MrUHJnT2JqTFEyVWx1YmxwRm90WnN5MUVkNjRnWVNuUmxOaHNQeUdUR3RoSUM2clVRMjhNUFhTL0dZNUxON2ExdVc1NldRRGM3OUZmbnovV1Vqc0gvRjZ4NzBmWXZEdHdpQTRXQk95SWNPRW1NOHJ3Vkl6czlBYkFSeUE5eUFrSkhoZTZaZk5yN2x2OWVZSi9QZkQvclFzMFlhV2hUdGJUQkNnbEJGS3B2NXRqcnZGZW1BVVRGQ29yY0RpZDQ5OGU4SFRFaVRRakVabFNiTFZDbGVLeDVZQmtoOWFPMFY4TWVpb3VwUVBVaDFXdUIzQWZKNWpkUjlvKzVrdlVYa09iUXgvYUY0enVXUDhtbVJEeGZ1cmQvdUQ4b0R4M3pIUDIxNUZTTmYydXJiWThKQklCOEpXZEk4RWtxTXFyTE55dWRSWUJnVlhKdUl1R0tZNTRQclRuSFEwUXRaTWlzdFhsS1ZUbS94eThoemFyUExqZVJpSHNSQmsySWJtQjZpNWQ4KytKR1l0UDFuL2pMU1FQTUt1ZWY2Wmg2Smw1T2EzL0RjeWdadlRNWXllUXJBWGt5bDlCYXk1eEVhZ0dnUWpvS202eXl0R3JWblFMNVVWNDQ3b24rcDNubGRHdTZ6R2Fob25ySzFkSkFneXBFN2xUL05OZnpRUnFxSVhkQUJjZTJhNThMTW9PY2hXbHlIREE4SmNFYWJlUWZpWVI5d0FhcVBaT0pnSTk2SGhUbm8wRHptTWNqSTZCb3Q0dDhLYXVLSndXckdMZFJGUEZXcitRR2dvQVRCMUZVMnVSdXZrdnBpNXQ0ejY5NWU2Wkh1TEVuTkg5Tnh1bGtoWi9sU3RxUWVnMjdyaFBjajkxc245MGY1cXJSU1ZoZks3WG0wcEhjVVZ4bWVFd2dnQm1pMnlJUDBLTnBHb2hLNWdtTkRyQWlyejFzVTFWWFNUYU5hSHRHdGFxZEphYXp3SWxPV1Jpa200TG1za3BFWThpR0MycHVtRWFBbEtERStnL0pXNmFLamdXSzZmQTdnUHRGQzRpUFhsYmRIMlVCVzVUVlpIa2tneitYeUlhTFVCSy9UYVZEalJ5UGM5VmRSSy8wMTROVUx6NWZ5ei9MSXBQNDVIM3FSNXJYUFZWMCtCZERNSlZJSDVFNEZodEUwNTltQ2RQb1psSm5UWWVxUTh5YXRLM1c0UlI1TlpZWlJ2ZDB2RTk3NEpaME1LSURhanRvWWVSNUVzZkExSEtObWxpVXBEclhMUDJtK01kL0xjbGRrR1VYaUZDV2pMSjAva3d0bHFGejdBSDR5a2d2VEF1SUNxMFNRT3Awa3I2eGFsYmVwbUFQcVFaK3JOTGtpYnk2WERjOXhQVnFXdTFRSEVBMGVyaWhyNlNjR2NEWUNlUVg1U0pHeXF6MW14Z1N4bUo2OUg0QXZJNzF3K0ljS1pxQlc3UXdqQnVkakdlUXFrL0ViUmtVbHc0QkowTmhSdkNWWTVmVm1wVDZ5bnc2clJ2d2wxVlBSenYycXlXQVc0bzV0a0xoYW40MVVWc2JjeERWUG1OZHpPZWFCd1Y0QW45dmo3Qm5kd2xBRlhqR25sOE9ER0EwTDl5VWRwZnZhc0Z6TDJ6WEc1WWlXcndIa1BXMFdmTWt0Q0FEVWdyRDlSL2trdFRLZjJzdkd3R2l4TVFwOG1RSW1IZ2JRQTRQYkhid0VkTVhpRVFqVUJsWVdXU2l1a0FkSFpWdG5SSWI1T1lNZ3lYV29Yd2tJQ2ZSR3dBd1VVdjNHODdLa09LWXRPTnc2Yy9rdG5YZHJ5SDJselVjR0l2VmJrQ1hGYTlWT0NybEtwWHBuUnY4SVZON09SSGVXNXpLdG1QT1NJZEVyMCtxNkx1ZG5iazZsUUROWWMxeFNFSjZ2UzJHNXQyS2s1SmtPQTZjOEJKTUJqYWpRc3prOTE3RmNxTmVTN01hQXprR0lGNkI0UHlIUkNsTUhLcGRFR1VEaDhXUU1nNEZJUUJoQVJhT2VWUHdSOEppbktQQWVGZWg0SjZFOFlDT2NWMGFBRkZVTThYWmZuZSszZGw3YWtRaUIyanZMZXhSM0NYRDNCem1PWUQvMEg2NEhlNWJyZytUTjExUFovN09lUWlvTkJEZXJHdkhraUE3RzBYSTJkNWVDSGhzbUg1bG9sT2ZUWlVyOE9sbEpiYlpiS3NkOHpqb29HeVNqSzBpOHRQeCsySWg0NHVieXlKVkh5OWxPU043UlVHRG9FS2VkakNrWXpFeTBQV3RxRDVHOENFUk5EMXBZditrT2hIYjl5dDRXdjQ0clZhV3BuaG5RcW41RnlzY3UrLzR6ZUJXazV6UjBTaGZ6UWFqSUEyQnFMR1psTDlFOHNSS1kwZ2pueXRRWUZJbHJMY3BXN3EwcklvN3R6QkFLNVFuMVdyWUVFcW5JVUhzdDAwTEdKZ01hQlozUWdZcjZwRm94RWtwUjFwUjh2VjBRK2VjKzRkMkhMTWVwTE5jK1dLZ3VpNVp1Q0krVWNBQko0d1BFdDcxU1hTbW01UHFBWVJ1d1lQbmlUc2xNd1lOQmtUb1AwekJBTTdoem5uNnZjMzR4TjVDS1k5QnFXZGNZVnozUDhtVDlxR2h2dXdBK2NraFMrQXg2S1NvbGdFdkZRZEwyUEsvUDhieWJ3T0F3bXJ3YW5lc2JSamFnYnhkYW5nWUdEbElZcS96TUJrR1M4cHZDK2I1OEE3SXNrYThzSG11REgrNUp6NWJ1OHFFNEwwK0Vaa3BldHExZDd4SDd3ZVkxZ2tnMzg1WHBCRU1rTFcrUmVWaG9USEZoV3BHQWY5UyszRmJ1ZEFQMkpZRHJsVFhvdFB4bDBNK0FPa3ZuUEhvaFR3N1ZXNFE1M3lsWUJrMUtYbkdRcmtjdXZ0RkNSYXRvUWJWTnFJbE9WdmhaOWVyL1JKNkgzUWJPazhwdUFMWjJHZ25wdk5qSWQwOVhubUprQTVKWUNlM2pQTE8xaFVHVWpVYzJsSm9LYnVVRXRUZlRETlhzUlN2L2piNGs1R3dJRFBBOHJjbDhlMTVMazlINEFiVytCTDRFazhYWFhoc0RmV3REVTVwckFLNEg4WUxMZ09hNEkxclg1cjhXOU5jYW1zRUF6TTVLNTBJeU13S2NYMUVlblExYlo2eUFuR21DNUdGYmNJWWNtUml2VkFXUDJKdlNONUNIUlRxaTdTQWptaG1nbVIxN1pyNHRmWmovRi9mM2syYm12RERnU1VFdmdUMGJCa3VvNnZFc0ZIR3ZNWDlvVzB0akE4ajFab09id2ErWllMcFZwdGlVcVZiK2x0YVUyblFPWmQ0eFhFcTdGdEI0akhrRjE5RzZaQ2lPNk9SOHA0b0p6bEhnM0RNTFU3SWtqU0QzWkluNXRWQ29MWXFBbDcwTU5rVDVLQ3lLeHZHOXQwOEtHNVlibVFyekZJbnJHUUI1eGZPbStOYW1KSU5nbkJEREFHQ1NUZTVzMjZicjQ1N3NIekNWdVdJNldCRjF3T2xMM2U2WjBaOHQ3TjJqSFplMllWMzIwWHBtNkRUd3BxTXVwanpRVGlkN0tnOEMxQ245Szh0V1pTN1ZWWjhabU1kVnVtLzMxeHFFelFCVVFnMjVHdUF5Umx3aEJ1dlJpd0lGNEVieTBUQ2dWaW9iUFN6eVBvM2N6SUlaRXl0WFRsV01xV1hrY1FaeXhWaFhOaloySHdCRWlaSUtWcTc1MnJaRjZ6cDlJWEFtVkVHY0Vwd3IyT2hCRU45WG9PY2tiLy9NR1RQWk1pb2R5cWdNbG1Mc3gxR0diSjZpeklLSElGR1BjcWpTbUo5THI5Tld0R1p4bHd4QWJ1TmpBZTgxOURuY1A0WThuTy9FMW40MzNUMTEyTjhIcHFOZ1VJQTBRbkgrTUpJb0J0VE4xaDVjNFpGR25abjFhcFdvRktOK3NtUjVMbDBlVmNhWW5vMEZoMkZLc1FTMklsSDZZR2xvcHlSRFJ1V1h6RDhEdU5ITVJuTWJmZGRuLytCbTVJWnArRWpkeXZSKzE1aVhETTB3WFNOKzNSaW1ObW1TcDNsMUxGdldOVlBtY3MxRElqOGNkUlFxb0dYK3J3R2pFbytWZnN4b1hFdjdzY1RWZWJvSjlvTkFQQy8yakF5RTFMbG1yY0ZnWUlPQjBhSkxLcFBkeXl5MFlGeGtiTmpFVm5oK0hZdTUwdVZETitCeUJDRE5aUVhqTm1QS0ZBQ0lDQUkzZEJZbG1IcEF4bHUxRmVteVJWOERzTFlGb3lDeHJhaEFxblUvRHpJdHd1NVpSTDdYQXZla095WTNUWFYycGVqQS9oVVpEYlgxaTd2MHJkMDY2K0FVTGhtQW5KZUJPVE1nRmJqWlFPbmttbW5naXZoTCtTSXZYU2pWOXdCeStmS2pvRm1JNFZSYUlzWUd4QjVLQVBOSWdkNkJlVlZlQzYwelpSOVc4Q2svSzAzRDN6QTZLTjhMU3E5RnFBSFZpYlA4Ym9FM09MWFR5bWRCVkdjVVdMWU9DbUkrdThGY3hzQUZqS0RKSi80MkJkWFJRSEsvQ2xKRjlNanMzZFB6ZlVXajNYQStBTk90VnVhZERhWVdQT1MyYXNHejZVcVE3Wmh0b0p2ampxWVFsZnZOdEtTSW05V1REY3BSdmpGdEw4MXYvcy9hbSttY2tEcUVTMWkwS1kwZFZNbHV1aVRPRGJEVDgrZ0l4bjlQUzNVeW5hR2pxVXkxNHI4VWVhdGVueDBwRFNjS3VTNWdmQU95S28reHJWWEhjYnFObVA0eEVZRzd6QlZOLzJ4Wk1pNUttZk5vekFieVVEYUpQOHNUUUU0eW1wVUplcUNUdXFuZXdWaXdZZU8yV1RyeG5kdkcvV1hwSEhSeWZ4UTNTenNDYmRYL2VwQVhGL0x0OFZxVTFXblpJOXI5SUpBZ0Q3eWpnSUdweDZYcDJXL1NOWjhHNC95UzQxRHFwVmRZcmVpenNQT1dGREFIcHFSR2FVVkxSanJBQ0h3MlFsbW1uTi9ycFlvMEVYVWxKaUkrNnJZODl4UFpwU1lGZzFvZDZwbmxOOEdXYXk4YTB5ckRhTmtDT0pmSVQ4NDdZK29TMkVLY1VIMHlCNTVVWlRHdlI0Q0xSb1B6WGNxTGFSNHQ2ZUZDdlZYYVlKamI5WlMxd0hWdElvRktxYk9DWjNxY0tFVmRhUFhsNDZHaGJEWWdndkk0NlpFQ1pwQ1hkRUdqaVhTamdvUFJKb2RzWUJLbXg0NHNNdkhvNzRWbWxRRmhWTGIyYkVaVkF0bjV2cmhFMExQbndWZWVoeVBsMFlLdm1mZG01UVh4TUZEMkFsQzFzeUJsV2JnOVd6dG05S2pzRExpLzJ2ejN1TTY0YUJFN280ZXk3QkhkZUordi9rVWdGaXlQSmpRQVRFZFBKc2lnRlU0VXhDMGpTYU1yNVI5T2VpVUR3c3JKVzJFVjZMeDZHOFVFd1FOaFJRdzBOTmJGQUxFNnRRQkFyaGVvWmNabFFqbUpSbmkyNDhCZzVUTHJuMDhqTmdDc1AyT21BNzFGUmo2Wkw1Q01abjFkNVpzaURXTi9JN1ZyVm9kNFc0QThnakROKzdJeStGcE5kVEt6Q3ZjVG5tYUI4K1YraW0zU3N1eWx1R3Z5akhWZFIvZVVFZU9BMTdHanNqQnpadzlBTGthQkdRZ3FPcFluYk5NaEZsYWdQak5BYWRtdzVQcEI2Y0k4Uzh6RWRaVUxoS2pCTkNnellnajUyT0lXb1RRQ3Jaekp6VWRVMlJNMFY0VDR1bTAyb2t4YktrYUx0S3BkV3o0aUdGNTZTcytjSGd3dklzanQyUXlhOFd4OU4yekJKWDI5TkIybzdnTVBxTUZkNVgzUTd3QmNFL2VnTkNxOTVQdFRCWDRHZW9qbmNLQ2dzK2Vzc0RNYXJMQU9PdXRBbVJnQm9IeDVaN3VmaktvelZpb0ROV0gxR015VCtCbFlCc0xNZHdGT3RoV2hnN2tTaVhVUEh4SWxtamFDOGlLcWdYWEx3L1FPUUdTR2JQRGNZdE9nK2FGZDc4a1lKSEZncXE5RS96NjFKL053U2ZhWEFIZjBZdEZZNW5yd1gxdi8wYlBGWFVOanZaNE1GQ3pVU3VORFBnV3FOKzlDc1FxSVJLLzBDdVRBMEJRSVZDUWxtK1V4ZmdXMVVqR3RsTzVWUzR3RHhWWEdZNC9YNHE3VStVQ240b3V2QS9CVGZ4MnRUNVRiV3FsOGVCdFJva0ZHYXNkQWdtaVZIL1V3UTA2RVprYlRGNmRONXlaNm1ZMUNSY3ZyVHZseGtIK1AxNUNuRzVFakNCOEQ4TnIwYkRTUDBuSGxmUTRuVm00THZaRVlFa3dScmR5V3QraEVBMTArcjQ5Y24wd1U2YWdjQVhVQWtZemxGSFg3OGdnWjZFazBabFA2RWwvd0tXbEJpVWZ4MFduMlVsQjRiamV6ZHNtTUJsbUpJTk9WVnZyMUhqT09GVzBVSXpHWDh6akZjR0xSWEhKK1U5TDVLVUE3OUprWnZBTU5uaG1pSTlERktlTVJQR3JnNlJYNXN4N1AraG1ZOHo4RGY2WloxWTFKV240K2hWb3RVVkNHV2VNNGZSaEZHYlIwSFRxOXlEY1lnc0k2Y1BsQUs0RTJrSzhNaWZTbzhIb3Nhc1VKN01nY2pPdGZCRG9mMXhCbkpSdUU4QU1nUk5pTTZ2QktMdEtxY3dOMTllb3MwNi95aGJrMnlTNjg3aXh6b0lIeVEvcVZEWVY3SWtvOHBMb0Z0Vnc1WklNM0I0YVd4cUlLbFJFNU1pd3pXcGNPQ2wwQzhLVzZNazh6ZWtmUDlVbkFLakJBNkpsdmhjQTVlQVhFTGU4bEovMnNSNkU4aW1FY2FiWjdpVHp3ZTd0QmFKckFMR09kZW9HbmZBVXBjQzdMaWg5NTE1UlBvc3hTdmRhYzZuWGg4RUtVQVk5bzgyOGVEZ3RoQko2cTdSWS9LNVA1ekczTjlQSkxQb0VlbGRXaWpyNm9HR1dYK3pDUmRmRGwzWUtxUHpNTlVQa2NoeUpPcnNnN0t6dDdydkt2NGRKSFAyYmxMTzNFQU5xQ0ZEa2xKbzJLWEJmVklpNWIraTJmekdrRkdqTGdPb0lRa2FhbnIwcTExTHhwUWNjTTNDTHpNcFdDSDAwL3FubjVxQ2hhcEpsUjZPL05CWVdtb2w2SG9QUmc3RVFuZi9EVWpFZmdSY21vVWlYNTJMWFhoUWhZYnYvd1NtNUJGNmprTmxsb2s1cnZiTlF5OExjeTU0aGZVUXllM0d6Yjd3Zzh3TEdocWZMcEZYU3FNb0xMZk9rVmFmYWtwRkVubWVXV2ZzMFdGSWhBR0lMRWNsVkR3b0VkN1dVMmdFdmtJUnVCL0pXYVBBSmdRamZrUFFKM2k1dDliQ08zT1ZlM0s3bVdhVldkL0R5RzJQWFphT1VjKzYrKzdqenVYOE9oNWxwYk1wQzF5OXc4QlQ2Y1V5cTA3QUJkMC92bndDc3BhdmwxWkRaV1NtazhIZG5Bbnh2YmJxdGZOMUpFdzVoZDhQRERwa1ZadnEvYWZTbnZFVWhuTkM4QjlocTZIT0xoSTBYTmJ6ZXJwOWhWR0YwOUpwQkFGaFRhd0NwZEY0SmJlbVE0S0sxUzhGQU5TWkxuaTl0emNielVzMWY1TTdobHIwRGNnRWtZNWJJOGNvZHlQZHBMVHhXSm9hSUg2V1ZkRGhJa1JWWlhmcGFucGpLNTc0TGgyd0E2L3FnazJkUFd2MXFzekxjMnQ1TlUrWHNOZk5TWkQyS0ZPaVNaRXVZdjArdE4ySGt2ZU00aGYzaWwwdlZyd0cvUE14QkxvcWNYMG5NNE9ra295UHhxS0FjYzA3VndHZ2dtWU9iK0hmb2JHTUEvQUJ4RkkzUTBBb3FpYmpsKzl1b3BudHRTZGZETXlMbUNlZmsreXVWVGYwNS9wcXlpZzNFQVJvWE5jWlY4aC9UelAvY0wvU2dLRU54NnAxSElkRGhNUTIwSm13UEpXR2lpVjcyemtmTXlMN09wQUFwK3RESUtHRDIvTmQ2OEZhQ1c2UUFBbWFmUGdEd0xSNENlMVZIRkgvR2dVNXA2a2JiZ2N0M2hYWUJ5Yjk0VGU1NFNlSk1LY3A2Z25BUXFMZkpXcCs1TXVUTG9qZDZnZ0p3Mzh6R1UwK0lFb0xZcUpBQ2lvdE56ZC83ZEtLUzJCbG1nQUZDUngrTWtHVnBCK2Z1Ri9rQnh3WWh5ZnQxSGZsVDFKV1lFbzFFd28zcWYyeU8xRWNoZ055UHJlcU14TTcvT0ROSUhIdkg1YmRWSzhTWGM5UGdxQktPT0VZZzViM1hOMVYweU5qRStmaXZwR3VPVTY3LzBMc0o2N2Q4RWxFS3hnUkhnV1d2dFZpTHdCcnBWbVhRVGpnNG5BSE5hcGpjSVdWSjFCTTU4cUVhS1BFeSs3M1ZyVTNLcHZRR3JkOHRFbjdHa2VrekJ3d2M4cXFzUVdESGhpNjRPQmlsZWhiWmhNa1ZKWVF3anpUNVRYRkpkQmphYnIvT3F2ZEdkS2grRG1kcVU1L1JzVkxKQ005L0FhUERZU054UDh1YzRGSEY4VmFBMHpqZ296MldCUzNWcWthNGx2YU82TUtsN1Z1Ny9CemRqMlB1RzJwNHNBQUFBQUVsRlRrU3VRbUNDIn0sc3ZnOnsyODonPHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj5cbjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMDM1XzEwNzcpIj5cbjxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iIzU0RkZGNSIvPlxuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZl8yMDM1XzEwNzcpIj5cbjxwYXRoIGQ9Ik0xLjQ3NDUgMjEuNzIxNUMtMy4yMDc2MyAzNC44OTQzIDIxLjgzOCAzMS4xNzM4IDM0Ljk0NjEgMjcuNjY3QzQ4LjM2MTggMjMuMjE0OCAzOS4wODkyIDMuNTg5NDYgMjkuNDY3MyAzLjE1NTEyQzE5Ljg0NTQgMi43MjA3OCAzMC42NjAzIDEyLjIyOTggMjIuNDg3IDE0Ljk0NTdDMTQuMzEzOCAxNy42NjE3IDcuMzI3MTggNS4yNTU0IDEuNDc0NSAyMS43MjE1WiIgZmlsbD0id2hpdGUiLz5cbjwvZz5cbjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2ZfMjAzNV8xMDc3KSI+XG48cGF0aCBkPSJNOS4zNTMwNCAtNS4wMTIyNEM2Ljg5Njk1IC0xMS43MjI4IC0xLjg1MDMyIC0yLjYyNDg5IC01LjkxNjk1IDIuNzYyODlDLTkuNzk2MDEgOC42MjM1OSAwLjMyOTMzMyAxMy42ODgxIDQuMzAwOSAxMC45NDEyQzguMjcyNDcgOC4xOTQyOCAwLjg1MDUxNyA3LjY1OTgyIDMuMjEyNjIgNC4wODc4OEM1LjU3NDcxIDAuNTE1OTM2IDEyLjQyMzEgMy4zNzU5NiA5LjM1MzA0IC01LjAxMjI0WiIgZmlsbD0iIzAwRkZGMCIgZmlsbC1vcGFjaXR5PSIwLjY3Ii8+XG48L2c+XG48ZyBmaWx0ZXI9InVybCgjZmlsdGVyMl9mXzIwMzVfMTA3NykiPlxuPHBhdGggZD0iTTEwLjU1MjYgMjQuNjUzOEM3LjIwMjU1IDEzLjM4MTYgLTcuMjI3NTIgMTkuMzE3OCAtMTQuMDIzOCAyMy42OTQ5Qy0yMC41NjEyIDI4Ljg3NzcgLTUuMDM4ODUgNDMuNzg2MiAxLjQwODEgNDMuMDIzNkM3Ljg1NTA2IDQyLjI2MDkgLTMuNzYzNjEgMzUuNzcwOSAwLjIxNzUwNSAzMi42MTA1QzQuMTk4NjIgMjkuNDUwMSAxNC43NDAyIDM4Ljc0NDEgMTAuNTUyNiAyNC42NTM4WiIgZmlsbD0iIzlEODFGRiIvPlxuPC9nPlxuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjNfZl8yMDM1XzEwNzcpIj5cbjxwYXRoIGQ9Ik0zMC44NTY5IC0xMS43NDMyQzIzLjYzMDIgLTIwLjM0ODYgMTMuMjg1IC0xMy4yMzI2IDkuMDE1OCAtOC41OTg4OUM1LjI4MDAxIC0zLjM1MzI1IDI0LjUzMDEgNi4yNTgxNiAyOS44NzI3IDQuNjExQzM1LjIxNTMgMi45NjM4MyAyMi41ODczIC0wLjQ0NDUwNSAyNC44NjA3IC0zLjY0MjM2QzI3LjEzNDEgLTYuODQwMjIgMzkuODkwNCAtMC45ODY0ODkgMzAuODU2OSAtMTEuNzQzMloiIGZpbGw9IiM0RDk0RkYiLz5cbjwvZz5cbjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuMTkyNiAxNi43MTY0SDE0Ljk0ODdMOS41Mzg0NyAxMS4yNzEyTDE1LjAxODMgNS44MjZMMTYuNTEwNyA0LjM3NUgxMS41NzRMNS4yODY3NiAxMC42OTQ0QzQuOTY5NDcgMTEuMDEyOSA0Ljk3MTEgMTEuNTI4MyA1LjI5MDAxIDExLjg0NTJMMTAuMTkyNiAxNi43MTY0Wk0xMy4wNTE3IDExLjI4NEgxMy4wMTUxTDEzLjA1MTMgMTEuMjgzNkwxMy4wNTE3IDExLjI4NFpNMTMuMDUxNyAxMS4yODRMMTguNDYxNiAxNi43Mjg4TDEyLjk4MTggMjIuMTc0TDExLjQ4OTMgMjMuNjI1SDE2LjQyNkwyMi43MTMzIDE3LjMwNkMyMy4wMzA1IDE2Ljk4NzUgMjMuMDI4OSAxNi40NzIxIDIyLjcxIDE2LjE1NTJMMTcuODA3NCAxMS4yODRIMTMuMDUxN1oiIGZpbGw9ImJsYWNrIi8+XG48L2c+XG48ZGVmcz5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZl8yMDM1XzEwNzciIHg9Ii05Ljg3MDA2IiB5PSItNy42Mjg2MSIgd2lkdGg9IjYyLjI5NTUiIGhlaWdodD0iNDkuMzc2NCIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPlxuPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+XG48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI1LjM4NDYyIiByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMjAzNV8xMDc3Ii8+XG48L2ZpbHRlcj5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjFfZl8yMDM1XzEwNzciIHg9Ii0xNy41NTU2IiB5PSItMTguMTU1OSIgd2lkdGg9IjM4LjQ1NTciIGhlaWdodD0iNDAuNjM0MiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPlxuPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+XG48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI1LjM4NDYyIiByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMjAzNV8xMDc3Ii8+XG48L2ZpbHRlcj5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjJfZl8yMDM1XzEwNzciIHg9Ii0yNi4zNjc2IiB5PSI3LjM5Njc4IiB3aWR0aD0iNDguNjU1NiIgaGVpZ2h0PSI0Ni40MjUyIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz5cbjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjUuMzg0NjIiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMDM1XzEwNzciLz5cbjwvZmlsdGVyPlxuPGZpbHRlciBpZD0iZmlsdGVyM19mXzIwMzVfMTA3NyIgeD0iLTIuMjMwOSIgeT0iLTI2LjU1MjQiIHdpZHRoPSI0Ny4wNTIxIiBoZWlnaHQ9IjQyLjEyMDUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPlxuPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNS4zODQ2MiIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIwMzVfMTA3NyIvPlxuPC9maWx0ZXI+XG48Y2xpcFBhdGggaWQ9ImNsaXAwXzIwMzVfMTA3NyI+XG48cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IndoaXRlIi8+XG48L2NsaXBQYXRoPlxuPC9kZWZzPlxuPC9zdmc+XG4nLDI1NjonPHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+XG48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMjAzNV8xMTA2KSI+XG48cmVjdCB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgZmlsbD0iIzU0RkZGNSIvPlxuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZl8yMDM1XzExMDYpIj5cbjxwYXRoIGQ9Ik0xMy40ODA2IDE5OC42MDVDLTI5LjMyNzYgMzE5LjA0MyAxOTkuNjYxIDI4NS4wMjcgMzE5LjUwNyAyNTIuOTY0QzQ0Mi4xNjUgMjEyLjI1OSAzNTcuMzg2IDMyLjgyNjkgMjY5LjQxNSAyOC44NTU4QzE4MS40NDMgMjQuODg0NyAyODAuMzIyIDExMS44MjQgMjA1LjU5NSAxMzYuNjU2QzEzMC44NjggMTYxLjQ4NyA2Ni45OTA3IDQ4LjA1ODMgMTMuNDgwNiAxOTguNjA1WiIgZmlsbD0id2hpdGUiLz5cbjwvZz5cbjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2ZfMjAzNV8xMTA2KSI+XG48cGF0aCBkPSJNODUuNTExOCAtNDUuODIyNUM2My4wNTYyIC0xMDcuMTc2IC0xNi45MTg5IC0yMy45OTUzIC01NC4wOTk1IDI1LjI2NDNDLTg5LjU2NTIgNzguODQ3OSAzLjAwOTM3IDEyNS4xNTIgMzkuMzIwOCAxMDAuMDM3Qzc1LjYzMjMgNzQuOTIyNyA3Ljc3NDQ4IDcwLjAzNjMgMjkuMzcwOCAzNy4zNzg1QzUwLjk2NzEgNC43MjA3NiAxMTMuNTgxIDMwLjg2OTUgODUuNTExOCAtNDUuODIyNVoiIGZpbGw9IiMwMEZGRjAiIGZpbGwtb3BhY2l0eT0iMC42NyIvPlxuPC9nPlxuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjJfZl8yMDM1XzExMDYpIj5cbjxwYXRoIGQ9Ik05Ni40Nzk2IDIyNS40MjRDNjUuODUwMiAxMjIuMzYzIC02Ni4wODE4IDE3Ni42MzcgLTEyOC4yMTkgMjE2LjY1N0MtMTg3Ljk5IDI2NC4wNDIgLTQ2LjA3MTEgNDAwLjM0OCAxMi44NzI1IDM5My4zNzZDNzEuODE2MSAzODYuNDAzIC0zNC40MTE4IDMyNy4wNjUgMS45ODcwMiAyOTguMTdDMzguMzg1OCAyNjkuMjc2IDEzNC43NjYgMzU0LjI0OSA5Ni40Nzk2IDIyNS40MjRaIiBmaWxsPSIjOUQ4MUZGIi8+XG48L2c+XG48ZyBmaWx0ZXI9InVybCgjZmlsdGVyM19mXzIwMzVfMTEwNikiPlxuPHBhdGggZD0iTTI4Mi4xMiAtMTA3LjM1M0MyMTYuMDQ3IC0xODYuMDMxIDEyMS40NjMgLTEyMC45NyA4Mi40Mjk2IC03OC42MDQ3QzQ4LjI3MzkgLTMwLjY0NDYgMjI0LjI3NSA1Ny4yMzEyIDI3My4xMjEgNDIuMTcxNEMzMjEuOTY4IDI3LjExMTUgMjA2LjUxMiAtNC4wNTAzOCAyMjcuMjk3IC0zMy4yODc5QzI0OC4wODIgLTYyLjUyNTUgMzY0LjcxMiAtOS4wMDU2NiAyODIuMTIgLTEwNy4zNTNaIiBmaWxsPSIjNEQ5NEZGIi8+XG48L2c+XG48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkzLjE4OSAxNTIuODM2SDEzNi42NzRMODcuMjA4NiAxMDMuMDUxTDEzNy4zMSA1My4yNjYzTDE1MC45NTUgNDBIMTA1LjgxOUw0OC4zMzU5IDk3Ljc3NzNDNDUuNDM0OSAxMDAuNjg5IDQ1LjQ0OTggMTA1LjQwMiA0OC4zNjU2IDEwOC4yOTlMOTMuMTg5IDE1Mi44MzZaTTExOS4zMyAxMDMuMTY4SDExOC45OTVMMTE5LjMyNiAxMDMuMTY0TDExOS4zMyAxMDMuMTY4Wk0xMTkuMzMgMTAzLjE2OEwxNjguNzkxIDE1Mi45NDlMMTE4LjY5IDIwMi43MzRMMTA1LjA0NSAyMTZIMTUwLjE4TDIwNy42NjQgMTU4LjIyNkMyMTAuNTY1IDE1NS4zMTQgMjEwLjU1IDE1MC42MDIgMjA3LjYzNCAxNDcuNzA1TDE2Mi44MTEgMTAzLjE2OEgxMTkuMzNaIiBmaWxsPSJibGFjayIvPlxuPC9nPlxuPGRlZnM+XG48ZmlsdGVyIGlkPSJmaWx0ZXIwX2ZfMjAzNV8xMTA2IiB4PSItOTAuMjQxMSIgeT0iLTY5LjczNjkiIHdpZHRoPSI1NjkuNTU4IiBoZWlnaHQ9IjQ1MS40MzEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPlxuPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDkuMjMwOCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIwMzVfMTEwNiIvPlxuPC9maWx0ZXI+XG48ZmlsdGVyIGlkPSJmaWx0ZXIxX2ZfMjAzNV8xMTA2IiB4PSItMTYwLjUxMSIgeT0iLTE2NS45ODciIHdpZHRoPSIzNTEuNTk2IiBoZWlnaHQ9IjM3MS41MDciIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPlxuPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDkuMjMwOCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIwMzVfMTEwNiIvPlxuPC9maWx0ZXI+XG48ZmlsdGVyIGlkPSJmaWx0ZXIyX2ZfMjAzNV8xMTA2IiB4PSItMjQxLjA3OCIgeT0iNjcuNjQyIiB3aWR0aD0iNDQ0Ljg1MSIgaGVpZ2h0PSI0MjQuNDUyIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz5cbjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQ5LjIzMDgiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMDM1XzExMDYiLz5cbjwvZmlsdGVyPlxuPGZpbHRlciBpZD0iZmlsdGVyM19mXzIwMzVfMTEwNiIgeD0iLTIwLjM5NjgiIHk9Ii0yNDIuNzU4IiB3aWR0aD0iNDMwLjE5MSIgaGVpZ2h0PSIzODUuMTA1IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz5cbjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQ5LjIzMDgiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMDM1XzExMDYiLz5cbjwvZmlsdGVyPlxuPGNsaXBQYXRoIGlkPSJjbGlwMF8yMDM1XzExMDYiPlxuPHJlY3Qgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIGZpbGw9IndoaXRlIi8+XG48L2NsaXBQYXRoPlxuPC9kZWZzPlxuPC9zdmc+XG4nfX0sYWNhZGVteTpaKCksYmxvZzpUKCksZGVlcExpbmtzOntzY2hlbWU6ImJpdGtlZXA6Ly8iLHVuaXZlcnNhbGxpbms6Imh0dHBzOi8vYmthcHAudmlwIn19LFI9e3ZlcnNpb246UyxuYW1lOiJAYml0Z2V0LXdhbGxldC93ZWIzLXNkayIsbGFuZ3VhZ2U6WyJlbiIsInpoLUNOIiwiemgtVFciLCJ0ciIsInZpIiwiaWQiXSxkZXNjcmlwdGlvbjoiIn0sTz1lPT5SLmxhbmd1YWdlLmluY2x1ZGVzKGUpP2U6ImVuIixRPSgpPT5GLmRlZXBMaW5rcyxIPWU9PntsZXQgdD1lP08oZSk6ImVuIjtyZXR1cm4geih0KS53ZWJzaXRlfSxZPSgoVz1ZfHx7fSkuRVZNPSJlaXAxMTkzIixXLlRST049InRyb25MaW5rIixXLlNPTEFOQT0ic29sYW5hIixXKSxVPXtlaXAxMTkzOiJldGhlcmV1bSNpbml0aWFsaXplZCIsdHJvbkxpbms6InRyb25MaW5rI2luaXRpYWxpemVkIixzb2xhbmE6IiJ9LFg9ZT0+VVtlXSxLPWU9Pnt2YXIgdCxuO2xldCBpPW51bGw7c3dpdGNoKGUpe2Nhc2UiZWlwMTE5MyI6aT1udWxsPT0odD1udWxsPT13aW5kb3c/dm9pZCAwOndpbmRvdy5iaXRrZWVwKT92b2lkIDA6dC5ldGhlcmV1bTticmVhaztjYXNlInRyb25MaW5rIjppPW51bGwhPXdpbmRvdyYmd2luZG93LmJpdGtlZXA/e3Ryb25MaW5rOm51bGw9PXdpbmRvdz92b2lkIDA6d2luZG93LmJpdGtlZXAudHJvbkxpbmssdHJvbldlYjpudWxsPT13aW5kb3c/dm9pZCAwOndpbmRvdy5iaXRrZWVwLnRyb25XZWJ9Om51bGw7YnJlYWs7Y2FzZSJzb2xhbmEiOmk9bnVsbD09KG49bnVsbD09d2luZG93P3ZvaWQgMDp3aW5kb3cuYml0a2VlcCk/dm9pZCAwOm4uc29sYW5hfXJldHVybiBpfSxKPShlLHQpPT57bGV0IG49dC5maW5kKCh0PT50LnByb3ZpZGVyRmxhZz09ZSkpO2lmKCFuKXRocm93Im5vIHdhbGxldCBmbGFnIGRldGVjdGVkISEiO3JldHVybiBufSxWPSgpPT57dmFyIGU7bGV0IHQ9SCgpO3RyeXtpZihudWxsIT13aW5kb3cmJndpbmRvdy5iaXRrZWVwKXJldHVybiBudWxsPT0oZT1udWxsPT13aW5kb3c/dm9pZCAwOndpbmRvdy5iaXRrZWVwKT92b2lkIDA6ZS5ldGhlcmV1bTt0aHJvdyB3aW5kb3cub3Blbih0LCJfYmxhbmsiKSxuZXcgRXJyb3IoeCl9Y2F0Y2h7dGhyb3cgd2luZG93Lm9wZW4odCwiX2JsYW5rIiksbmV3IEVycm9yKHgpfX07ZnVuY3Rpb24gcSh7dGltZW91dDplPTFlMyxmbGFnOnQ9ImVpcDExOTMifT17fSl7IWZ1bmN0aW9uKCl7aWYoIm51bWJlciIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiQEBiaXRnZXQtd2FsbGV0L3dlYjMtc2RrL2RldGVjdC1wcm92aWRlcjogRXhwZWN0ZWQgb3B0aW9uICd0aW1lb3V0JyB0byBiZSBhIG51bWJlci4iKX0oKTtsZXQgbj10ZSgpLGk9ITEscj1YKHQpO3JldHVybiBuZXcgUHJvbWlzZSgoYXN5bmMgbz0+e2Z1bmN0aW9uIGwoZSl7aWYoaSlyZXR1cm47ciYmbiYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIocixsKSxpPSEwO2xldHtiaXRrZWVwOmF9PXdpbmRvdztpZihhKXtsZXQgZT10P0sodCk6YTtvKGUpfWVsc2UgbyhudWxsKX13aW5kb3cuYml0a2VlcD9sKCk6KGF3YWl0IG5lKCksd2luZG93LmJpdGtlZXAmJmwoKSxyJiZuJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihyLGwuYmluZChudWxsLHt0eXBlOiJldmVudCIsZXZlbnROYW1lOnJ9KSx7b25jZTohMH0pLHNldFRpbWVvdXQoKCgpPT57bCgpfSksZSkpfSkpfWZ1bmN0aW9uIF8oKXt2YXIgZTtyZXR1cm4vQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobnVsbD09KGU9bnVsbD09d2luZG93P3ZvaWQgMDp3aW5kb3cubmF2aWdhdG9yKT92b2lkIDA6ZS51c2VyQWdlbnQpfWZ1bmN0aW9uICQoKXt2YXIgZTtyZXR1cm4vQml0S2VlcC9pLnRlc3QobnVsbD09KGU9bnVsbD09d2luZG93P3ZvaWQgMDp3aW5kb3cubmF2aWdhdG9yKT92b2lkIDA6ZS51c2VyQWdlbnQpfWZ1bmN0aW9uIGVlKCl7cmV0dXJuISQoKSYmIV8oKX1mdW5jdGlvbiB0ZSgpe3JldHVybiAkKCkmJl8oKX12YXIgbmU9ZnVuY3Rpb24oKXtsZXQgZT0hMTtyZXR1cm4gbmV3IFByb21pc2UoKHQ9PntpZigiY29tcGxldGUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7aWYoZSlyZXR1cm47ZT0hMCx0KCEwKX1lbHNlIHdpbmRvdy5vbmxvYWQ9ZnVuY3Rpb24oKXtlfHwoZT0hMCx0KCEwKSl9fSkpfSxpZT0oKGUsdCxuKT0+KG49bnVsbCE9ZT9rKEMoZSkpOnt9LCgoZSx0LG4saSk9PntpZih0JiYib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KWZvcihsZXQgciBvZiBQKHQpKSFqLmNhbGwoZSxyKSYmciE9PW4mJk4oZSxyLHtnZXQ6KCk9PnRbcl0sZW51bWVyYWJsZTohKGk9RSh0LHIpKXx8aS5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9KSghdCYmZSYmZS5fX2VzTW9kdWxlP246TihuLCJkZWZhdWx0Iix7dmFsdWU6ZSxlbnVtZXJhYmxlOiEwfSksZSkpKShEKCksMSkscmU9aWUuZGVmYXVsdCxvZT1jbGFzc3tjb25zdHJ1Y3Rvcih7ZGVidWc6ZT0hMSxwcmVmZXJyZWRPcGVuTGluazp0LHVzZURlZXBsaW5rOm49ITF9KXt0aGlzLmRlYnVnPSExLHRoaXMudXNlRGVlcGxpbms9ITEsdGhpcy5kZWJ1Zz1lLHRoaXMudXNlRGVlcGxpbms9bix0aGlzLnByZWZlcnJlZE9wZW5MaW5rPXR9Z2V0TG9nbyhlPSJzcXVhcmUiKXtyZXR1cm4iZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNTYnIGhlaWdodD0nMjU2JyBmaWxsPSdub25lJyUzZSUzY2cgY2xpcC1wYXRoPSd1cmwoJTIzYSknJTNlJTNjcmVjdCB3aWR0aD0nMjU2JyBoZWlnaHQ9JzI1NicgZmlsbD0nJTIzNTRGRkY1JyByeD0nMjAnLyUzZSUzY2cgZmlsdGVyPSd1cmwoJTIzYiknJTNlJTNjcGF0aCBmaWxsPSd3aGl0ZScgZD0nTTEzLjQ4IDE5OC42MDVjLTQyLjgwNyAxMjAuNDM4IDE4Ni4xODIgODYuNDIyIDMwNi4wMjcgNTQuMzU5IDEyMi42NTgtNDAuNzA1IDM3Ljg3OS0yMjAuMTM3LTUwLjA5Mi0yMjQuMTA4LTg3Ljk3Mi0zLjk3MSAxMC45MDcgODIuOTY4LTYzLjgyIDEwNy44LTc0LjcyNyAyNC44MzEtMTM4LjYwNC04OC41OTgtMTkyLjExNCA2MS45NDlaJy8lM2UlM2MvZyUzZSUzY2cgZmlsdGVyPSd1cmwoJTIzYyknJTNlJTNjcGF0aCBmaWxsPSclMjMwMEZGRjAnIGZpbGwtb3BhY2l0eT0nLjY3JyBkPSdNODUuNTEyLTQ1LjgyMkM2My4wNTYtMTA3LjE3Ny0xNi45MTgtMjMuOTk1LTU0LjEgMjUuMjY0Yy0zNS40NjUgNTMuNTg0IDU3LjExIDk5Ljg4OCA5My40MiA3NC43NzMgMzYuMzEyLTI1LjExNC0zMS41NDYtMzAtOS45NS02Mi42NTkgMjEuNTk3LTMyLjY1NyA4NC4yMTEtNi41MDkgNTYuMTQyLTgzLjJaJy8lM2UlM2MvZyUzZSUzY2cgZmlsdGVyPSd1cmwoJTIzZCknJTNlJTNjcGF0aCBmaWxsPSclMjM5RDgxRkYnIGQ9J005Ni40OCAyMjUuNDI0Yy0zMC42My0xMDMuMDYxLTE2Mi41NjItNDguNzg3LTIyNC42OTktOC43NjctNTkuNzcxIDQ3LjM4NSA4Mi4xNDggMTgzLjY5MSAxNDEuMDkyIDE3Ni43MTkgNTguOTQzLTYuOTczLTQ3LjI4NS02Ni4zMTEtMTAuODg2LTk1LjIwNiAzNi4zOTktMjguODk0IDEzMi43NzkgNTYuMDc5IDk0LjQ5My03Mi43NDZaJy8lM2UlM2MvZyUzZSUzY2cgZmlsdGVyPSd1cmwoJTIzZSknJTNlJTNjcGF0aCBmaWxsPSclMjM0RDk0RkYnIGQ9J00yODIuMTItMTA3LjM1M2MtNjYuMDczLTc4LjY3OC0xNjAuNjU3LTEzLjYxNy0xOTkuNjkgMjguNzQ4QzQ4LjI3NC0zMC42NDUgMjI0LjI3NSA1Ny4yMzEgMjczLjEyIDQyLjE3MWM0OC44NDctMTUuMDYtNjYuNjA5LTQ2LjIyMS00NS44MjQtNzUuNDU5IDIwLjc4NS0yOS4yMzggMTM3LjQxNSAyNC4yODIgNTQuODIzLTc0LjA2NVonLyUzZSUzYy9nJTNlJTNjcGF0aCBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNOTMuMTkgMTUyLjgzNmg0My40ODRsLTQ5LjQ2NS00OS43ODUgNTAuMTAxLTQ5Ljc4NUwxNTAuOTU1IDQwaC00NS4xMzZMNDguMzM2IDk3Ljc3N2E3LjQzNSA3LjQzNSAwIDAgMCAuMDMgMTAuNTIybDQ0LjgyMyA0NC41MzdabTI2LjE0LTQ5LjY2OGgtLjMzNWwuMzMxLS4wMDQuMDA0LjAwNFptMCAwIDQ5LjQ2MSA0OS43ODEtNTAuMTAxIDQ5Ljc4NUwxMDUuMDQ1IDIxNmg0NS4xMzZsNTcuNDgzLTU3Ljc3NGE3LjQzNCA3LjQzNCAwIDAgMC0uMDMtMTAuNTIxbC00NC44MjMtNDQuNTM3SDExOS4zM1onIGNsaXAtcnVsZT0nZXZlbm9kZCcvJTNlJTNjL2clM2UlM2NkZWZzJTNlJTNjZmlsdGVyIGlkPSdiJyB3aWR0aD0nNTY5LjU1OCcgaGVpZ2h0PSc0NTEuNDMxJyB4PSctOTAuMjQxJyB5PSctNjkuNzM3JyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZSclM2UlM2NmZUZsb29kIGZsb29kLW9wYWNpdHk9JzAnIHJlc3VsdD0nQmFja2dyb3VuZEltYWdlRml4Jy8lM2UlM2NmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J0JhY2tncm91bmRJbWFnZUZpeCcgcmVzdWx0PSdzaGFwZScvJTNlJTNjZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSdlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzE4OTlfNDgnIHN0ZERldmlhdGlvbj0nNDkuMjMxJy8lM2UlM2MvZmlsdGVyJTNlJTNjZmlsdGVyIGlkPSdjJyB3aWR0aD0nMzUxLjU5NicgaGVpZ2h0PSczNzEuNTA3JyB4PSctMTYwLjUxMScgeT0nLTE2NS45ODcnIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0nc1JHQicgZmlsdGVyVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzZSUzY2ZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0nMCcgcmVzdWx0PSdCYWNrZ3JvdW5kSW1hZ2VGaXgnLyUzZSUzY2ZlQmxlbmQgaW49J1NvdXJjZUdyYXBoaWMnIGluMj0nQmFja2dyb3VuZEltYWdlRml4JyByZXN1bHQ9J3NoYXBlJy8lM2UlM2NmZUdhdXNzaWFuQmx1ciByZXN1bHQ9J2VmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMTg5OV80OCcgc3RkRGV2aWF0aW9uPSc0OS4yMzEnLyUzZSUzYy9maWx0ZXIlM2UlM2NmaWx0ZXIgaWQ9J2QnIHdpZHRoPSc0NDQuODUxJyBoZWlnaHQ9JzQyNC40NTInIHg9Jy0yNDEuMDc3JyB5PSc2Ny42NDInIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0nc1JHQicgZmlsdGVyVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzZSUzY2ZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0nMCcgcmVzdWx0PSdCYWNrZ3JvdW5kSW1hZ2VGaXgnLyUzZSUzY2ZlQmxlbmQgaW49J1NvdXJjZUdyYXBoaWMnIGluMj0nQmFja2dyb3VuZEltYWdlRml4JyByZXN1bHQ9J3NoYXBlJy8lM2UlM2NmZUdhdXNzaWFuQmx1ciByZXN1bHQ9J2VmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMTg5OV80OCcgc3RkRGV2aWF0aW9uPSc0OS4yMzEnLyUzZSUzYy9maWx0ZXIlM2UlM2NmaWx0ZXIgaWQ9J2UnIHdpZHRoPSc0MzAuMTkxJyBoZWlnaHQ9JzM4NS4xMDUnIHg9Jy0yMC4zOTcnIHk9Jy0yNDIuNzU4JyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZSclM2UlM2NmZUZsb29kIGZsb29kLW9wYWNpdHk9JzAnIHJlc3VsdD0nQmFja2dyb3VuZEltYWdlRml4Jy8lM2UlM2NmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J0JhY2tncm91bmRJbWFnZUZpeCcgcmVzdWx0PSdzaGFwZScvJTNlJTNjZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSdlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzE4OTlfNDgnIHN0ZERldmlhdGlvbj0nNDkuMjMxJy8lM2UlM2MvZmlsdGVyJTNlJTNjY2xpcFBhdGggaWQ9J2EnJTNlJTNjcmVjdCB3aWR0aD0nMjU2JyBoZWlnaHQ9JzI1NicgZmlsbD0nd2hpdGUnIHJ4PScyMCcvJTNlJTNjL2NsaXBQYXRoJTNlJTNjL2RlZnMlM2UlM2Mvc3ZnJTNlIn1nZXRXYWxsZXRJbmZvKCl7cmV0dXJue2xvZ286dGhpcy5nZXRMb2dvKCksLi4uRn19Z2V0RG93bmxvYWRMaW5rcygpe3JldHVybiBGLmRvd25sb2FkTGlua3N9Z2V0RGVlcExpbmtzKCl7cmV0dXJuIEYuZGVlcExpbmtzfX0sbGU9Y2xhc3MgZXh0ZW5kcyByZXtjb25zdHJ1Y3RvcihlPXtwcm92aWRlckZsYWc6ImVpcDExOTMiLGlzQml0a2VlcDohMCxkZWJ1ZzohMX0pe3N1cGVyKCksdGhpcy5pZD1GLmlkLHRoaXMubmFtZT1GLm5hbWUsdGhpcy52ZXJzaW9uPUYudmVyc2lvbix0aGlzLnByb3ZpZGVyRmxhZz1lLnByb3ZpZGVyRmxhZyx0aGlzLmlzQml0a2VlcD1lLmlzQml0a2VlcCx0aGlzLnBsYXRmb3JtTWFuYWdlcj1uZXcgb2Uoe30pfWdldFByb3ZpZGVyKCl7cmV0dXJuIEsodGhpcy5wcm92aWRlckZsYWcpfWFzeW5jIGdldEJLV2FsbGV0SW5mbygpe3ZhciBlLHQ7cmV0dXJuIG51bGwhPXdpbmRvdyYmd2luZG93LnNlbGVjdGVkQWNjb3VudD97aWQ6bnVsbD09KGU9bnVsbD09d2luZG93P3ZvaWQgMDp3aW5kb3cuc2VsZWN0ZWRBY2NvdW50KT92b2lkIDA6ZS5pZCxuYW1lOm51bGw9PSh0PW51bGw9PXdpbmRvdz92b2lkIDA6d2luZG93LnNlbGVjdGVkQWNjb3VudCk/dm9pZCAwOnQubmFtZX06bnVsbH1nZXREZWVwTGlua3MoKXtyZXR1cm4gUSgpfWdldExvZ28oZT0ic3F1YXJlIil7cmV0dXJuImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjU2JyBoZWlnaHQ9JzI1NicgZmlsbD0nbm9uZSclM2UlM2NnIGNsaXAtcGF0aD0ndXJsKCUyM2EpJyUzZSUzY3JlY3Qgd2lkdGg9JzI1NicgaGVpZ2h0PScyNTYnIGZpbGw9JyUyMzU0RkZGNScgcng9JzIwJy8lM2UlM2NnIGZpbHRlcj0ndXJsKCUyM2IpJyUzZSUzY3BhdGggZmlsbD0nd2hpdGUnIGQ9J00xMy40OCAxOTguNjA1Yy00Mi44MDcgMTIwLjQzOCAxODYuMTgyIDg2LjQyMiAzMDYuMDI3IDU0LjM1OSAxMjIuNjU4LTQwLjcwNSAzNy44NzktMjIwLjEzNy01MC4wOTItMjI0LjEwOC04Ny45NzItMy45NzEgMTAuOTA3IDgyLjk2OC02My44MiAxMDcuOC03NC43MjcgMjQuODMxLTEzOC42MDQtODguNTk4LTE5Mi4xMTQgNjEuOTQ5WicvJTNlJTNjL2clM2UlM2NnIGZpbHRlcj0ndXJsKCUyM2MpJyUzZSUzY3BhdGggZmlsbD0nJTIzMDBGRkYwJyBmaWxsLW9wYWNpdHk9Jy42NycgZD0nTTg1LjUxMi00NS44MjJDNjMuMDU2LTEwNy4xNzctMTYuOTE4LTIzLjk5NS01NC4xIDI1LjI2NGMtMzUuNDY1IDUzLjU4NCA1Ny4xMSA5OS44ODggOTMuNDIgNzQuNzczIDM2LjMxMi0yNS4xMTQtMzEuNTQ2LTMwLTkuOTUtNjIuNjU5IDIxLjU5Ny0zMi42NTcgODQuMjExLTYuNTA5IDU2LjE0Mi04My4yWicvJTNlJTNjL2clM2UlM2NnIGZpbHRlcj0ndXJsKCUyM2QpJyUzZSUzY3BhdGggZmlsbD0nJTIzOUQ4MUZGJyBkPSdNOTYuNDggMjI1LjQyNGMtMzAuNjMtMTAzLjA2MS0xNjIuNTYyLTQ4Ljc4Ny0yMjQuNjk5LTguNzY3LTU5Ljc3MSA0Ny4zODUgODIuMTQ4IDE4My42OTEgMTQxLjA5MiAxNzYuNzE5IDU4Ljk0My02Ljk3My00Ny4yODUtNjYuMzExLTEwLjg4Ni05NS4yMDYgMzYuMzk5LTI4Ljg5NCAxMzIuNzc5IDU2LjA3OSA5NC40OTMtNzIuNzQ2WicvJTNlJTNjL2clM2UlM2NnIGZpbHRlcj0ndXJsKCUyM2UpJyUzZSUzY3BhdGggZmlsbD0nJTIzNEQ5NEZGJyBkPSdNMjgyLjEyLTEwNy4zNTNjLTY2LjA3My03OC42NzgtMTYwLjY1Ny0xMy42MTctMTk5LjY5IDI4Ljc0OEM0OC4yNzQtMzAuNjQ1IDIyNC4yNzUgNTcuMjMxIDI3My4xMiA0Mi4xNzFjNDguODQ3LTE1LjA2LTY2LjYwOS00Ni4yMjEtNDUuODI0LTc1LjQ1OSAyMC43ODUtMjkuMjM4IDEzNy40MTUgMjQuMjgyIDU0LjgyMy03NC4wNjVaJy8lM2UlM2MvZyUzZSUzY3BhdGggZmlsbD0nYmxhY2snIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTkzLjE5IDE1Mi44MzZoNDMuNDg0bC00OS40NjUtNDkuNzg1IDUwLjEwMS00OS43ODVMMTUwLjk1NSA0MGgtNDUuMTM2TDQ4LjMzNiA5Ny43NzdhNy40MzUgNy40MzUgMCAwIDAgLjAzIDEwLjUyMmw0NC44MjMgNDQuNTM3Wm0yNi4xNC00OS42NjhoLS4zMzVsLjMzMS0uMDA0LjAwNC4wMDRabTAgMCA0OS40NjEgNDkuNzgxLTUwLjEwMSA0OS43ODVMMTA1LjA0NSAyMTZoNDUuMTM2bDU3LjQ4My01Ny43NzRhNy40MzQgNy40MzQgMCAwIDAtLjAzLTEwLjUyMWwtNDQuODIzLTQ0LjUzN0gxMTkuMzNaJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnLyUzZSUzYy9nJTNlJTNjZGVmcyUzZSUzY2ZpbHRlciBpZD0nYicgd2lkdGg9JzU2OS41NTgnIGhlaWdodD0nNDUxLjQzMScgeD0nLTkwLjI0MScgeT0nLTY5LjczNycgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSdzUkdCJyBmaWx0ZXJVbml0cz0ndXNlclNwYWNlT25Vc2UnJTNlJTNjZmVGbG9vZCBmbG9vZC1vcGFjaXR5PScwJyByZXN1bHQ9J0JhY2tncm91bmRJbWFnZUZpeCcvJTNlJTNjZmVCbGVuZCBpbj0nU291cmNlR3JhcGhpYycgaW4yPSdCYWNrZ3JvdW5kSW1hZ2VGaXgnIHJlc3VsdD0nc2hhcGUnLyUzZSUzY2ZlR2F1c3NpYW5CbHVyIHJlc3VsdD0nZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8xODk5XzQ4JyBzdGREZXZpYXRpb249JzQ5LjIzMScvJTNlJTNjL2ZpbHRlciUzZSUzY2ZpbHRlciBpZD0nYycgd2lkdGg9JzM1MS41OTYnIGhlaWdodD0nMzcxLjUwNycgeD0nLTE2MC41MTEnIHk9Jy0xNjUuOTg3JyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZSclM2UlM2NmZUZsb29kIGZsb29kLW9wYWNpdHk9JzAnIHJlc3VsdD0nQmFja2dyb3VuZEltYWdlRml4Jy8lM2UlM2NmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J0JhY2tncm91bmRJbWFnZUZpeCcgcmVzdWx0PSdzaGFwZScvJTNlJTNjZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSdlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzE4OTlfNDgnIHN0ZERldmlhdGlvbj0nNDkuMjMxJy8lM2UlM2MvZmlsdGVyJTNlJTNjZmlsdGVyIGlkPSdkJyB3aWR0aD0nNDQ0Ljg1MScgaGVpZ2h0PSc0MjQuNDUyJyB4PSctMjQxLjA3NycgeT0nNjcuNjQyJyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZSclM2UlM2NmZUZsb29kIGZsb29kLW9wYWNpdHk9JzAnIHJlc3VsdD0nQmFja2dyb3VuZEltYWdlRml4Jy8lM2UlM2NmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J0JhY2tncm91bmRJbWFnZUZpeCcgcmVzdWx0PSdzaGFwZScvJTNlJTNjZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSdlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzE4OTlfNDgnIHN0ZERldmlhdGlvbj0nNDkuMjMxJy8lM2UlM2MvZmlsdGVyJTNlJTNjZmlsdGVyIGlkPSdlJyB3aWR0aD0nNDMwLjE5MScgaGVpZ2h0PSczODUuMTA1JyB4PSctMjAuMzk3JyB5PSctMjQyLjc1OCcgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSdzUkdCJyBmaWx0ZXJVbml0cz0ndXNlclNwYWNlT25Vc2UnJTNlJTNjZmVGbG9vZCBmbG9vZC1vcGFjaXR5PScwJyByZXN1bHQ9J0JhY2tncm91bmRJbWFnZUZpeCcvJTNlJTNjZmVCbGVuZCBpbj0nU291cmNlR3JhcGhpYycgaW4yPSdCYWNrZ3JvdW5kSW1hZ2VGaXgnIHJlc3VsdD0nc2hhcGUnLyUzZSUzY2ZlR2F1c3NpYW5CbHVyIHJlc3VsdD0nZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8xODk5XzQ4JyBzdGREZXZpYXRpb249JzQ5LjIzMScvJTNlJTNjL2ZpbHRlciUzZSUzY2NsaXBQYXRoIGlkPSdhJyUzZSUzY3JlY3Qgd2lkdGg9JzI1NicgaGVpZ2h0PScyNTYnIGZpbGw9J3doaXRlJyByeD0nMjAnLyUzZSUzYy9jbGlwUGF0aCUzZSUzYy9kZWZzJTNlJTNjL3N2ZyUzZSJ9Z2V0TG9nb3MoKXtyZXR1cm4gRi5sb2dvbGlzdH1nZXRXYWxsZXRJbmZvKCl7cmV0dXJuIEZ9Z2V0RG93bmxvYWRMaW5rcygpe3JldHVybiB6KCl9fSxhZT1jbGFzcyBleHRlbmRzIGxle2NvbnN0cnVjdG9yKGU9e2lzQml0a2VlcDohMCxkZWJ1ZzohMX0pe3N1cGVyKHtwcm92aWRlckZsYWc6ImVpcDExOTMiLGlzQml0a2VlcDplLmlzQml0a2VlcCxkZWJ1ZzplLmRlYnVnfSl9Z2V0UHJvdmlkZXIoKXtyZXR1cm4gSyh0aGlzLnByb3ZpZGVyRmxhZyl9fSxzZT1hZSxjZT1MLGRlPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEVJUDExOTNBZGFwdGVyOmFlLEluaXRQcm92aWRlckV2ZW50TmFtZXM6VSxMZWdhY3lFaXAxMTkzQWRhcHRlcjpzZSxTREtJbmZvOlIsU29sYW5hQWRhcHRlcjpjbGFzcyBleHRlbmRzIGxle2NvbnN0cnVjdG9yKGU9e2lzQml0a2VlcDohMCxkZWJ1ZzohMX0pe3N1cGVyKHtwcm92aWRlckZsYWc6InNvbGFuYSIsaXNCaXRrZWVwOmUuaXNCaXRrZWVwLGRlYnVnOmUuZGVidWd9KX1nZXRQcm92aWRlcigpe3JldHVybiBLKHRoaXMucHJvdmlkZXJGbGFnKX19LFN1cHBvcnRQcm92aWRlckZsYWc6WSxUcm9uTGlua0FkYXB0ZXI6Y2xhc3MgZXh0ZW5kcyBsZXtjb25zdHJ1Y3RvcihlPXtpc0JpdGtlZXA6ITB9KXtzdXBlcih7cHJvdmlkZXJGbGFnOiJ0cm9uTGluayIsaXNCaXRrZWVwOmUuaXNCaXRrZWVwLGRlYnVnOmUuZGVidWd9KX1nZXRQcm92aWRlcigpe3JldHVybiBLKHRoaXMucHJvdmlkZXJGbGFnKX19LFdhbGxldEluZm86RixjdXJyZW50UHJvdmlkZXI6VixkZWZhdWx0OmNlLGRldGVjdEJpdGtlZXBQcm92aWRlcjpxLGVycm9yQ29kZTpHLGVycm9yQ29kZU1lc3NhZ2U6ZT0+e3ZhciB0O3RyeXtyZXR1cm4gbnVsbD09KHQ9Ry5maWx0ZXIoKHQ9PnQuY29kZT09ZSkpWzBdKT92b2lkIDA6dC5tZXNzYWdlfWNhdGNoe3JldHVybiB4fX0sZXJyb3JDb2Rlb2JqZWN0OmU9Pnt0cnl7cmV0dXJuIEcuZmlsdGVyKCh0PT50LmNvZGU9PWUpKVswXX1jYXRjaHtyZXR1cm4gRy5maWx0ZXIoKGU9PjQwMDQ9PWUuY29kZSkpWzBdfX0sZmluZEZsYWdBZGFwdGVyOkosZ2V0QWNhZGVteTpaLGdldEFuZHJvaWREb3dubG9hZDplPT57bGV0IHQ9ZT9PKGUpOiJlbiI7cmV0dXJuIHoodCkuYW5kcm9pZH0sZ2V0QXBwU3RvcmVEb3dubG9hZDplPT57bGV0IHQ9ZT9PKGUpOiJlbiI7cmV0dXJuIHoodCkuYXBwbGVTdG9yZX0sZ2V0QmxvZzpULGdldEJyb3dzZXJFeHRlbnNpb246ZT0+e2xldCB0PWU/TyhlKToiZW4iO3JldHVybiB6KHQpLmJyb3dzZXJFeHRlbnNpb259LGdldENocm9tZURvd25sb2FkOmU9PntsZXQgdD1lP08oZSk6ImVuIjtyZXR1cm4geih0KS5jaHJvbWV9LGdldENocm9tZUV4dGVuc2lvbjplPT57bGV0IHQ9ZT9PKGUpOiJlbiI7cmV0dXJuIHoodCkuYnJvd3NlckV4dGVuc2lvbi5jaHJvbWV9LGdldERlZXBMaW5rczpRLGdldERvd25sb2FkOkgsZ2V0RG93bmxvYWRMaW5rczp6LGdldEVkZ2VFeHRlbnNpb246ZT0+e2xldCB0PWU/TyhlKToiZW4iO3JldHVybiB6KHQpLmJyb3dzZXJFeHRlbnNpb24uZWRnZX0sZ2V0R29vZ2xlUGxheURvd25sb2FkOmU9PntsZXQgdD1lP08oZSk6ImVuIjtyZXR1cm4geih0KS5nb29nbGVQbGF5fSxnZXRJb3NEb3dubG9hZDplPT57bGV0IHQ9ZT9PKGUpOiJlbiI7cmV0dXJuIHoodCkuaW9zfSxnZXRJc0luc3RhbGw6KCk9PihudWxsPT13aW5kb3c/dm9pZCAwOndpbmRvdy5ldGhlcmV1bSkmJihudWxsPT13aW5kb3c/dm9pZCAwOndpbmRvdy5pc0JpdEtlZXApJiYobnVsbD09d2luZG93P3ZvaWQgMDp3aW5kb3cuYml0a2VlcCksZ2V0U0RLRGVzY3JpcHRpb246KCk9PlIuZGVzY3JpcHRpb258fCIiLGdldFNES1ZlcnNpb246KCk9PlMsZ2V0V2FsZWx0UHJvdmlkZXI6SyxnZXRXYWxsZXRQcm92aWVySW5pdEV2ZW50c05hbWU6WCxpbnN0YWxsV2FsbGV0TWVzc2FnZTp4fSksdWU9bihkZSksaGU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KGhlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxoZS5vcGVuQml0Z2V0V2FsbGV0PWhlLnN1cHBvcnRCaXRnZXRXYWxsZXQ9dm9pZCAwO2NvbnN0IGdlPW87ZnVuY3Rpb24gZmUoKXtyZXR1cm4hIXdpbmRvdy50cm9uTGluayYmd2luZG93LmlzQml0S2VlcH1yZXR1cm4gaGUuc3VwcG9ydEJpdGdldFdhbGxldD1mZSxoZS5vcGVuQml0Z2V0V2FsbGV0PWZ1bmN0aW9uKCl7aWYoKDAsZ2UuaXNJbk1vYmlsZUJyb3dzZXIpKCkmJiFmZSgpKXtjb25zdHtvcmlnaW46ZSxwYXRobmFtZTp0LHNlYXJjaDpuLGhhc2g6aX09d2luZG93LmxvY2F0aW9uLHI9ZSt0K24raTtyZXR1cm4gbG9jYXRpb24uaHJlZj1gaHR0cHM6Ly9ia2NvZGUudmlwP2FjdGlvbj1kYXBwJnVybD0ke2VuY29kZVVSSUNvbXBvbmVudChyKX1gLCEwfXJldHVybiExfSxmdW5jdGlvbih0KXt2YXIgbj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIsbyl7ZnVuY3Rpb24gbChlKXt0cnl7cyhpLm5leHQoZSkpfWNhdGNoKGUpe28oZSl9fWZ1bmN0aW9uIGEoZSl7dHJ5e3MoaS50aHJvdyhlKSl9Y2F0Y2goZSl7byhlKX19ZnVuY3Rpb24gcyhlKXt2YXIgdDtlLmRvbmU/cihlLnZhbHVlKToodD1lLnZhbHVlLHQgaW5zdGFuY2VvZiBuP3Q6bmV3IG4oKGZ1bmN0aW9uKGUpe2UodCl9KSkpLnRoZW4obCxhKX1zKChpPWkuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkJpdEtlZXBBZGFwdGVyPXQuQml0Z2V0V2FsbGV0QWRhcHRlck5hbWU9dm9pZCAwO2NvbnN0IGk9byxyPWYsbD11ZSxhPWhlO3QuQml0Z2V0V2FsbGV0QWRhcHRlck5hbWU9bnVsbD09PWwuV2FsbGV0SW5mb3x8dm9pZCAwPT09bC5XYWxsZXRJbmZvP3ZvaWQgMDpsLldhbGxldEluZm8ubmFtZTtjbGFzcyBzIGV4dGVuZHMgaS5BZGFwdGVye2NvbnN0cnVjdG9yKGU9e30pe3ZhciByO3N1cGVyKCksdGhpcy5uYW1lPXQuQml0Z2V0V2FsbGV0QWRhcHRlck5hbWUsdGhpcy51cmw9bnVsbD09PWwuV2FsbGV0SW5mb3x8dm9pZCAwPT09bC5XYWxsZXRJbmZvP3ZvaWQgMDpsLldhbGxldEluZm8uaG9tZXBhZ2UsdGhpcy5pY29uPW51bGw9PT0ocj1udWxsPT09bC5XYWxsZXRJbmZvfHx2b2lkIDA9PT1sLldhbGxldEluZm8/dm9pZCAwOmwuV2FsbGV0SW5mby5sb2dvbGlzdCl8fHZvaWQgMD09PXI/dm9pZCAwOnIuYmFzZTY0LHRoaXMuX3JlYWR5U3RhdGU9aS5XYWxsZXRSZWFkeVN0YXRlLkxvYWRpbmcsdGhpcy5fc3RhdGU9aS5BZGFwdGVyU3RhdGUuTG9hZGluZyx0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbD1udWxsLHRoaXMuX2NoZWNrUHJvbWlzZT1udWxsLHRoaXMuX3VwZGF0ZVdhbGxldD0oKT0+bih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3ZhciBlLHQ7bGV0IG49dGhpcy5zdGF0ZSxyPXRoaXMuYWRkcmVzcztpZigoMCxhLnN1cHBvcnRCaXRnZXRXYWxsZXQpKCkpe2NvbnN0IG89bmV3IGwuVHJvbkxpbmtBZGFwdGVyO3RoaXMuX3dhbGxldD0oeWllbGQgbnVsbD09bz92b2lkIDA6by5nZXRQcm92aWRlcigpLnRyb25MaW5rKXx8KG51bGw9PT0oZT13aW5kb3cuYml0a2VlcCl8fHZvaWQgMD09PWU/dm9pZCAwOmUudHJvbkxpbmspLHI9KG51bGw9PT0odD10aGlzLl93YWxsZXQudHJvbldlYi5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuYmFzZTU4KXx8bnVsbCxuPXRoaXMuX3dhbGxldC5yZWFkeT9pLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQ6aS5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCx0aGlzLl93YWxsZXQucmVhZHl8fHRoaXMuY2hlY2tGb3JXYWxsZXRSZWFkeSgpfWVsc2UgdGhpcy5fd2FsbGV0PW51bGwscj1udWxsLG49aS5BZGFwdGVyU3RhdGUuTm90Rm91bmQ7dGhpcy5zZXRBZGRyZXNzKHIpLHRoaXMuc2V0U3RhdGUobil9KSk7Y29uc3R7Y2hlY2tUaW1lb3V0Om89MmUzLG9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQ6cz0hMCxvcGVuQXBwV2l0aERlZXBsaW5rOmM9ITB9PWU7aWYoIm51bWJlciIhPXR5cGVvZiBvKXRocm93IG5ldyBFcnJvcigiW0JpdEtlZXBBZGFwdGVyXSBjb25maWcuY2hlY2tUaW1lb3V0IHNob3VsZCBiZSBhIG51bWJlciIpO2lmKHRoaXMuY29uZmlnPXtjaGVja1RpbWVvdXQ6byxvcGVuVXJsV2hlbldhbGxldE5vdEZvdW5kOnMsb3BlbkFwcFdpdGhEZWVwbGluazpjfSx0aGlzLl9jb25uZWN0aW5nPSExLHRoaXMuX3dhbGxldD1udWxsLHRoaXMuX2FkZHJlc3M9bnVsbCwhKDAsaS5pc0luQnJvd3NlcikoKSlyZXR1cm4gdGhpcy5fcmVhZHlTdGF0ZT1pLldhbGxldFJlYWR5U3RhdGUuTm90Rm91bmQsdm9pZCB0aGlzLnNldFN0YXRlKGkuQWRhcHRlclN0YXRlLk5vdEZvdW5kKTsoMCxhLnN1cHBvcnRCaXRnZXRXYWxsZXQpKCk/KHRoaXMuX3JlYWR5U3RhdGU9aS5XYWxsZXRSZWFkeVN0YXRlLkZvdW5kLHRoaXMuX3VwZGF0ZVdhbGxldCgpKTp0aGlzLl9jaGVja1dhbGxldCgpLnRoZW4oKCgpPT57dGhpcy5jb25uZWN0ZWQmJnRoaXMuZW1pdCgiY29ubmVjdCIsdGhpcy5hZGRyZXNzfHwiIil9KSl9Z2V0IGFkZHJlc3MoKXtyZXR1cm4gdGhpcy5fYWRkcmVzc31nZXQgc3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGV9Z2V0IHJlYWR5U3RhdGUoKXtyZXR1cm4gdGhpcy5fcmVhZHlTdGF0ZX1nZXQgY29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfW5ldHdvcmsoKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtpZih5aWVsZCB0aGlzLl9jaGVja1dhbGxldCgpLHRoaXMuc3RhdGUhPT1pLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpdGhyb3cgbmV3IGkuV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I7Y29uc3QgZT10aGlzLl93YWxsZXQ7aWYoIWV8fCFlLnRyb25XZWIpdGhyb3cgbmV3IGkuV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I7dHJ5e3JldHVybiB5aWVsZCgwLHIuZ2V0TmV0d29ya0luZm9CeVRyb25XZWIpKGUudHJvbldlYil9Y2F0Y2goZSl7dGhyb3cgbmV3IGkuV2FsbGV0R2V0TmV0d29ya0Vycm9yKG51bGw9PWU/dm9pZCAwOmUubWVzc2FnZSxlKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9Y29ubmVjdCgpe3ZhciBlO3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2lmKHRoaXMuY2hlY2tJZk9wZW5BcHAoKSx0aGlzLmNvbm5lY3RlZHx8dGhpcy5jb25uZWN0aW5nKXJldHVybjtpZih5aWVsZCB0aGlzLl9jaGVja1dhbGxldCgpLHRoaXMucmVhZHlTdGF0ZT09PWkuV2FsbGV0UmVhZHlTdGF0ZS5Ob3RGb3VuZCl0aHJvdyExIT09dGhpcy5jb25maWcub3BlblVybFdoZW5XYWxsZXROb3RGb3VuZCYmKDAsaS5pc0luQnJvd3NlcikoKSYmd2luZG93Lm9wZW4odGhpcy51cmwsIl9ibGFuayIpLG5ldyBpLldhbGxldE5vdEZvdW5kRXJyb3I7Y29uc3QgdD10aGlzLl93YWxsZXQ7aWYoISgwLGkuaXNJbk1vYmlsZUJyb3dzZXIpKCkpe2lmKCF0KXJldHVybjt0aGlzLl9jb25uZWN0aW5nPSEwO3RyeXt5aWVsZCB0LnJlcXVlc3Qoe21ldGhvZDoidHJvbl9yZXF1ZXN0QWNjb3VudHMifSl9Y2F0Y2goZSl7dGhyb3cgbmV3IGkuV2FsbGV0Q29ubmVjdGlvbkVycm9yKGUubWVzc2FnZSl9fWNvbnN0IG49KG51bGw9PT0oZT10LnRyb25XZWIuZGVmYXVsdEFkZHJlc3MpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmJhc2U1OCl8fCIiO3RoaXMuc2V0QWRkcmVzcyhuKSx0aGlzLnNldFN0YXRlKGkuQWRhcHRlclN0YXRlLkNvbm5lY3RlZCksdGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3N8fCIiKX1jYXRjaChlKXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIixlKSxlfWZpbmFsbHl7dGhpcy5fY29ubmVjdGluZz0hMX19KSl9ZGlzY29ubmVjdCgpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dGhpcy5zdGF0ZT09PWkuQWRhcHRlclN0YXRlLkNvbm5lY3RlZCYmKHRoaXMuc2V0QWRkcmVzcyhudWxsKSx0aGlzLnNldFN0YXRlKGkuQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpLHRoaXMuZW1pdCgiZGlzY29ubmVjdCIpKX0pKX1zaWduVHJhbnNhY3Rpb24oZSx0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCBuPXlpZWxkIHRoaXMuY2hlY2tBbmRHZXRXYWxsZXQoKTt0cnl7cmV0dXJuIHlpZWxkIG4udHJvbldlYi50cnguc2lnbihlLHQpfWNhdGNoKGUpe3Rocm93IGUgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaS5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcihlLm1lc3NhZ2UsZSk6bmV3IGkuV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IoZSxuZXcgRXJyb3IoZSkpfX1jYXRjaChlKXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIixlKSxlfX0pKX1tdWx0aVNpZ24oLi4uZSl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3QgdD15aWVsZCB0aGlzLmNoZWNrQW5kR2V0V2FsbGV0KCk7dHJ5e3JldHVybiB5aWVsZCB0LnRyb25XZWIudHJ4Lm11bHRpU2lnbiguLi5lKX1jYXRjaChlKXt0aHJvdyBlIGluc3RhbmNlb2YgRXJyb3I/bmV3IGkuV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IoZS5tZXNzYWdlLGUpOm5ldyBpLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yKGUsbmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9c2lnbk1lc3NhZ2UoZSx0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCBuPXlpZWxkIHRoaXMuY2hlY2tBbmRHZXRXYWxsZXQoKTt0cnl7cmV0dXJuIHlpZWxkIG4udHJvbldlYi50cnguc2lnbk1lc3NhZ2VWMihlLHQpfWNhdGNoKGUpe3Rocm93IGUgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaS5XYWxsZXRTaWduTWVzc2FnZUVycm9yKGUubWVzc2FnZSxlKTpuZXcgaS5XYWxsZXRTaWduTWVzc2FnZUVycm9yKGUsbmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9Y2hlY2tBbmRHZXRXYWxsZXQoKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2lmKHRoaXMuY2hlY2tJZk9wZW5BcHAoKSx5aWVsZCB0aGlzLl9jaGVja1dhbGxldCgpLCF0aGlzLmNvbm5lY3RlZCl0aHJvdyBuZXcgaS5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtjb25zdCBlPXRoaXMuX3dhbGxldDtpZighZXx8IWUudHJvbldlYil0aHJvdyBuZXcgaS5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtyZXR1cm4gZX0pKX1jaGVja0ZvcldhbGxldFJlYWR5KCl7aWYodGhpcy5jaGVja1JlYWR5SW50ZXJ2YWwpcmV0dXJuO2xldCBlPTA7Y29uc3QgdD1NYXRoLmZsb29yKHRoaXMuY29uZmlnLmNoZWNrVGltZW91dC8yMDApO3RoaXMuY2hlY2tSZWFkeUludGVydmFsPXNldEludGVydmFsKCgoKT0+bih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RoaXMuX3dhbGxldCYmdGhpcy5fd2FsbGV0LnJlYWR5Pyh0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbCksdGhpcy5jaGVja1JlYWR5SW50ZXJ2YWw9bnVsbCx5aWVsZCB0aGlzLl91cGRhdGVXYWxsZXQoKSx0aGlzLmVtaXQoImNvbm5lY3QiLHRoaXMuYWRkcmVzc3x8IiIpKTplPnQ/KHRoaXMuY2hlY2tSZWFkeUludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuY2hlY2tSZWFkeUludGVydmFsKSx0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbD1udWxsKTplKyt9KSkpLDIwMCl9X2NoZWNrV2FsbGV0KCl7aWYodGhpcy5yZWFkeVN0YXRlPT09aS5XYWxsZXRSZWFkeVN0YXRlLkZvdW5kKXJldHVybiBQcm9taXNlLnJlc29sdmUoITApO2lmKHRoaXMuX2NoZWNrUHJvbWlzZSlyZXR1cm4gdGhpcy5fY2hlY2tQcm9taXNlO2NvbnN0IGU9TWF0aC5mbG9vcih0aGlzLmNvbmZpZy5jaGVja1RpbWVvdXQvMTAwKTtsZXQgdCxuPTA7cmV0dXJuIHRoaXMuX2NoZWNrUHJvbWlzZT1uZXcgUHJvbWlzZSgocj0+e2NvbnN0IG89KCk9PntuKys7Y29uc3Qgbz0oMCxhLnN1cHBvcnRCaXRnZXRXYWxsZXQpKCk7KG98fG4+ZSkmJih0JiZjbGVhckludGVydmFsKHQpLHRoaXMuX3JlYWR5U3RhdGU9bz9pLldhbGxldFJlYWR5U3RhdGUuRm91bmQ6aS5XYWxsZXRSZWFkeVN0YXRlLk5vdEZvdW5kLHRoaXMuX3VwZGF0ZVdhbGxldCgpLHRoaXMuZW1pdCgicmVhZHlTdGF0ZUNoYW5nZWQiLHRoaXMucmVhZHlTdGF0ZSkscihvKSl9O3Q9c2V0SW50ZXJ2YWwobywxMDApLG8oKX0pKSx0aGlzLl9jaGVja1Byb21pc2V9Y2hlY2tJZk9wZW5BcHAoKXtpZighMSE9PXRoaXMuY29uZmlnLm9wZW5BcHBXaXRoRGVlcGxpbmsmJigwLGEub3BlbkJpdGdldFdhbGxldCkoKSl0aHJvdyBuZXcgaS5XYWxsZXROb3RGb3VuZEVycm9yfXNldEFkZHJlc3MoZSl7dGhpcy5fYWRkcmVzcz1lfXNldFN0YXRlKGUpe2UhPT10aGlzLnN0YXRlJiYodGhpcy5fc3RhdGU9ZSx0aGlzLmVtaXQoInN0YXRlQ2hhbmdlZCIsZSkpfX10LkJpdEtlZXBBZGFwdGVyPXN9KHIpLGZ1bmN0aW9uKHQpe3ZhciBuPWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQsbixpKXt2b2lkIDA9PT1pJiYoaT1uKTt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7ciYmISgiZ2V0ImluIHI/IXQuX19lc01vZHVsZTpyLndyaXRhYmxlfHxyLmNvbmZpZ3VyYWJsZSl8fChyPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGkscil9OmZ1bmN0aW9uKGUsdCxuLGkpe3ZvaWQgMD09PWkmJihpPW4pLGVbaV09dFtuXX0pLGk9ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpIGluIGUpImRlZmF1bHQiPT09aXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSl8fG4odCxlLGkpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksaShyLHQpLGkoaGUsdCl9KGkpLHQoaSl9KSk7Cg=="}},"time_used":11,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":10,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"notrx.app/cdn-cgi/challenge-platform/h/g/scripts/jsd/b0da9f4911ba/main.js?","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.302Z","timestamp":1785140382302,"http_version":"HTTP/3","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":"notrx.app","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 05 Jun 2026 10:11:58 GMT","end":"Thu, 03 Sep 2026 11:10:28 GMT"},"fingerprint":{"sha1":"21:FA:3E:30:90:96:6A:B5:B7:18:FF:0A:D4:36:15:0F:AA:4E:DD:C4","sha256":"87:17:DF:EE:2F:67:AA:29:CB:F1:8B:A8:74:4D:B1:B0:80:70:C5:F8:35:37:24:CA:C0:CE:B3:23:ED:D2:94:59"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/h/g/scripts/jsd/b0da9f4911ba/main.js? HTTP/1.1\r\nHost: notrx.app\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\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/3 200 \r\ncontent-type: application/javascript; charset=UTF-8\r\ncache-control: max-age=14400, stale-if-error=10800, stale-while-revalidate=10800, public\r\nx-content-type-options: nosniff\r\ncontent-encoding: zstd\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\nserver: cloudflare\r\npriority: u=3,i=?0\r\ncf-ray: a21a387d6fcf8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]}],"data":{"size":20770,"size_decoded":10089,"mime_type":"application/javascript; charset=UTF-8","magic":"ASCII text, with very long lines (20770), with no line terminators","md5":"43f622022a8ab393cc4a164b2c7c303c","sha1":"683e005b1da78c540f51fba195eb22571d854af5","sha256":"a8f882c03c115d6846e77706a101eb2a84070fcec33aa19783939951cc657c37","sha512":"76649a39c2bc9b9585ac79498b760f58b4f145bfdcd9e93879a2c4c512233daa5bb0d4e18468e9c5f14455db763d0e998a337e39ebe93e6e228d6a3ac2a54628","ssdeep":"384:bXTc8Ps/tOGK/riRg1D+U1bdmt9/nRNOOGUrmX0TrKlthfy2NxrM5QyF1k/YB66:bXQ8Ps1QDewiUqtFOnAytMqyo/YJ","tlshash":"559294ca7ccab408934676b4453f34e6a27f6c84249cca45d1a092dc7d3b75e98bacdc","first_seen":"2026-07-27T07:56:22.06761Z","last_seen":"2026-07-27T08:20:14.893132Z","times_seen":2,"resource_available":true,"data":"d2luZG93Ll9jZl9jaGxfb3B0ID0ge2JsRXc2OidnJ307fmZ1bmN0aW9uKEJELGEsVixQLGwsYyxlLHEsbSxNLEQsaixILGksVSx6KXtCRD1aLGZ1bmN0aW9uKHksRyxaYSxCTSxULFcpe2ZvcihaYT17eTo1NjksRzo1MjksVDo1OTgsVzo0MzgsZjo2ODUseDo0NTYsRTo1MjcsWDo2MjAsczo1ODcsUTo0ODJ9LEJNPVosVD15KCk7ISFbXTspdHJ5e2lmKFc9LXBhcnNlSW50KEJNKFphLnkpKS8xKy1wYXJzZUludChCTShaYS5HKSkvMiooLXBhcnNlSW50KEJNKFphLlQpKS8zKSstcGFyc2VJbnQoQk0oWmEuVykpLzQqKHBhcnNlSW50KEJNKFphLmYpKS81KSstcGFyc2VJbnQoQk0oWmEueCkpLzYrcGFyc2VJbnQoQk0oWmEuRSkpLzcrLXBhcnNlSW50KEJNKFphLlgpKS84KigtcGFyc2VJbnQoQk0oWmEucykpLzkpK3BhcnNlSW50KEJNKFphLlEpKS8xMCxHPT09VylicmVhaztlbHNlIFQucHVzaChULnNoaWZ0KCkpfWNhdGNoKGYpe1QucHVzaChULnNoaWZ0KCkpfX0oQiwzNDM1ODgpLGE9dGhpc3x8c2VsZixWPWFbQkQoNjEwKV0sUD1mdW5jdGlvbihaeixaayxaQyxaaCxaZCxaaSxCSCx5LEcsVCxXLGYseCxFLHMsUSxCMCl7Zm9yKFp6PXt5OjQ2NyxHOjQ3OSxUOjUxNCxXOjU0MCxmOjY5MSx4OjYxNyxFOjYxNH0sWms9e3k6NjMwLEc6NjAxLFQ6NTMyLFc6NDg4LGY6NTQwLHg6NjQwLEU6NjkzLFg6NDQ1LHM6NTMyLFE6NTIxfSxaQz17eTo2MzN9LFpoPXt5OjQ0NX0sWmQ9e3k6NTQ4fSxaaT17eTo1NzV9LEJIPUJELHk9eyJoZWRnRSI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMnxCMX0sIm55TFRjIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPj4+QjJ9LCJaWlVUbCI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMV5CMn0sImJocmJuIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxK0IyfSwiUklWYmEiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjEoQjIpfSwiRERNSkEiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjEtQjJ9LCJwaFN0SyI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMStCMn0sIm5URkpSIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxLUIyfSwiQVRqWm4iOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjEtQjJ9LCJxWXRMVSI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMTxCMn0sIlJtZ0NBIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPEIyfSwidGhwRGsiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjE8PUIyfSwiY3FqVkMiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjE8QjJ9LCJjSGNPdyI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMT5CMn0sInVHdW1rIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxKEIyKX0sImRTaFRDIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPEIyfSwiSUZzQXkiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjE8QjJ9LCJIWGdnbiI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMStCMn0sImhRWG52IjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxLUIyfSwiT3JKUGoiOmZ1bmN0aW9uKEIxLEIyLEIzKXtyZXR1cm4gQjEoQjIsQjMpfX0sRz1bXSxUPVtdLFc9WzMsNCw1LDYsNyw4LDksMTAsMTEsMTMsMTUsMTcsMTksMjMsMjcsMzEsMzUsNDMsNTEsNTksNjcsODMsOTksMTE1LDEzMSwxNjMsMTk1LDIyNywyNThdLGY9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0seD1bMSwyLDMsNCw1LDcsOSwxMywxNywyNSwzMyw0OSw2NSw5NywxMjksMTkzLDI1NywzODUsNTEzLDc2OSwxMDI1LDE1MzcsMjA0OSwzMDczLDQwOTcsNjE0NSw4MTkzLDEyMjg5LDE2Mzg1LDI0NTc3XSxFPVswLDAsMCwwLDEsMSwyLDIsMywzLDQsNCw1LDUsNiw2LDcsNyw4LDgsOSw5LDEwLDEwLDExLDExLDEyLDEyLDEzLDEzXSxzPTA7eVtCSChaei55KV0ocywyODgpO3lbQkgoWnouRyldKHMsMTQ0KT8oUT15W0JIKFp6LlQpXSg0OCxzKSxCMD04KTp5W0JIKFp6LlcpXShzLDI1Nik/KFE9eVtCSChaei5mKV0oNDAwK3MsMTQ0KSxCMD05KTpzPDI4MD8oUT1zLTI1NixCMD03KTooUT15W0JIKFp6LngpXSgxOTIrcywyODApLEIwPTgpLEdbc109eVtCSChaei5FKV0oWCxRLEIwKSxUW3NdPUIwLHMrKyk7cmV0dXJuIGZ1bmN0aW9uKEIxLFpuLFpVLFpPLFpyLEJOLEIyLEIzLEI0LEI1LEI2LEI3LEI4LEJHLEJULEJhLEJWLEJ2LEJQLEJsLEJjLEJlKXtmb3IoWm49e3k6NjY4LEc6NjkxLFQ6NjQwfSxaVT17eTo2NjAsRzo1MTgsVDo2NjV9LFpPPXt5OjYzMCxHOjY4MyxUOjUyOCxXOjQ1NSxmOjQ5Mn0sWnI9e3k6NjMwfSxCTj1CSCxCMj17Imx4a3ZYIjpmdW5jdGlvbihCSyxCbyxCcSl7cmV0dXJuIEJLKEJvLEJxKX0sIk51WUpHIjpmdW5jdGlvbihCSyxCbyl7cmV0dXJuIEJLPDxCb30sIm1IS3pEIjpmdW5jdGlvbihCSyxCbyl7cmV0dXJuIEJLK0JvfSwickdOUmMiOmZ1bmN0aW9uKEJLLEJvLEJKKXtyZXR1cm4gQko9Wix5W0JKKFpkLnkpXShCSyxCbyl9LCJlaVJsUiI6ZnVuY3Rpb24oQkssQm8sQncpe3JldHVybiBCdz1aLHlbQncoWmgueSldKEJLLEJvKX19LEIzPVtdLEI0PTAsQjU9MCxCNj1uZXcgSW50MzJBcnJheSg4MTkyKSxCNz1uZXcgSW50MzJBcnJheSgzMjc2OCksQjg9ODE5MSxCOSgxLDEpLEI5KDEsMiksQkc9MCxCVD1CMVtCTihaay55KV07eVtCTihaay5HKV0oQkcsQlQpOyl7aWYoQmE9MCxCVj0wLEJHKzM8PUJUKXtmb3IoQnY9QlkoQkcpLEJQPTA7QnY+PTAmJnlbQk4oWmsuVCldKEJ2LEJHKSYmeVtCTihaay5XKV0oQkctQnYsMzI3NjgpJiZCUDwyO0JQKyspe2ZvcihCbD1CVC1CRyxCbD4yNTgmJihCbD0yNTgpLEJjPTA7eVtCTihaay5mKV0oQmMsQmwpJiZCMVt5W0JOKFprLngpXShCdixCYyldPT09QjFbQkcrQmNdO0JjKyspO0J2PSh5W0JOKFprLkUpXShCYyxCYSkmJkJjPjImJihCYT1CYyxCVj15W0JOKFprLlgpXShCRyxCdiksQmM9PT1CbCYmKEJQPTIpKSxCN1szMjc2NyZCdl0tMSl9fWlmKHlbQk4oWmsuRSldKEJhLDIpKXtmb3IoQlooQmEsQlYpLEJlPTE7eVtCTihaay5zKV0oQmUsQmEpJiZCRytCZSszPD1CVDtCWShCRytCZSksQmUrKyk7QkcrPUJhfWVsc2UgQkIoQjFbQkcrK10pfXJldHVybiB5W0JOKFprLlEpXShCQiwyNTYpLEI1PjAmJihCM1tCM1tCTihaay55KV1dPTI1NSZCNCksQjM7ZnVuY3Rpb24gQlkoQkssQkwsQm8sQnEpe3JldHVybiBCTD1aLEJvPXlbQkwoWm4ueSldKEJ5LEJLKSxCcT15W0JMKFpuLkcpXShCNltCb10sMSksQjdbMzI3NjcmQktdPXlbQkwoWm4uVCldKEJxLDEpLEI2W0JvXT1CSysxLEJxfWZ1bmN0aW9uIEI5KEJLLEJvLEJTKXtmb3IoQlM9WixCNHw9Qks8PEI1LEI1Kz1CbztCNT49ODtCM1tCM1tCUyhaci55KV1dPUI0JjI1NS40MyxCND4+Pj04LEI1LT04KTt9ZnVuY3Rpb24gQkIoQkssQkkpe0JJPVosQjJbQkkoWkMueSldKEI5LEdbQktdLFRbQktdKX1mdW5jdGlvbiBCeShCSyxCaSl7cmV0dXJuIEJpPVoseVtCaShaVS55KV0oKHlbQmkoWlUuRyldKEIxW0JLXTw8NSxCMVt5W0JpKFpVLlQpXShCSywxKV08PDIpXkIxW0JLKzJdKSZCOCwwKX1mdW5jdGlvbiBCWihCSyxCbyxCQSxCcSxCbSxCYil7Zm9yKEJBPVosQnE9MCxCYj0wO0JxPFdbQkEoWk8ueSldO0JxKyspaWYoQm09V1tCcV0rQjJbQkEoWk8uRyldKDEsZltCcV0pLTEsQks8PUJtKXtCYj1CcTticmVha31mb3IoQkIoQjJbQkEoWk8uVCldKDI1NyxCYikpLGZbQmJdJiZCOShCSy1XW0JiXSxmW0JiXSksQnE9MDtCcTx4W0JBKFpPLnkpXTtCcSsrKWlmKEJtPUIyW0JBKFpPLlcpXSh4W0JxXStCMltCQShaTy5HKV0oMSxFW0JxXSksMSksQm88PUJtKXtCOShYKEJxLDUpLDUpLEVbQnFdJiZCOShCMltCQShaTy5mKV0oQm8seFtCcV0pLEVbQnFdKTticmVha319fTtmdW5jdGlvbiBYKEIxLEIyLEJqLEIzKXtmb3IoQmo9WixCMz0wO0IyPjA7QjM9eVtCaihaaS55KV0oQjM8PDEuMDQsMSZCMSksQjE+Pj49MSxCMi0tKTtyZXR1cm4gQjN9fSgpLGw9ZnVuY3Rpb24oeVAseXYseVYseWEseVQseUcseVksQlUsRyxULEIwKXtyZXR1cm4geVA9e3k6NTE2fSx5dj17eTo2MzAsRzo2MDAsVDo1MjYsVzo2MzAsZjo2MzAseDo1NzksRTo2MDR9LHlWPXt5OjYzMCxHOjU1NixUOjY3NSxXOjU4NCxmOjU3Nix4OjU2MSxFOjU5NSxYOjY5NSxzOjQ0MCxROjQ4MCxCMDo2MTYsQjE6NTAwLEIyOjU2NSxCMzo1ODEsQjQ6NTg0LEI1OjYyMyxCNjo2NTYsQjc6NTM3LEI4OjY5NX0seWE9e3k6NjMwLEc6NjUwLFQ6NjA1LFc6NDk4LGY6NTI0LHg6NDc1LEU6NDU5LFg6NDk3LHM6NDk3LFE6NDk3LEIwOjQ5NyxCMTo1ODEsQjI6NTgxLEIzOjQ2NixCNDo1MjQsQjU6NDk3LEI2OjYyMyxCNzo2OTUsQjg6NTAwLEI5OjQ1MH0seVQ9e3k6NTU5LEc6NDc1LFQ6NjMwLFc6NjAwLGY6NTU2LHg6NjUwfSx5Rz17eTo0NTksRzo1MDB9LHlZPXt5OjQ2MixHOjYzMCxUOjU1NixXOjQ4N30sQlU9QkQsRz17IlNqWklpIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPEIyfSwiWEN6S3QiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjE8PEIyfSwid0JVZ3MiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjE+Pj5CMn0sIk9GU0NmIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxKEIyKX0sIml5enFUIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPEIyfSwiRHhxT1kiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjEoQjIpfSwiQmFtTGEiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjElQjJ9LCJSZGpicSI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMS1CMn0sIlBISU9sIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxL0IyfSwiYVZNRkkiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjErQjJ9LCJxT01VRyI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMSZCMn0sIklwZ29sIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPDxCMn0sIllkRXhqIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPj4+QjJ9LCJNY2NnVyI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMSZCMn0sIldoT0hCIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPEIyfSwiYk9GQ04iOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjF8QjJ9LCJjbmlBYyI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMStCMn0sInVSTXdLIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIyfEIxfSwieGVqdUEiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjImQjF9LCJWR2NnZyI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMXxCMn0sIkRTSlJPIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIyJkIxfSwicWtXZGsiOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjF8QjJ9LCJLZ016TiI6ZnVuY3Rpb24oQjEsQjIpe3JldHVybiBCMSZCMn0sInJKbm5qIjpmdW5jdGlvbihCMSxCMil7cmV0dXJuIEIxPEIyfSwiRWVPV2ciOmZ1bmN0aW9uKEIxLEIyKXtyZXR1cm4gQjEoQjIpfX0sVD1gdDUtaXgyZlUrdm1LM29NQXVDSlBOd1NPUnoxZFhCZzRlOWokRlpEVjBobnBZSWNzYTdiR3lMa0VRcVdyVDg2SGxgLEIwPXt9LEIwW0JVKHlQLnkpXT1RLEIwO2Z1bmN0aW9uIFEoQjEsQk8sQjIsQjMsQjQsQjUpeyhCTz1aLEIxPXMoQjE9PW51bGw/YGA6QjEpLEIyPUIxLEIzPTAsQjFbQk8oeXYueSldPj0xMjgpJiYoQjQ9R1tCTyh5di5HKV0oUCxCMSksR1tCTyh5di5UKV0oQjRbQk8oeXYuVyldLEIxW0JPKHl2LmYpXSkmJihCMj1CNCxCMz0xKSk7cmV0dXJuIEI1PW5ldyBVaW50OEFycmF5KEIyW0JPKHl2LlcpXSszKSxCNVswXT0yNTMsQjVbMV09MSxCNVsyXT1CMyxCNVtCTyh5di54KV0oQjIsMyksWChHW0JPKHl2LkUpXShFLEI1KSl9ZnVuY3Rpb24gVyhCMSxCRixCMixCMyl7Zm9yKEJGPVosQjI9MjE2NjEzNjI2MSxCMz0wO0dbQkYoeVkueSldKEIzLEIxW0JGKHlZLkcpXSk7QjI9KEIyXj1CMVtCRih5WS5UKV0oQjMpLE1hdGhbQkYoeVkuVyldKEIyLDE2Nzc3NjE5KT4+PjApLEIzKyspO3JldHVybiAwPT09QjI/Mjc3OTA2MjA3NzpCMn1mdW5jdGlvbiBYKEIxLEJyLEIyLEIzLEI0LEI1LEI2LEI3LEI4KXtmb3IoQnI9WixCMj1bXSxCMz0wLEI0PUIxW0JyKHlhLnkpXSxCNT1HW0JyKHlhLkcpXShCNCwzKSxCNj1HW0JyKHlhLlQpXShCNCxCNSksQjJbQnIoeWEueSldPUdbQnIoeWEuVyldKEI2LDMpKjQrKEI1P0dbQnIoeWEuZildKEI1LDEpOjApLEI3PTA7R1tCcih5YS54KV0oQjcsQjYpO0I4PUdbQnIoeWEuRSldKEIxW0I3XSwxNil8QjFbQjcrMV08PDguNzh8QjFbQjcrMl0sQjJbQjMrK109VFtCcih5YS5YKV0oNjMmQjg+Pj4xOC41KSxCMltCMysrXT1UW0JyKHlhLnMpXShCOD4+PjEyLjMmNjMuNyksQjJbQjMrK109VFtCcih5YS5RKV0oNjMuMjgmQjg+Pj42LjY1KSxCMltCMysrXT1UW0JyKHlhLkIwKV0oNjMmQjgpLEI3Kz0zKTtyZXR1cm4gMT09PUI1PyhCOD1CMVtCNl08PDE2LjY2LEIyW0IzKytdPVRbQnIoeWEuQjApXShHW0JyKHlhLkIxKV0oQjg+Pj4xOC4yOCw2MykpLEIyW0IzKytdPVRbQnIoeWEuWCldKEdbQnIoeWEuQjIpXShCOD4+PjEyLDYzKSkpOjI9PT1CNSYmKEI4PUdbQnIoeWEuQjMpXShCMVtCNl0sMTYpfEIxW0dbQnIoeWEuQjQpXShCNiwxKV08PDgsQjJbQjMrK109VFtCcih5YS5CNSldKEdbQnIoeWEuQjYpXShCOCwxOCkmNjMuNzQpLEIyW0IzKytdPVRbQnIoeWEuUSldKDYzJkI4Pj4+MTIpLEIyW0IzKytdPVRbQnIoeWEuQjApXShHW0JyKHlhLkI3KV0oR1tCcih5YS5COCldKEI4LDYpLDYzKSkpLEIyW0JyKHlhLkI5KV0oYGApfWZ1bmN0aW9uIEUoQjEsQmgsQjIsQjMpe2ZvcihCaD1aLEIyPUdbQmgoeVQueSldKFcsVCksQjM9MDtHW0JoKHlULkcpXShCMyxCMVtCaCh5VC5UKV0pO0IyPUdbQmgoeVQuVyldKHgsQjIpLEIxW0IzXV49QjI+Pj4yNF5UW0JoKHlULmYpXShHW0JoKHlULngpXShCMyw2NCkpLEIzKyspO3JldHVybiBCMX1mdW5jdGlvbiB4KEIxLEJkKXtyZXR1cm4gQmQ9WixCMV49R1tCZCh5Ry55KV0oQjEsMTMpLEIxXj1CMT4+PjE3LjkyLEIxXj1CMTw8NS45NyxHW0JkKHlHLkcpXShCMSwwKX1mdW5jdGlvbiBzKEIxLEJDLEIyLEIzLEI0LEI1LEI2LEI3LEI4KXtmb3IoQkM9WixCMj1bXSxCMz0wLEI0PTA7QjQ8QjFbQkMoeVYueSldO0I0KyspaWYoQjU9QjFbQkMoeVYuRyldKEI0KSxCNTwxMjgpQjJbQjMrK109QjU7ZWxzZSBpZihHW0JDKHlWLlQpXShCNSwyMDQ4KSlCMltCMysrXT1CNT4+PjYuMDd8MTkyLEIyW0IzKytdPUdbQkMoeVYuVyldKDEyOCxCNSY2My43OSk7ZWxzZSBpZihCNT49NTUyOTYmJkI1PD01NjMxOSYmR1tCQyh5Vi5mKV0oQjQsMSk8QjFbQkMoeVYueSldKXtmb3IoQjY9QkMoeVYueClbQkMoeVYuRSldKGB8YCksQjc9MDshIVtdOyl7c3dpdGNoKEI2W0I3KytdKXtjYXNlYDBgOkIyW0IzKytdPTEyOHxHW0JDKHlWLlgpXShCNSw2Myk7Y29udGludWU7Y2FzZWAxYDpCMltCMysrXT0xMjguMDV8QjU+Pj42LjI2JjYzO2NvbnRpbnVlO2Nhc2VgMmA6QjJbQjMrK109R1tCQyh5Vi5zKV0oMTI4LEdbQkMoeVYuUSldKEI1Pj4+MTIuNDIsNjMpKTtjb250aW51ZTtjYXNlYDNgOkIyW0IzKytdPUdbQkMoeVYuQjApXSgyNDAsR1tCQyh5Vi5CMSldKEI1LDE4KSk7Y29udGludWU7Y2FzZWA0YDpCNT02NTUzNisoR1tCQyh5Vi5CMildKEI1LDEwMjMpPDwxMC4xMSkrR1tCQyh5Vi5CMyldKEI4LDEwMjMpO2NvbnRpbnVlO2Nhc2VgNWA6Qjg9QjFbQkMoeVYuRyldKCsrQjQpO2NvbnRpbnVlfWJyZWFrfX1lbHNlIEIyW0IzKytdPUdbQkMoeVYuQjQpXSgyMjQsR1tCQyh5Vi5CNSldKEI1LDEyKSksQjJbQjMrK109R1tCQyh5Vi5CNildKDEyOCxHW0JDKHlWLkI3KV0oQjU+Pj42LDYzKSksQjJbQjMrK109MTI4fEdbQkMoeVYuQjgpXShCNSw2Myk7cmV0dXJuIEIyfX0oKSxjPXt9LGNbQkQoNjcxKV09YG9gLGNbQkQoNTMxKV09YHNgLGNbQkQoNjU5KV09YHVgLGNbQkQoNTQzKV09YHpgLGNbQkQoNTA3KV09YG5gLGNbQkQoNDY0KV09YElgLGU9YyxhW0JEKDU0NSldPWZ1bmN0aW9uKEcsVCxXLGYseXcseUoseUgsQnoseCxFLHMsUSxCMCxCMSxCMixCMyxCNCl7aWYoeXc9e3k6NTExLEc6NTcyLFQ6NDYxLFc6Njc5LGY6NTczLHg6NDcwLEU6Njc5LFg6NDM5LHM6NjIxLFE6NTIzLEIwOjQzOSxCMTo1MDQsQjI6NjU4LEIzOjU3MixCNDo2MzAsQjU6NTk5fSx5Sj17eTo2MzUsRzo2MzAsVDo2NTEsVzo1MTF9LHlIPXt5OjQ4MyxHOjYzMixUOjUzOSxXOjYyNH0sQno9QkQseD17fSx4W0J6KHl3LnkpXT1mdW5jdGlvbihCNSxCNil7cmV0dXJuIEI1K0I2fSx4W0J6KHl3LkcpXT1mdW5jdGlvbihCNSxCNil7cmV0dXJuIEI1PEI2fSx4W0J6KHl3LlQpXT1mdW5jdGlvbihCNSxCNil7cmV0dXJuIEI1PT09QjZ9LEU9eCxUPT09bnVsbHx8dm9pZCAwPT09VClyZXR1cm4gZjtmb3Iocz1vKFQpLEdbQnooeXcuVyldW0J6KHl3LmYpXSYmKHM9c1tCeih5dy54KV0oR1tCeih5dy5FKV1bQnooeXcuZildKFQpKSkscz1HW0J6KHl3LlgpXVtCeih5dy5zKV0mJkdbQnooeXcuUSldP0dbQnooeXcuQjApXVtCeih5dy5zKV0obmV3IEdbQnooeXcuUSldKHMpKTpmdW5jdGlvbihCNSxCcCxCNil7Zm9yKEJwPUJ6LEI1W0JwKHlKLnkpXSgpLEI2PTA7QjY8QjVbQnAoeUouRyldO0I1W0I2KzFdPT09QjVbQjZdP0I1W0JwKHlKLlQpXShFW0JwKHlKLlcpXShCNiwxKSwxKTpCNis9MSk7cmV0dXJuIEI1fShzKSxRPWBuQXNBYWAuc3BsaXQoYEFgKSxRPVFbQnooeXcuQjEpXVtCeih5dy5CMildKFEpLEIwPTA7RVtCeih5dy5CMyldKEIwLHNbQnooeXcuQjQpXSk7QjArKyl7QjI9KEIxPXNbQjBdLFcrQjEpO3RyeXtCMz1UW0IxXSxCND1LKEcsQjMpLFEoQjQpPyhCMT0rQjMsQjE9QjQ9PT1gc2AmJkVbQnooeXcuVCldKEIxLEIxKSxCMj09PUJ6KHl3LkI1KT9YKEIyLEI0KTpCMXx8WChCMixCMykpOlgoQjIsQjQpfWNhdGNoKEI1KXtYKEIyLGBpYCl9fXJldHVybiBmO2Z1bmN0aW9uIFgoQjUsQjYsQlIpe0JSPUJ6LE9iamVjdFtCUih5SC55KV1bQlIoeUguRyldW0JSKHlILlQpXShmLEI2KXx8KGZbQjZdPVtdKSxmW0I2XVtCUih5SC5XKV0oQjUpfX0scT1bQkQoNjY5KSxCRCg2ODApLEJEKDQ1MiksQkQoNjg0KSxCRCg0ODYpLEJEKDUwOSksQkQoNTc4KSxCRCg0NDkpLEJEKDU4OSksQkQoNjAyKSxCRCg2NzMpLEJEKDUwNSksQkQoNTA4KSxCRCg2NDcpLEJEKDUxNSksQkQoNjM2KSxCRCg1NDUpLEJEKDUzMCksQkQoNTg2KSxCRCg2MTIpLEJEKDYzNCldLG09cVtCRCg1MDQpXVtCRCg2NTgpXShxKSxhW0JEKDUzMCldPWZ1bmN0aW9uKHksRyx5QSxCZyxULFcsZix4LEUsWCxzKXtmb3IoeUE9e3k6NjY0LEc6NjA2LFQ6NjMwLFc6NjMwLGY6NjA3LHg6Njg4LEU6NjI0fSxCZz1CRCxUPXsiVXBGVVYiOmZ1bmN0aW9uKFEsQjApe3JldHVybiBRPEIwfSwiT2R1RGoiOmZ1bmN0aW9uKFEsQjApe3JldHVybiBRKEIwKX19LFc9T2JqZWN0W0JnKHlBLnkpXShHKSxmPTA7VFtCZyh5QS5HKV0oZixXW0JnKHlBLlQpXSk7ZisrKWZvcih4PVdbZl0sRT14PT09YGZgP2BOYDp4LEU9eVtFXXx8KHlbRV09W10pLHg9R1t4XSxYPTA7WDx4W0JnKHlBLlcpXTtzPXhbWF0sRVtCZyh5QS5mKV0ocykhPT0tMXx8VFtCZyh5QS54KV0obSxzKXx8RVtCZyh5QS5FKV0oYG8uYCtzKSxYKyspO30sTT0zMCxEPW51bGwsSD0hW10sYVtCRCg2NTUpXT10eXBlb2YgYVtCRCg2NTUpXT09PUJEKDU4Myk/YVtCRCg2NTUpXTpmdW5jdGlvbigpe30sYVtCRCg0NTMpXT10eXBlb2YgYVtCRCg0NTMpXT09PUJEKDU4Myk/YVtCRCg0NTMpXTpmdW5jdGlvbih5KXt9LGk9QSgpLGo9eyJpbnRlcnZhbCI6UyhpJiZpLmkpLCJ1cGRhdGVzIjowfSxhW0JEKDY4MCldJiYoSD0hIVtdLGo9YVtCRCg2ODApXSxkZWxldGUgYVtCRCg2ODApXSxqW0JEKDYxMSldPWpbQkQoNjExKV18fDApLFU9dHlwZW9mIFU9PT1CRCg1ODMpP1U6ZnVuY3Rpb24oeSxHLFlQLFl2LFlWLFlhLFo2LFQsVyxmLHgsRSl7WVA9e3k6NjA4LEc6NjI4LFQ6NTY3LFc6NjY5LGY6NTU0LHg6NjY3LEU6NjkyLFg6NjkwLHM6NjEzLFE6NDQyLEIwOjU0MixCMTo1NjAsQjI6NDcyLEIzOjQ4OSxCNDo0ODksQjU6NTcwLEI2OjQ4OSxCNzo1NzAsQjg6NDYwLEI5OjUzNixCQjo0NTMsQlo6NDU0LEJ5OjUxNixCWTo2NDh9LFl2PXt5OjYwMyxHOjU4NX0sWVY9e3k6NDk1LEc6NDQ3LFQ6NDg0LFc6NjMwLGY6NDgxLHg6NjU1LEU6NDk5LFg6NTEzLHM6NjE5fSxZYT17eTo2NDIsRzo2MTN9LFo2PUJELFQ9eyJpeFZTTCI6ZnVuY3Rpb24oWCxzKXtyZXR1cm4gWChzKX0sInlPbkFiIjpmdW5jdGlvbihYLHMpe3JldHVybiBYPHN9LCJQZ3lzRyI6ZnVuY3Rpb24oWCxzLFEpe3JldHVybiBYKHMsUSl9LCJURVRrcSI6ZnVuY3Rpb24oWCxzKXtyZXR1cm4gWChzKX0sIktZQ0VzIjpaNihZUC55KSwiZEVRcXAiOmZ1bmN0aW9uKFgscyl7cmV0dXJuIFgrc30sIlNwemVjIjpmdW5jdGlvbihYKXtyZXR1cm4gWCgpfSwiS2pvRVMiOmZ1bmN0aW9uKFgpe3JldHVybiBYKCl9fSxXPUEoKSxmPVRbWjYoWVAuRyldKFo2KFlQLlQpLGFbWjYoWVAuVyldW1o2KFlQLmYpXSkrYC9qc2Qvb25lc2hvdC9iMGRhOWY0OTExYmEvMC4wMDYxMTk2NTYxNDU4NTI0MTU6MTc4NTEzNTcwNDpCZ0hsUjB0Y0RnMHZpTjIwNmNsdWdLWGVjZ3dVbkw3di1pamo5YmJwamRjL2ArVy5yLHg9bmV3IGFbWjYoWVAueCldLHhbWjYoWVAuRSldKFo2KFlQLlgpLGYpLHhbWjYoWVAucyldPTVlMyx4W1o2KFlQLlEpXT1mdW5jdGlvbihaNyl7Wjc9WjYsVFtaNyhZYS55KV0oRyxaNyhZYS5HKSl9LHhbWjYoWVAuQjApXT1mdW5jdGlvbihaOCxYLHMpe2lmKFo4PVo2LHhbWjgoWVYueSldPj0yMDAmJlRbWjgoWVYuRyldKHhbWjgoWVYueSldLDMwMCkpe3RyeXtzPXhbWjgoWVYuVCldLHMmJnNbWjgoWVYuVyldPjAmJihYPUpTT05bWjgoWVYuZildKHMpKX1jYXRjaChRKXt9YVtaOChZVi54KV0oKSxUW1o4KFlWLkUpXShHLFo4KFlWLlgpLFgpfWVsc2UgRyhaOChZVi5zKSt4W1o4KFlWLnkpXSl9LHhbWjYoWVAuQjEpXT1mdW5jdGlvbihaOSl7Wjk9WjYsVFtaOShZdi55KV0oRyxUW1o5KFl2LkcpXSl9LEU9eyJ0IjpUW1o2KFlQLkIyKV0oQyksImxociI6VltaNihZUC5CMyldJiZWW1o2KFlQLkI0KV1bWjYoWVAuQjUpXT9WW1o2KFlQLkI2KV1bWjYoWVAuQjcpXTpgYCwiYXBpIjpXW1o2KFlQLkI4KV0/ISFbXTohW10sImMiOlRbWjYoWVAuQjkpXShJKSwicGF5bG9hZCI6eX0sVy51JiYoRVtgdWBdPVcudSksVy51dCYmKEVbYHV0YF09Vy51dCksYVtaNihZUC5CQildKEUpLHhbWjYoWVAuQlopXShsW1o2KFlQLkJ5KV0oSlNPTltaNihZUC5CWSldKEUpKSl9LHo9aygpLHAoKTtmdW5jdGlvbiBJKHlSLEJYLHkpe3JldHVybiB5Uj17eTo0NjAsRzo0NjV9LEJYPUJELHk9QSgpLHkmJnlbQlgoeVIueSldPyFbXTpqW0JYKHlSLkcpXT4wfWZ1bmN0aW9uIGQoWTEsWTAsWjEseSl7aWYoWTE9e3k6Njc3LEc6NDY1fSxZMD17eTo1NTd9LFoxPUJELHk9eyJYeU9LbCI6ZnVuY3Rpb24oRyl7cmV0dXJuIEcoKX0sImlab3FsIjpmdW5jdGlvbihHLFQsVyl7cmV0dXJuIEcoVCxXKX19LGNsZWFyVGltZW91dChEKSwhSSgpKXJldHVybjtEPXlbWjEoWTEueSldKHNldFRpbWVvdXQsZnVuY3Rpb24oWjIpe1oyPVoxLHlbWjIoWTAueSldKEopfSxqW1oxKFkxLkcpXSoxZTMpfWZ1bmN0aW9uIEooeSx5bix5Tyx5QyxCZixHLFQsVyxmLHgpe2Zvcih5bj17eTo2NzgsRzo0ODUsVDo1OTUsVzo0OTEsZjo2ODIseDo2NTJ9LHlPPXt5OjUxMH0seUM9e3k6NTQ2LEc6NTgzLFQ6NTUzLFc6NTY0LGY6NDYzfSxCZj1CRCxHPXsiamF4U20iOkJmKHluLnkpLCJsVlh2SSI6ZnVuY3Rpb24oRSxYLHMpe3JldHVybiBFKFgscyl9LCJrTUNJZSI6ZnVuY3Rpb24oRSxYKXtyZXR1cm4gRShYKX0sIkRlSG9wIjpmdW5jdGlvbihFKXtyZXR1cm4gRSgpfX0sVD1HW0JmKHluLkcpXVtCZih5bi5UKV0oYHxgKSxXPTA7ISFbXTspe3N3aXRjaChUW1crK10pe2Nhc2VgMGA6R1tCZih5bi5XKV0obix4LnIsZnVuY3Rpb24oRSxYLEJ4LHMpe0J4PUJmLHM9TChYKSxzW0J4KHlDLnkpXSYmZCgpLHR5cGVvZiB5PT09QngoeUMuRykmJmZbQngoeUMuVCldKHksRSksc1tCeCh5Qy5XKV0mJmZbQngoeUMuZildKEkpJiZGKCl9KTtjb250aW51ZTtjYXNlYDFgOmQoKTtjb250aW51ZTtjYXNlYDJgOnguZSYmUihCZih5bi5mKSx4LmUpO2NvbnRpbnVlO2Nhc2VgM2A6Zj17InNZVUt3IjpmdW5jdGlvbihFLFgsQkUpe3JldHVybiBCRT1CZixHW0JFKHlPLnkpXShFLFgpfSwiU1pRdnYiOmZ1bmN0aW9uKEUpe3JldHVybiBFKCl9fTtjb250aW51ZTtjYXNlYDRgOng9R1tCZih5bi54KV0oYik7Y29udGludWV9YnJlYWt9fWZ1bmN0aW9uIFooeSxZLEcsVCl7cmV0dXJuIHk9eS00MzgsRz1CKCksVD1HW3ldLFR9ZnVuY3Rpb24gQyhZNixaNCx5LEcpe3JldHVybiBZNj17eTo0NzMsRzo2MzksVDo0Nzd9LFo0PUJELHk9eyJqVnVmdCI6ZnVuY3Rpb24oVCl7cmV0dXJuIFQoKX0sImhYd3JiIjpmdW5jdGlvbihULFcpe3JldHVybiBUKFcpfX0sRz15W1o0KFk2LnkpXShBKSxNYXRoW1o0KFk2LkcpXSgreVtaNChZNi5UKV0oYXRvYixHLnQpKX1mdW5jdGlvbiBLKEcsVCx5cSxCbixXLGYseCl7aWYoeXE9e3k6NTkwLEc6NjgxLFQ6NTY2LFc6NjU3LGY6NTk3LHg6NTYyLEU6NTkwLFg6NjcxLHM6NjQ2LFE6NTUyLEIwOjQzOSxCMTo2NzYsQjI6NDM5LEIzOjU4MixCNDo1NjYsQjU6NTgzLEI2OjU2MyxCNzo2NTcsQjg6NTYzLEI5OjQ4MyxCQjo2MjcsQlo6NTM5LEJ5OjYwN30sQm49QkQsVz17fSxXW0JuKHlxLnkpXT1mdW5jdGlvbihFLFgpe3JldHVybiBFPT1YfSxXW0JuKHlxLkcpXT1mdW5jdGlvbihFLFgpe3JldHVybiBFPT09WH0sV1tCbih5cS5UKV09ZnVuY3Rpb24oRSxYKXtyZXR1cm4gRT09PVh9LFdbQm4oeXEuVyldPWZ1bmN0aW9uKEUsWCl7cmV0dXJuIEU+WH0sV1tCbih5cS5mKV09Qm4oeXEueCksZj1XLGZbQm4oeXEuRSldKFQsbnVsbCkpcmV0dXJuIFQ9PT12b2lkIDA/YHVgOmB4YDtpZih4PXR5cGVvZiBULHg9PT1Cbih5cS5YKSl0cnl7aWYoR1tCbih5cS5zKV0mJlQgaW5zdGFuY2VvZiBHW0JuKHlxLnMpXSlyZXR1cm4gVFtCbih5cS5RKV0oZnVuY3Rpb24oKXt9KSxgcGB9Y2F0Y2goRSl7fXJldHVybiBHW0JuKHlxLkIwKV1bQm4oeXEuQjEpXShUKT9gYWA6VD09PUdbQm4oeXEuQjIpXT9TdHJpbmdbQm4oeXEuQjMpXSg2OCk6ZltCbih5cS5HKV0oVCwhMCk/YFRgOmZbQm4oeXEuQjQpXShULCExKT9gRmA6eD09Qm4oeXEuQjUpP1QgaW5zdGFuY2VvZiBHW0JuKHlxLkI2KV0mJmZbQm4oeXEuQjcpXShHW0JuKHlxLkI4KV1bQm4oeXEuQjkpXVtCbih5cS5CQildW0JuKHlxLkJaKV0oVClbQm4oeXEuQnkpXShmW0JuKHlxLmYpXSksMCk/YE5gOmBmYDplW3hdfHxgP2B9ZnVuY3Rpb24gQihZSSl7cmV0dXJuIFlJPWBsb2NhdGlvbjtkaXNwbGF5OiBub25lO2xWWHZJO2VpUmxSO25hdmlnYXRvcjtjb250ZW50V2luZG93O3N0YXR1cztwYXJlbnROb2RlO2NoYXJBdDtQSElPbDtQZ3lzRzt3QlVnczt0UFVoaDtJTk1tVztzdHlsZTtpbmNsdWRlczt5ZkZTOTtyZWFkeVN0YXRlO251bWJlcjt6VGROTDU7cFJsSjk7a01DSWU7eEd3ZFM7cmFuZG9tVVVJRDtzdWNjZXNzO0hYZ2duO2JxendSODtLTlBiSzk7cHZIWFk7WlpVVGw7b0JuTTE7WWxlc2o7dUd1bWs7Y3VyQ3I7U2V0O2FWTUZJO3JlcGxhY2VDaGlsZDtySm5uajs5NzU5NzVwYWRVblc7bUhLekQ7MmJrUWxXUDtjV21RaDY7c3RyaW5nO1JtZ0NBO0RPbUpnNztDeW9YVjtieHF6STE7S2pvRVM7S2dNek47UERwQlg7Y2FsbDtjcWpWQztpZnJhbWU7b25sb2FkO3N5bWJvbDtyTEVUdTt1ZG1jMjtpbnRlcnZhbFVwZGF0ZWQ7dGFiSW5kZXg7blRGSlI7dmN4U1E7UnRuUTk7dnpVU1I7Y2F0Y2g7c1lVS3c7YmxFdzY7Q05DWHY7Y2hhckNvZGVBdDtYeU9LbDsxM3w4fDl8MTJ8NXwzfDB8MTF8MTB8Mnw0fDZ8N3wxO09GU0NmO29uZXJyb3I7NXw0fDN8MnwxfDA7W25hdGl2ZSBjb2RlXTtGdW5jdGlvbjtzaG91bGRVcGRhdGU7RFNKUk87dkNYa0c7L2Nkbi1jZ2kvY2hhbGxlbmdlLXBsYXRmb3JtL2gvO3NvdXJjZTs1MzIyMTF6amJKcFk7aHJlZjtoUWRrUDtHTWRxcztnZXRPd25Qcm9wZXJ0eU5hbWVzO2NvbnRlbnREb2N1bWVudDtoZWRnRTtjbmlBYztzcmM7SEtWRnUzO3NldDtOWFNXTDA7cU9NVUc7ZnJvbUNoYXJDb2RlO2Z1bmN0aW9uO2JPRkNOO0tZQ0VzO2pSTWwwOzE0MDYwMzRRVkFlR0M7dGVzdDtPeXdIbDU7c0xYY3g7MXwzfDR8MnwwO2ptSmpGO25MalY0O3NpZDtzcGxpdDthc3luYzt1ZHR2UTsxNTg1MTczSnhpamhJO2QuY29va2llO0R4cU9ZO3FZdExVO0RnbFZ1NjtURVRrcTtFZU9XZztSZGpicTtVcEZVVjtpbmRleE9mO3hoci1lcnJvcjtub25jZTtkb2N1bWVudDt1cGRhdGVzO1dzdFJZMDt0aW1lb3V0O09ySlBqO2xRSGRJO1ZHY2dnO2hRWG52O3B4YVJJO2h0dHAtY29kZTo7MjRUWXdicVI7ZnJvbTtvbnJlYWR5c3RhdGVjaGFuZ2U7WWRFeGo7cHVzaDtfX0NGJGN2JHBhcmFtcztCTEtvSjt0b1N0cmluZztkRVFxcDtfY2I7bGVuZ3RoO2xvYWRpbmc7aGFzT3duUHJvcGVydHk7bHhrdlg7QVdvUDA7c29ydDtNQmhzTjI7c2NyaXB0O2V2ZW50O2Zsb29yO3BoU3RLO2dldFByb3RvdHlwZU9mO2l4VlNMO2NyZWF0ZUVsZW1lbnQ7Zm9LUHo5O3hXeEVsO1Byb21pc2U7SHdYTWM3O3N0cmluZ2lmeTtlcnJvcjtCYW1MYTtzcGxpY2U7RGVIb3A7Ym9keTsvanNkO2x0a1V5NDtxa1dkaztpQXV2UjtiaW5kO3VuZGVmaW5lZDtueUxUYzt2bUR4YjA7ZGV0YWlsO2NsaWVudEluZm9ybWF0aW9uO2tleXM7YmhyYm47SVNBWWoyO1hNTEh0dHBSZXF1ZXN0O1JJVmJhO19jZl9jaGxfb3B0O2FwTGZZO29iamVjdDttZHBFTjt3a05qTzk7RG5lb2c7V2hPSEI7aXNBcnJheTtpWm9xbDszfDF8NHwwfDI7T2JqZWN0O19jZl9jaGxfc3RhdGU7bkZPWVU7ZXJyb3Igb24gY2ZfY2hsX3Byb3BzO051WUpHO3ZVWVdnMDsxNDQ3ODg1dGFiU0FRO1lOclAyO3JlbW92ZUNoaWxkO09kdURqO3NlYXJjaFBhcmFtcztQT1NUO0RETUpBO29wZW47Y0hjT3c7SXZiZjY7TWNjZ1c7OE1qeENPbDtBcnJheTt1Uk13Sztwb3N0TWVzc2FnZTtvbnRpbWVvdXQ7Y2xvdWRmbGFyZS1pbnZpc2libGU7anNkO0FUalpuO2FwcGVuZENoaWxkO3lPbkFiO3JhbmRvbTt2d1BVNDtqb2luO1J1ekZVO2doakh6ODtYUHhyODtzZW5kO3JHTlJjOzI5NjYwNjRXdmpLSVI7YWRkRXZlbnRMaXN0ZW5lcjtnZXRFbGVtZW50c0J5VGFnTmFtZTtYQ3pLdDthcGk7d0Rpaks7U2paSWk7U1pRdnY7YmlnaW50O2ludGVydmFsO0lwZ29sO2RTaFRDO3BhcmVudDtWUEFPYTtjb25jYXQ7QlZiV2g7U3B6ZWM7alZ1ZnQ7emJwT207aXl6cVQ7RE9NQ29udGVudExvYWRlZDtoWHdyYjtub3c7SUZzQXk7eGVqdUE7cGFyc2U7ODEyODAzMGJMb0lsTztwcm90b3R5cGU7cmVzcG9uc2VUZXh0O2pheFNtO0VDc1RWMjtpbXVsO3RocERrYC5zcGxpdChgO2ApLEI9ZnVuY3Rpb24oKXtyZXR1cm4gWUl9LEIoKX1mdW5jdGlvbiBSKFcsZixZbSxaWix4LEUsWCxzLFEsQjAsQjEsQjIsQjMpe2lmKFltPXt5OjUxNyxHOjY5NCxUOjY0NCxXOjY3MCxmOjY0NSx4OjU2NyxFOjY2OSxYOjU1NCxzOjY1NCxROjY2NyxCMDo2OTIsQjE6NjkwLEIyOjYxMyxCMzo0NDIsQjQ6NTUwLEI1OjY2OSxCNjo1NTAsQjc6Njg2LEI4OjY2OSxCOTo2NjYsQkI6NjY5LEJaOjY2NixCeTo1MTksQlk6NjY5LEJHOjU4MCxCVDo1OTMsQmE6NTMzLEJWOjY2MSxCdjo1MzUsQlA6NDQ0LEJsOjQ1NCxCYzo1MTYsQmU6NjQ4fSxaWj1CRCx4PXsicHZIWFkiOmZ1bmN0aW9uKEI0LEI1KXtyZXR1cm4gQjQoQjUpfSwiYXBMZlkiOmZ1bmN0aW9uKEI0KXtyZXR1cm4gQjQoKX0sInhXeEVsIjpmdW5jdGlvbihCNCxCNSl7cmV0dXJuIEI0K0I1fX0sIXhbWlooWW0ueSldKGgsLjAwMSkpcmV0dXJuIVtdO1g9KEU9e30sRVtaWihZbS5HKV09VyxFW1paKFltLlQpXT1mLEUpO3RyeXtzPXhbWlooWW0uVyldKEEpLFE9eFtaWihZbS5mKV0oWlooWW0ueCkrYVtaWihZbS5FKV1bWlooWW0uWCldLGAvZWIvMC4wMDYxMTk2NTYxNDU4NTI0MTU6MTc4NTEzNTcwNDpCZ0hsUjB0Y0RnMHZpTjIwNmNsdWdLWGVjZ3dVbkw3di1pamo5YmJwamRjL2ApK3MucitaWihZbS5zKSxCMD1uZXcgYVtaWihZbS5RKV0sQjBbWlooWW0uQjApXShaWihZbS5CMSksUSksQjBbWlooWW0uQjIpXT0yNTAwLEIwW1paKFltLkIzKV09ZnVuY3Rpb24oKXt9LEIxPXt9LEIxW1paKFltLkI0KV09YVtaWihZbS5CNSldW1paKFltLkI2KV0sQjFbWlooWW0uQjcpXT1hW1paKFltLkI4KV1bWlooWW0uQjcpXSxCMVtaWihZbS5COSldPWFbWlooWW0uQkIpXVtaWihZbS5CWildLEIxW1paKFltLkJ5KV09YVtaWihZbS5CWSldW1paKFltLkJHKV0sQjFbWlooWW0uQlQpXT16LEIyPUIxLEIzPXt9LEIzW1paKFltLkJhKV09WCxCM1taWihZbS5CVildPUIyLEIzW1paKFltLkJ2KV09WlooWW0uQlApLEIwW1paKFltLkJsKV0obFtaWihZbS5CYyldKEpTT05bWlooWW0uQmUpXShCMykpKX1jYXRjaChCNCl7fX1mdW5jdGlvbiBBKHlwLEJzKXtyZXR1cm4geXA9e3k6NjI1LEc6NjY5LFQ6NjY5fSxCcz1CRCxhW0JzKHlwLnkpXXx8YVtCcyh5cC5HKV0mJmFbQnMoeXAuVCldLnBwfWZ1bmN0aW9uIG4oeSxHKXtVKHksRyl9ZnVuY3Rpb24gYih5TCxCVyxULFcsZix4LEUsWCl7VD0oeUw9e3k6NTQxLEc6NDkwLFQ6NjYzLFc6NTc0LGY6NjQzLHg6NTU1LEU6NTAzLFg6NTQ5LHM6NTQ3LFE6NjUzLEIwOjQ0NixCMTo0OTQsQjI6NjI2LEIzOjUzOCxCNDo0OTMsQjU6NjE4LEI2OjY4N30sQlc9QkQseyJDTkNYdiI6QlcoeUwueSksInZjeFNRIjpCVyh5TC5HKSwiQkxLb0oiOmZ1bmN0aW9uKHMsUSxCMCxCMSxCMil7cmV0dXJuIHMoUSxCMCxCMSxCMil9LCJQRHBCWCI6QlcoeUwuVCksInB4YVJJIjpCVyh5TC5XKX0pO3RyeXtyZXR1cm4gVz1WW0JXKHlMLmYpXShUW0JXKHlMLngpXSksV1tCVyh5TC5FKV09VFtCVyh5TC5YKV0sV1tCVyh5TC5zKV09YC0xYCxWW0JXKHlMLlEpXVtCVyh5TC5CMCldKFcpLGY9V1tCVyh5TC5CMSldLHg9e30seD1UW0JXKHlMLkIyKV0odWRtYzIsZixmLGBgLHgpLHg9dWRtYzIoZixmW1RbQlcoeUwuQjMpXV18fGZbQlcoeUwuQjQpXSxgbi5gLHgpLHg9dWRtYzIoZixXW1RbQlcoeUwuQjUpXV0sYGQuYCx4KSxWW0JXKHlMLlEpXVtCVyh5TC5CNildKFcpLEU9e30sRVtgcmBdPXgsRVtgZWBdPW51bGwsRX1jYXRjaChzKXtyZXR1cm4gWD17fSxYW2ByYF09e30sWFtgZWBdPXMsWH19ZnVuY3Rpb24gaChHLFkzLFozLFQsVyl7cmV0dXJuIFkzPXt5OjU5MixHOjQ0OH0sWjM9QkQsVD17fSxUW1ozKFkzLnkpXT1mdW5jdGlvbihmLEUpe3JldHVybiBmPEV9LFc9VCxXW1ozKFkzLnkpXShNYXRoW1ozKFkzLkcpXSgpLEcpfWZ1bmN0aW9uIE8oWTgsWjUsRyxULFcsZix4LEUsWCl7Zm9yKFk4PXt5OjUzNCxHOjU5MSxUOjQ2OSxXOjU5NSxmOjYzOSx4OjQ3OH0sWjU9QkQsRz17fSxHW1o1KFk4LnkpXT1aNShZOC5HKSxHW1o1KFk4LlQpXT1mdW5jdGlvbihzLFEpe3JldHVybiBzLVF9LFQ9RyxXPVRbWjUoWTgueSldW1o1KFk4LlcpXShgfGApLGY9MDshIVtdOyl7c3dpdGNoKFdbZisrXSl7Y2FzZWAwYDpyZXR1cm4hIVtdO2Nhc2VgMWA6eD0zNjAwO2NvbnRpbnVlO2Nhc2VgMmA6aWYoVFtaNShZOC5UKV0oWCxFKT54KXJldHVybiFbXTtjb250aW51ZTtjYXNlYDNgOkU9QygpO2NvbnRpbnVlO2Nhc2VgNGA6WD1NYXRoW1o1KFk4LmYpXShEYXRlW1o1KFk4LngpXSgpLzFlMyk7Y29udGludWV9YnJlYWt9fWZ1bmN0aW9uIE4oeUUsQnQseSxHLFQpe2Zvcih5RT17eTo0NTgsRzo2MzcsVDo2MzAsVzo1NzcsZjo1ODh9LEJ0PUJELHk9VltCdCh5RS55KV0oQnQoeUUuRykpLEc9L1wvY2RuLWNnaVwvY2hhbGxlbmdlLXBsYXRmb3JtXC8oPzpoXC9bXi9dK1wvKT9zY3JpcHRzXC8oPzpqc2R8cHJlY3Vyc29yKSg/OlwvW14vXSspP1wvbWFpblwuanMvLFQ9MDtUPHlbQnQoeUUuVCldO1QrKylpZih5W1RdW0J0KHlFLlcpXSYmR1tCdCh5RS5mKV0oeVtUXVtCdCh5RS5XKV0pKXJldHVybiB5W1RdO3JldHVybiBudWxsfWZ1bmN0aW9uIEYoeXMsWjAseSxHLFQsVyxmLHgsRSl7Zm9yKHlzPXt5OjU1OCxHOjU5NSxUOjU3NyxXOjQ5NixmOjUyNSx4OjY0MyxFOjYzNyxYOjYwOSxzOjU5NixROjY4MCxCMDo1NzcsQjE6NjI3LEIyOjY3NCxCMzo2ODksQjQ6NTc5LEI1OjYyOSxCNjo0NzgsQjc6Njg5LEI4OjU3OSxCOTo2MTEsQkI6NjExLEJaOjUyMn0sWjA9QkQseT17IkRuZW9nIjpmdW5jdGlvbihYLHMpe3JldHVybiBYKHMpfSwiY3VyQ3IiOmZ1bmN0aW9uKFgpe3JldHVybiBYKCl9fSxHPVowKHlzLnkpW1owKHlzLkcpXShgfGApLFQ9MDshIVtdOyl7c3dpdGNoKEdbVCsrXSl7Y2FzZWAwYDpXPW5ldyBVUkwoRVtaMCh5cy5UKV0pO2NvbnRpbnVlO2Nhc2VgMWA6RVtaMCh5cy5XKV1bWjAoeXMuZildKGYsRSk7Y29udGludWU7Y2FzZWAyYDpmPVZbWjAoeXMueCldKFowKHlzLkUpKTtjb250aW51ZTtjYXNlYDNgOng9RVtaMCh5cy5YKV07Y29udGludWU7Y2FzZWA0YDpmW1owKHlzLnMpXT0hIVtdO2NvbnRpbnVlO2Nhc2VgNWA6YVtaMCh5cy5RKV09ajtjb250aW51ZTtjYXNlYDZgOngmJihmW1owKHlzLlgpXT14KTtjb250aW51ZTtjYXNlYDdgOmZbWjAoeXMuQjApXT1XW1owKHlzLkIxKV0oKTtjb250aW51ZTtjYXNlYDhgOmlmKCFFfHwhRVtaMCh5cy5XKV0pcmV0dXJuO2NvbnRpbnVlO2Nhc2VgOWA6eVtaMCh5cy5CMildKGNsZWFyVGltZW91dCxEKTtjb250aW51ZTtjYXNlYDEwYDpXW1owKHlzLkIzKV1bWjAoeXMuQjQpXShaMCh5cy5CNSksU3RyaW5nKERhdGVbWjAoeXMuQjYpXSgpKSk7Y29udGludWU7Y2FzZWAxMWA6V1taMCh5cy5CNyldW1owKHlzLkI4KV0oYHVgLFN0cmluZyhqW1owKHlzLkI5KV0pKTtjb250aW51ZTtjYXNlYDEyYDpqW1owKHlzLkJCKV0rKztjb250aW51ZTtjYXNlYDEzYDpFPXlbWjAoeXMuQlopXShOKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gTChHLHl4LEJRLFQsVyxmLHgpe2lmKHl4PXt5OjY3MSxHOjU0NixUOjU2NCxXOjYxNSxmOjUwMix4OjU1MSxFOjU0NCxYOjQ2NX0sQlE9QkQsVD17ImxRSGRJIjpmdW5jdGlvbihFKXtyZXR1cm4gRSgpfSwiSU5NbVciOmZ1bmN0aW9uKEUsWCl7cmV0dXJuIEUhPT1YfSwidnpVU1IiOkJRKHl4LnkpLCJyTEVUdSI6ZnVuY3Rpb24oRSxYKXtyZXR1cm4gRShYKX19LFc9e30sV1tCUSh5eC5HKV09IVtdLFdbQlEoeXguVCldPSFbXSxmPVcsIVRbQlEoeXguVyldKEkpKXJldHVybiBmO2lmKCFHfHxUW0JRKHl4LmYpXSh0eXBlb2YgRyxUW0JRKHl4LngpXSkpcmV0dXJuIGY7KCEhW109PT1HLnUmJihmW0JRKHl4LlQpXT0hIVtdKSxUW0JRKHl4LmYpXShHLmksdW5kZWZpbmVkKSkmJih4PVRbQlEoeXguRSldKFMsRy5pKSx4IT09altCUSh5eC5YKV0mJihqW0JRKHl4LlgpXT14LGZbQlEoeXguRyldPSEhW10pKTtyZXR1cm4gZn1mdW5jdGlvbiBrKFljLFpCKXtyZXR1cm4gWWM9e3k6NTEyLEc6NTEyfSxaQj1CRCxjcnlwdG8mJmNyeXB0b1taQihZYy55KV0/Y3J5cHRvW1pCKFljLkcpXSgpOmBgfWZ1bmN0aW9uIG8oRyx5YixCayxULFcsZil7Zm9yKHliPXt5OjUwMSxHOjUwMSxUOjQ3MCxXOjY2NCxmOjY0MX0sQms9QkQsVD17fSxUW0JrKHliLnkpXT1mdW5jdGlvbihFLFgpe3JldHVybiBYIT09RX0sVz1ULGY9W107V1tCayh5Yi5HKV0oRyxudWxsKTtmPWZbQmsoeWIuVCldKE9iamVjdFtCayh5Yi5XKV0oRykpLEc9T2JqZWN0W0JrKHliLmYpXShHKSk7cmV0dXJuIGZ9ZnVuY3Rpb24gcChZSixZSCxZRCxaeSx5LEcsVCxXLGYpe2lmKFlKPXt5OjYzMSxHOjQ3NixUOjYyNSxXOjUwNixmOjYzMSx4OjUyMCxFOjQ1NyxYOjY3MixzOjYyMn0sWUg9e3k6NTIwLEc6NTA2LFQ6NTcxLFc6NjIyfSxZRD17eTo1MjB9LFp5PUJELHk9eyJZbGVzaiI6ZnVuY3Rpb24oeCl7cmV0dXJuIHgoKX0sImhRZGtQIjpaeShZSi55KSwibWRwRU4iOlp5KFlKLkcpfSxHPWFbWnkoWUouVCldLCFHKXJldHVybjtpZighTygpKXJldHVybjsoVD0hW10sVz1mdW5jdGlvbihaWSl7aWYoWlk9WnksIVQpe2lmKFQ9ISFbXSwheVtaWShZRC55KV0oTykpcmV0dXJuO0g/ZCgpOkooZnVuY3Rpb24oeCl7ZyhHLHgpfSl9fSxWW1p5KFlKLlcpXSE9PVp5KFlKLmYpKT95W1p5KFlKLngpXShXKTphW1p5KFlKLkUpXT9WW1p5KFlKLkUpXSh5W1p5KFlKLlgpXSxXKTooZj1WW1p5KFlKLnMpXXx8ZnVuY3Rpb24oKXt9LFZbWnkoWUoucyldPWZ1bmN0aW9uKFpHKXtaRz1aeSx5W1pHKFlILnkpXShmKSxWW1pHKFlILkcpXSE9PXlbWkcoWUguVCldJiYoVltaRyhZSC5XKV09ZixXKCkpfSl9ZnVuY3Rpb24gZyhXLGYsWVMsWlQseCxFLFgscyl7aWYoWVM9e3k6NDc0LEc6NDUxLFQ6NTEzLFc6NDYwLGY6NDc0LHg6NTY4LEU6NDQzLFg6NTk0LHM6NjM4LFE6NDY4LEIwOjQ0MSxCMTo1NjgsQjI6NjM4LEIzOjY0OSxCNDo2NjIsQjU6NDY4fSxaVD1CRCx4PXt9LHhbWlQoWVMueSldPWZ1bmN0aW9uKFEsQjApe3JldHVybiBCMD09PVF9LHhbWlQoWVMuRyldPVpUKFlTLlQpLEU9eCwhV1taVChZUy5XKV0pcmV0dXJuO0VbWlQoWVMuZildKGYsRVtaVChZUy5HKV0pPyhYPXt9LFhbWlQoWVMueCldPVpUKFlTLkUpLFhbWlQoWVMuWCldPVcucixYW1pUKFlTLnMpXT1aVChZUy5UKSxhW1pUKFlTLlEpXVtaVChZUy5CMCldKFgsYCpgKSk6KHM9e30sc1taVChZUy5CMSldPVpUKFlTLkUpLHNbWlQoWVMuWCldPVcucixzW1pUKFlTLkIyKV09WlQoWVMuQjMpLHNbWlQoWVMuQjQpXT1mLGFbWlQoWVMuQjUpXVtaVChZUy5CMCldKHMsYCpgKSl9ZnVuY3Rpb24gUyhHLHl6LEJ1LFQsVyl7cmV0dXJuIHl6PXt5OjQ3MSxHOjUwN30sQnU9QkQsVD17fSxUW0J1KHl6LnkpXT1mdW5jdGlvbihmLEUpe3JldHVybiBmPj1FfSxXPVQsdHlwZW9mIEc9PT1CdSh5ei5HKSYmV1tCdSh5ei55KV0oRyxNKT9HOjB9fSgpOw=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"notrx.app/cdn-cgi/challenge-platform/h/g/jsd/oneshot/b0da9f4911ba/0.006119656145852415:1785135704:BgHlR0tcDg0viN206clugKXecgwUnL7v-ijj9bbpjdc/a21a38786eb78deb","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.393Z","timestamp":1785140382393,"http_version":"HTTP/3","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":"notrx.app","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 05 Jun 2026 10:11:58 GMT","end":"Thu, 03 Sep 2026 11:10:28 GMT"},"fingerprint":{"sha1":"21:FA:3E:30:90:96:6A:B5:B7:18:FF:0A:D4:36:15:0F:AA:4E:DD:C4","sha256":"87:17:DF:EE:2F:67:AA:29:CB:F1:8B:A8:74:4D:B1:B0:80:70:C5:F8:35:37:24:CA:C0:CE:B3:23:ED:D2:94:59"}}},"request":{"raw":"POST /cdn-cgi/challenge-platform/h/g/jsd/oneshot/b0da9f4911ba/0.006119656145852415:1785135704:BgHlR0tcDg0viN206clugKXecgwUnL7v-ijj9bbpjdc/a21a38786eb78deb HTTP/1.1\r\nHost: notrx.app\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\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 13812\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: 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":"POST","post_data":{"size":13812,"data":"2GvMZIB1WJn6SsL+qHexe1Gs1eWqAP$oJs$z0WeBr2eD9eJnRO7Fp7VV+4a$4Po2uyj152AOLG3nJRKnyxyvm9CfDWHnH0PvKPKZ+Zn-MQcnFRf3FoCG2ep111jGztAsqr4b6OTdZMtXLLJNBmwr9owYsiwKOYxS6OC3k$sDUOjtYsN5tjuaE6kZFkOKPSk+VEX8HjFWNzVFyXdPGq14E7u5kuVCQ6SbF+efZi5Z3XhssZ3sbSr9sqrbTphVaxmJdQuPk4-wmYvH6OHic1XupBt-K6A8xttUZMhnUo3ZtP$Wuqt2Jh7F7nhFEHyy9in4zDsIYKTqSkGuBWKjpy5$Rdjf4g6hnsYYyX6rJ4CZcmV80FN2sn22UTTqSKsAVZ$a5kd97E8pJaFa5dAxXjsKZtaQm3YPhmkY7GJFNSRE5Pqz0ZAotLexfyjVeHOdyFTt3toEJNTWOMD8EWICwYx6uCx4j+pwL+2mkKejrYvyym4f9BcbLSKrFD3vckEJtYNz9EO$vFgr4b$mtyqe$PtCmPNib1XBEk5IwQGCoNekdyEEaSo0TmCRps602-fFFD2cJpDQ4kb0$3VrQcPhaTPR8GE0u5oMI9zBOyzacRXsZj+k84oZH-OMzjwFShyTc5GAjkoZdDGNI+2i0K5iPxpZi3C1EkyD3xHHusShKO4S-IP0DcMbDtLUkWVJ6S7+8OxYAvM2bp1pMjpSuKpfdiB5dw9GguaKwzfj3xDzCZ7e+yTMhCS61yCVSiI34Zf7i+LRS7xLb6eHLcp-mjjcgsB6qIKD1VITN09zDR2gxvJevPDz1$yXANIEK$JVpQKrkpQiHMnJ4ihUSiidbuXx8bxbRfQkwY+dYw-Ng-3NFVbGeTU0PJHBbZbnc$g9nz2mOfJIF3gzCtgquSaPdr5-SHw2gkPtPNa5p07qbALquA-LiAsC4Dvi2uSpj42B-ZQh9k+pTNgWZToiefM8$W1pru--cUYDu6cGu2om0ipNEuKe2-Qxej8-$Xip4VRw9xime$ukY3samPwm-O6OkpsJcy$II2z65pnW$zNcLGuD2pOT9SmDsP1y5m5Zkyhx3ke0bThw63Aw6Zn-MYOdgEFzEWDzaU7$tBPWcEbWo+o3F1t84D$GTSTZtTAayywfm3UkOtYr1B0QBnnFmMrC-MBMdIsw97Gmo-P9cBXhk2BqSzcGz7aNbKoaIeAbVGW7XuZAzDh4kPkwGLs+kY5HQ4i0164NyXmBjpi2TGrws9isy-mwwE63-QFRfv615hyhXhJ0sfN3O9z$1gndyTR0MXqA7bQ7tryVbs04nxu2IWZ2X0gFe3K4h6V+VboX+PxaKqYO+TfKaERuVAHa6udKcgRM+2fL2bjqvLJTZAvyoVDO5fPprHQ0YIJxZLFhL$sy8b+1$1hs9UzjBQMLrCK9$MFPBVS-FOyqymtQb$5Wg95C+vFRdBOqywVhVRoX12vb5G3qC+v+zw5CI5ksMHUXBxYAYbSKvXgpco4jfjqTeWRQGinxAEmDpTO0DoeO71Ou4qD21HiC+nMYLkzfox$G3xgyvbhXYuEN4tCRtvt8atBXi-mtTK8WR2yeM5CMHXRELab5nOQvw-CjdY1dHL4PxCPZ7OtWyOQuTDO7v57+DXxv4f4UaYnF2XX5zYpFf-hTGsHxuOm-3wNesYh1cGVBxYnAgUrYNwaR4WwjuYMHv9b-euYMXG2kr5$iEgr-Z49tBX8SAMbTHXhkFuf1SqsZbU46WQmxcd7B1toMjazybPAJXr$tFWrRNm6zOWuaDQ03TAc+oe01Emz-35oN6tpKstozuigd-GWitmZ8Z2HG6znR75MWGcndM1SoXdzqTEJRwkyjJEptt2ibWqEaYi24zsHyO+zG62yhZk5sZ-YPk3+vAngmAPdadjNLMqXu3GzCZwiRNN87BY5hv0B7Jwmnf+7DMEhwtoF-RkuC5tOs-UV4Mtq4Rr7$NCAGscL-7Xz$BeSsUtv91NcOe9ue-ZPu-0kmu$7TWt5vzL1VNhgbO5z8iIYHdAX2Rmt-0APVjk0u50QCtayytLDMBBdr940WQ0ImKOcZE$towBv9berpxT24$q-KtTbwLzZvO+v7AsneZZmnSix0JSAVs$e+F+2p1S0FeNP+ztGr1GLXskHE-th37brX2iGPbex+9cPF1KEDQ0xaK4YjVqU0duYeWP+CoAjp+IBgybEL8N2t1z1UJO5bJ+PbirUDOsLZeH3V$esu-fqHWcZpAJg$F$-P5LbrJY7PJzpg1gIbYRynT0Rpj-QivuzKxDWxQmDjcrPFNKUpC0VoZZd1zKZpNhmhzaYjAdC1fc2WfMnzANwQvOw9u9Ra6VwtaJh0WMm+KLXf203WAYiy4vnf2goBmW6eAYoeRua7oExHAX-Htw2M2RKNdu4Yw-cL1P-7EzaA-h7xSst+DzJ0T78he7erGmX2D$hjBLhYzrvGu2qjW2sTAs+mpF77ej5zZaZejCFsYGgNFw6yx1VjsNAm4neXYxMQFquu+UEcQo3zNOzH9E156XMAeCX381OKP0AD+MfSPduuQGdTbW+sc$TQQUqthshWQ8Xfn+QLiSNxGW77LHXuuqvNOMe8zBeyiHVyw4YbVundEZAHF4e840r4zUjh-DSYtSzw5acDtD7qDwdbF8HFG-2zgWt1F51nusaXkhk14pVtVxMXXvJsXAy+e+IrYtcDPzf3O0muRENI164UvUX8xMCEMkDGdocrj9MBje9CzQ6S1yqx98Ii6Z3NrV1wUUryb6yyE01kpJoek92fHNk8LpIx+iC-+EXg+5r+xE-p1IOXMML2HPqD$ttNGwTBgzM$P1wgss0eUIDHt2XSwBvKD1xzxMSZ-roQP+bAcOtTVg3uAiTOIVQWs600qmVkQ+2X6$Wt3hgpbAgKmCXw9--2bPBgy91M5rkScPfQAQg++9Y9+yAjRHxhcAvPyCS7MvvSMTi48R+6Px3EaQHCqWr$Gd0py0EDP07k3QCIoq4Emh5p7pEo3xzNOJ-EL4Hb9oUX+FOq9cKJmQ4YoH9OYN62$tFmgPThCtDwb2e2v-WQpyNMtqSjm73K+o3jsOkpHVe0Fu$6fI$9Bpk8ULqW0ACMjtU0dWxT+sXy9VBkqB4iI8CQ1s$-AL24OZ8kwyb-2vXFM9iKcxPduqCDoVN9W2FcxpTmM0PYJxnL$wKC9QHPxuy7xC966baVOKYM2-TVhvgrhg1rJ15HaSX0x3bzvIYBYR6oN-ISNtaibF7NcQE$rbj50Qosv5-Xt308bhqagX0Xc1JomSeSHADF70gi4U5GDk2cBDH9EG74hwOMV4TWOp6IabNuivcrRJv3IO-EgzFybb7amMjaMZajHIqJKAAm6hxIGeouHyM2QcGqu9O7DEXIBDfZZ-mdsXBPrJeTBz2GqtejCafQ25uiCKJLytFDoLt3X+qKY4UsK9HabVLVYiLRZyETo80vzLxmcMWpOoiZxbMcAVI2huNHYa1WVN0cfjZiTpkUOJ98+1U0+nfO9QA1TXB08xnmUEzAz$W6n0F1kxAD9L$FftRbkg$OhzjdCtQw5XWO-ui9abPS9Uksw7nVom2F07gr9t$yUXnPuja-yquTk6BVhkDzGKtXvqzGcZo86RgHqvwjuPIxDfxeB7d29o$98BhgVFnaF7LyqOiau+hso$FNMXvwqzyRkv6kQE-aebhI8Z4imSH4Z-NA6B$AAAhkDq0QbZhehRHAF+zHQDNL9IHhsMHcINTZwGXeq6gi8Bcma71Lt19-I3UOcTEYXSmCAkbXpvKKFYm5og0q17rspX-wp+SeY0RiSCkcSIhuLOdbSjphAd66HHGOU6z1Mwb+yza6pHoQzHSx1rv2Wzxo1gOvWuLQ63ScBc+bt$26Vr0iSmX4q-L8p1GOkG1E5+AZa$Vy4j2eedzcqrfjzfrPGqhBVZK-TNyXxjPvjQF7+ABFPcE+wUmPA21CFp1o9zanWJJepniDHX719v9nGO5WBrzjee9kUbID$f-7RcwJzHx3h$zv9uJ92k91nzieLWtmcPRH6AidiAeHf9cPAUt-gzKBOd8nm+JNp6MtsGmG8zNTpQnd7sK3xTCy5XWmUmhXk2pvj+qGoL3+Fj0UzeKQHv0iqjhHh7cYPMJrbH6NNkPWE1gaEzH+gtNqgV2ApVSdOdQHLcTB94Rn8XgVy6bNT7FDX0paubooYAusWY6uk5JAajs1AhChYpCXSMInStPIwAcyOfUexxb271LCjCmP5wcbuooSiOmrRWVtoh7NdIp2F+5igK9mAyI6$pqpMKyPT6i-dqUAe-HJ886WpgjjbbLwdt6qmz5ntcys4O7Ry91Yio4SyzhXDobH9+objuKfgq3Ti9+WoA568t2IV$jHBqT+S+OnV8I2jWIM1LhH1de4$GE+bacat-8m-jxgqt754Idsv8bxZVP0G42yC0Y3t1n2izaZ8RTrUo+M2AVhf27CW+r1PyMQptcjXA6vJIdJqyGQ5P1jDdXjEzbO$80Su9ym6+2FcDyx2knr3Ez9m$v-Z-+foGyYx6ixk6niKZKisX$aJIn8dL0quW-xu63QQDx2PJiphRF7BXIvXswuJBYwuCW5xWygPh36OYTGWgn35adTzNHPbRcKifH3pi2jSSWWaGCGq3gu4m+w2cJgLBy+5j8Ne557asR9GscXWSGzXM2vMITu6XmJvj-fZhWjvG54K+fdmyxoybTbrdJ7rujrNQc-Bbn6JqUv1nDdqMDjPrYGvHGDVSWGxgCAAgk$wXe9DU681DDaOUwhqB-Fuy4mjcvppuGo$IhqfXZMrkBY7AS0FG0z4qKAcE1F2ASGsrPOwbvFbc5aDoQv6h-KTGT3EAaOueqgGWIyyf5pPs9tE3C4BbBW+1Uu4aU3JKmAoU7jQSsXJnog0r06nXut$gb-ptVAC-YrDRUZBsKwaS71fdWgqohWRYoD0z8+-N2YTrhhSi8m6N-uNiv9bw6Nep-$MWzUrXioh7evOnO9iqo7-94G2ZVqvRcDhQIuJW6PER8j27FEa8zVQ7jBA$6RpfcukC23ZEdIcMYBGCy5gHSBStCK+uJeABoDZqadnL33cRMos8+wmyw3Eu61h$dMRnFH033kETuQgfBBb3a6SMFLvMPSuVVT9Tpu5wJwc9yzGt3nOL+CEChX9C9$sp2T2+Mj7jUqGPYeh9ovYSKdirSEvRiNYxXArrCARhdHiXF5bhp7CCnVkc0b6kMgCeFcghhFkxgj-jMvLzsmMpAQNOV0YzRkJ5Jt6oZMN7Ow4q06BYzIanmEYTMLeAp$QdDx$ZjzxhG1MDEwIo0KBozvQKwS$rmKCXB80pBeIKHqY$Ko+yMuZs2P52eTpLHumDeropewrDE1OrQSigKXPLuzF1-jJWsxwzG0HGvqzqG4ajy+IRyVGsTPcIH9sPo$QdzANIXA1cp6RC3n7dj+Hmi16iWpIIWSSEoTJaN+YYTovCOqsndzjz$+p1IWIV-IMMqpzcx1CaNofjc36+24PA+mG5$OWZRjr3i+ejFTyLTz55Oe7j4r7Z6ECzw+Vey9mBNVvkboeTygA0Avai9A7mmrHOt59onEE+DGXPVIjDdng-OVLE0GuYzjMoT87fqbQtaXahd-XaeqXYmOXADf0YXBKqB6bYpIxXvPdspgP0tOC6$figi4JRIAtGa4d-N$T1COxWmq6EDeP-HNpGimcas$MTk+b-QreJ7WNdvnBzo++6MBXG0B++C4m$WyAKN$Kw6B1Sggq+iqnO8rLOKjjww5vVV3m00kfsd0fDm3GJDe9YW8d-v83+nGKIYXZmV4NtHeQc$fZM2Szv9vGh-ETpY5tEt1yDU9b09mEjSaz93Y7mzJ6XuWdNsjQNMOzHTFdmOLtOO7Sr-mwUc22R7sTbDRYLnX3K3U4Jtyef7LK-wPIy815U-TN+LrnZkhNIRMebzZ9ATtCHfF7chzI$FiLkIpp0VaLpZgKXIOUGiVZCHBGbaqjjAr7id6wiNCb977CDePzPmiOGL3P5rPA08jAU+3YWqVwXWOk9-GVKNy12Er2HREYsG+q8t7wqk7FCSxqHivQH4M883AkFfzpM23jA5W0FoyxfHhK4wXYSYOU0MRqVvnfXJPDbIV69A$9hFViZ3ufY+axhcBvacoG+ArDZGHwa83gawu4-XQtP$bAajpa+CkvNsD90rphu6di8Jt9chbHwDr87R1BO$kDsgYRHK2ckGm9uCusmGfH0BZFSmcGR0sKiNOrsp2vxcE0D2Lmc6j3J$8s62MUVp9JXp5GZJipIHE2irQ1B2ZKuvOzGKRI-fJpGXHyubLb2oGPhsPoVP$44Bxro1ZOqzO7haYN3mRB1VGhnYi-rTNABTuC0WmuaY6hu-Fjh4zmk8jGxzXzNdd7FfPdnv4QuXO8qhHma4X7d4yUiaGijH-PGYMLYwILScxYzFfKiKoFwxvorGnBHOxZooaw$G+Jxxnbax5n+Y226OuI$AvGX6cjBwJYR+F1OKEYpc2KMJrzCpNeDZsFoX8PURu1YUYE-7tqyZSI+9IBrubkx9bFcn71+Q-8nim$CJ8488p6AWCBbPcKsKLs8pN7zkYUpbS7Ah3EDv0ryuf33BYs$ZEN7wmsjhVX0w367fVnuwvrIY-ZCOIj19ZXCcKx-0rWrO-hqOQh7kxJd-77chKM+5+RAoPzau-CafckesRTvFNb4PekqUuzCRJAEcOW4zJkKROyIDq-eiUVZt6wyRDGIcZbq5ejjdRAiykGSKxB0OA9F$Jf7JxV4pj2Wv37D7BaidbBD9bwB2ubCOGGhmmKVs8i22L4w6YynedzGH8SFK-0ZC3tSJ6TGauiB6UME8Z+wpZ9Gr47C7iCO9wTf3XzdhMUcR+b8C5pfHgd9a+ROCjk89AQ0y-0rDhaYJm+EuaQB9V$-cP6L-+HSL-Jrz$N+poxKgG$SS-tvv7NAkU6nCIbBbTt0KxRQCvtWqTaquYRA7DECahzh$pjMhR6gg2FhWPFn4T4-UscD6kBVIa1ZR$XtySBnOV9CxM4nR0qRc1T$5yjv7bybBp3TZjmsRQX06asShSJS-zNMCspVEukN7237ysCtbkF-G7DISoBO4jOy6BeA3ghsVZ1h30unQTCNnWrSPptLvGIP+Sk4OLksuPP65QE5FxJOgucc+0UHAS9C0qBqPXPpt5Atdb3RUAamYq1u7aeCX2Q3Bg419VZ8JocD+H9WUSVNFSFKWAz6IYjGn3OS3DrTUXiX-IWxZxdQuzGAajs9X4QV9q4AgPXmdH3RH5LLupt-rdCqNKVpHTVgc$ORBZ$dXk1pRz$KIqQ1vjc6Ldxc4gU$5BcXvccqmHbaQ6wipBSjoxL50YKCjwdwu2mjp6JRQn8RGhoBVvdYWGcCKwdFUHYcL5RYXokNhVn0z1QKPQFsVNdNrPe6dM6GYECC3Jj6tq6PWIreNriW52Jy-ZPRodqcu58VaiF58SWB0+GUoI$UhnaIiZdj8$KmSCVGHF5Sc9z9WvgSzO31s53zpgO1ANYz-vHY4CCbROkHQ0+seUZXnyBIcHz-+ydxdTRyXr+rPS$gFM9A+HDVuBbf9YZ7$ugsIDrvGOns6xUN0aMGNEPCyLRG8bQMMevm9+pVf2c1X9Iv5cRSa7-VGAEQzc0hIv8Tp2xqPknLO8mLxsYqGVqq4zjLW-6BjRO61o4y2avCLZBLcKpx-dB-BpBQE11Cfmx0rpTt7Tf0yxbVVik9R1XF4BabN1b9vHZbZXp3AmhOpMZGF8yL0E4gCtv28yU5IpGgyka+W4cIsywxGTym7CdPDWSkQNbt1wONArvyTSAyAHUAAnm4Hw8hkOByW$9YfiSgmbciEk0SgA-cO0Gx+q5wkVJkXcepmwUBo4EpKra3v10SvVC$bzdzuFcNj8+ZWS0x+P40equ7$2HW3eIxgAfAjDXO6xs5aZNI2IW5e7XYgbRt1Ve3KsIfH6qEnWtW3PvES9bgGvyHavttW+wt+3FhVhVNTWQUjQdunWZZ4OvGPAxVPtU$wxfBUA+vg53YBiKQiD4gOzfMxP7XTeKk4QpQGvS04h02KqczmVQP5$VmimauTwFd8+nrqTco5U5UF1pcUWtiuPCNg40yC-TGdAoee6VHDGybixVaSb65sevN4hKHXprfeMhUjgpMVONTnCp2dLHejz-ysSACAP3G3vu6DAo3iQ9Zch5Vvk+Xa6VjwXmhSqxkC4WiHrw$WjyEsPjXrivfi+cP+2t57UG49699VRem8rf+DG07MUFU$-5APh6LJyVZ9+TnYV-4EQTmm2DIpx42YtJZXqbvpscrMeVpyZ8SbZMj1pOEop+zW7FewsYE+-MDX1m54xfFQe2JCxwZEJ17eNT2PK4uP-EQqWF$X9+eRdTwci6qmNQt15mzMScSHFhmo0zBqq13iSUwFvVyUgDQB8mrKm2X2vF02Mwfwya8O2iBN+PFXCVhm37eUMyO4x-c2ogmbh5KAA9buI3-aXOsTUp0vWvzH17M8+AuAFq21tOBIOwq3v-NAQSRLWVmVyDBXuhI4I6tFQUeiKaesjzaU$EtB7HUoPk+oIbn$8+BmUT5bBe9uDtpd-eqaMU+phH9hzJwd3d4TwzueDBFedKmLK4zLcbzjwdUitSciaE8P67-7awU7VnoIWfuVfyCM9fE0Vqrz9nb9d3oyuKLSIUtMj35L9MRgaqq9pjoeg-$Dqm0d+NUWPz37oUoPweWtRwZ7op91DO7KvcwKFCSLOy$5X$ZwfrKd5AyxpVgmW401fobx$rCJTbJ62JmzZOUN99qOaHeJ1c8iO-np+q-2G1mLeanvMej$bEJ5KjVMEfcNVX8NvL+rwEvzFFZ052c-c7p8q1eXq8LzrHP$0+QE-26cyNUuFioexcUoIr2tJ5+IgfcxtsJ+FW-GnVjdXLfyubbqtO6eA-ViT1eXpGLk91TmH7pCHUfWANe+$uo9JMKzkSVDYCuNi4jf5gyGOWpYnRtJ1gRirer+4FRtg7hV1C5f5t2y+jwRfvK0C4eTJupfArwoKHzh+aas$A7jmU9akUxAtyk0I$Ugozhg4iech4R5QmybGfYuZ38ZRSRhh0QCMLqph9sr8U63TQM$t7vYJIR8MrujQy957CiOZzWs9p2omCsNwT7$vszAKpYowrV49ffMKPY1BaCNrbhCFdup6EYCnyfzEx760X20vcAUeriOFa5sT7Da4q1J8JSOkcI3RDPY8dDqWvsgsf8-kH3PyMVINTvYzwtLgdrrnLfOIpY91IiAZyZwsuc0dj5N7H3RZ4RW1znFdK3qaYkWDxjPeibiVkp4oDC2PrzB$Bm84eyxFC0r9J4I+dVRxffnwwBfJ+JBd$wxJfI+woG1UYsSSFLpm9WKkR2SSV-omXO74E5tJ7Ymu6MYoZDnJkpXVgi-bLC$irq2bieqqBL6UOqFZUDHZ1zif9gyM5pDeZ$WeP0rqQ8Wpdm5+sXcu1LpM+V3yPvENMIzGTABgAv-AQyVFuqQFSaI95FpywCdMXcrNht0mowRekeDQP2csuFoRxy$zt9QbzdfwuipdB7ujwPwPOZRaap4fUonEpS$zN9-w0w0v94PB2$bhdgMyAtseOHbF$i3PXNQkvwg2HQLFnDnMA9cqAb8aJmhCtPxrGdj+$Opq6+fhkJOnA+Ht-e7QA1WQnvnTz++nw2b9g9gTbzgN669p$2$NvY8NTV3oIuiRu40CTRXwqEjVBFT$Gd4EfkjR4bhDKJG5oChCoVp5TbXeIupFEBFHQPwxoVV3amotpMy3prVLcENieYaujarDHq-9EFjhqUXNiywfkQ$uCzmmx1S15zYHZb7WEeI8CiHOiOizQhRMHqOUW7HXs37NIhKWq0+nhvOWT$MNSuDn4OowNw1$DX4zgGe+mW6q93PxzKK1cDE5ry8S9YwUM8vcLj9jENGCKNPP6A-ZprbBQqMNXkSn5pENbUsAVxvx7SCkyQuxu1gw3sLWeUm+bWOxaInt$01sgVrMnHMtXDj$K$tpW4SESP6MvF75I2kHiYAA1Jx0yrtwpp2NGyjptvFtg8x-FYT9NJiq9dzzmS9CgYRx3RHhTN0JHAyC6cYOBqLqt3B8T4yth5hNcTmnBLNykPkTUNHYw1c1Yiz6zs6nOGj$aq+AKBd9AWKDGWzRHSwouWbNI6$mtAHUBv6hCcMnJa7ICi0HKrqeyRVr1TuOzkrue9v7v$s1YLxuOEuV$wjjrgzXUbrvu2TGAGLbVfLyTQTnYsweXRnT6MUfgN0UIXEvSQTAA8tsbB3pzNtWZZ9iAfD1MAfPYQ6$dD2abNIhy1i1Eu1SOXGkWTBtAD$k+BPop2exXVs0MMs554DM2TEnb$X+DEWINzMB9PxwkznDFn0kxLnpSo8yOoROv+W9z4CyDjNBz0Mf8I-B8w$nFhBAyCz$C5XznjPu-A+XBxmo0PLSzHNRbk+7E4brtBwbXZcGo56Zm+HKEZ9EnkhXXWmE8UcU32BStAQHD8AFGxzSXNVANKUwRyYrT68WQ0KPm3DnikuI3SBF+tUeVyMpHZjbT8kC3gGx-SzFykw3wj9LH+og$6-85RiTsA-hIG3WZR0OOSJ-1TXn2j9+EUUumXRzMFM51vAJv5J2drpnH3zQDIoQkzHI6Dx-GOsVe$YvvMvfFFGaOA4IiVtnmHQHaV666MJtRpuI4Kr2jS3p20xP9InxdQsRjYnaMmRgC1bn5PimgTccjckmDIidg7j24bqR1j$KaNFysLTRC-F3IMM4-1CD82h7Rr-TQ4YY630hLstth3kczmyBN1MdXj4T$zcyDtxAf+0rAAysbjZI3RzFm3TF4wMG5i0oHKHKQpMHoUfaBWdPSCS-WCQuoHCkw2DpzJRsF7hjkWkHxsJ9Mam3+Skj-AH985jrU3gQfvkSLQct$45XRo5I-u1XqENwpgK0suan7k9d2nkAsIrM2f$PbZoZaemOcUdnmkLj36tiDJDQy+snxNAxeYjyPMhjboZVLgUgHjfjhRA$MBXV3z35x8QBnNcw-gAzPVooQOySfGzW3za$j3bDuMAUYmdzSWvP3tiqF1w1tLSJYhhu$k42sXr-C$ALmbBdIUxG29NUHgM+FihumZ5z0jWwc7COU$5WNbyWnJEMinL5POR7WaN1NBKokKHD7mP1LaP-L$7jRH64Ma4K4p4vdCixVntDOJsIYYR4SMDeTGxiT0ZD+6GVdMT35Z1rhw6XVRfyTFiTLCFK+Ak86nr+v7BM4oZ27MEqv9kmYkSRkhaRwwfnqTqVIa8mj7ufWPAti5G5i9vAT7s31iqqe7aDv8ODj7wExfztjB7ThdYekmwILx9JqiDwZr4MJWAWRc0EfvigRCFgCjKCG1grz70k8V7vh7nOq6pjLnRPoquA966DEFAh-driZwpitWiHD1XxqymyThhXtOszcpYkAiBdhfyuQkX4K$dSox4$ZT9+mPoacSSyfSc1BtBVKVpU6TO$EN7irVuR0Tf-yYp4ESmE73Jw$bM6y4CvCQ2ESsZTXDh24OXs+zMtnGtcMMZa5jCxsyCVMUN9SLGyrM-5Ccjeuomvf9q1u7i+BhsMj2B2VJTtwt$hBrXAz3bFTDD+M$Snw65F4in6N9Udy7xrLP4wX8u0zrXYhToIOR7OSqS4Rj-waV8QGUuo8bGGms1UE1M9qEQphN8mgL-cn3+eL39kfMcReUNnO41550DJhN8UCi82zY9FtGmi6n-UE8uihbHSDqBtW1D2PPsq4d8qdSi5A1iD0Jj68YZ4GwWpsJDkY5dtcmEK0HBKoBTbzHg5jdd58foKBDDPC2kELVD8gAithqRyj8eK$oaQV5MGxUwumfdpqm1h0zu3noEBPxUUuIuhgDTHIj+zVN82RTzfqQE1$9Ly4LZyPpDbFAvFoSjOXmDw$UwZTJi23Hqy1Z+I1EagN8hPMnFDo4jDW5YhBRn4DENWNCb6a1wDAYU3hCUxZIs8tPT$UXC+LZ$BvxecJreOJnFgvrTWNzV-w64p26z9K92o3b8GR8jHXvOJV6jLG5FXDmOeC55GKcITkWEjU+pbdoUNdLh6jzAsf17oW2oITyzCx1WtKtN7UKx3zw6QVpw3DU4Ho0BYBeoMM$Y8KcHmSYe6fZpgU5OZjJ7keshdtNXE$5AQgjZKygb$iIU67HXhL-ae3pwaR1scdgYI3wwf9L5V7XGRmJ1ip$Qyh0rU3zHx4RAPLWGfWdTcxEOUVw6gaCWEs1L6u8RRu0wdWg5N3ipwtYSJPV2ySkho1Jjepm5PnSYQc9hcHUeJVudBF+7hne+kvueSh3ePtgsrXFAJD8netovT$37pIO2MYRvWnoL895$1TFag94-ezCawxpDx8EEU3v+rbfMw4PATy5ges9tQw5uM5YFLahrIkfAnz0bbGNIV76mMRSjxZmcOkkoJIPo40ZJ92KjT6i-qYuz3PxhAnLwuUrJOrBdSec1jJempkWiULsAtysTXJdQox2fFKsP+Hda1w5ELVU-YAGD00i0AOG0DnLX34IGbJc629hMhQiMUkTUvEDGgO1dnfQWG+ZBB6mty4bCxx$gE3PrT2hLv0MbpdQi4cTQCS5y+$EqsIDuOJiBuIRr7mHy$BMy5MO5ksQMm0KhaG9BZD7DgnO-h-vJAp6DGIf9RngX1rCagP23BQRR0sFc7PxOj+aXE$11aXgzGR6fgr-pgTXZkAM0EgfVmhth4Mqs8Adero6XAG8V638tcR+ELhbMfgL3FIVAHDANzZ-BPOpmvZI-sBmgOjx1Av5FYoKB5DXFVVpPrhq152Z1UFtjjj+SaDj8HnWypksaA4yEVZ+k7ug+APmUdz4sQMbBB7o-pc08HSoOYkHrzxWpXwDT-jXyyMyfxpmAdH4xu$t4eBbA8QfIhTzvEuetqzSGjqLXVT0juYehEXdWZgwriTjPsDUvsoPrgI9B0r5ptYu$536RLX432oOPun2-hzW1VfJchX86i6c3ASmuDqV10wg1QEmY2E5DmTOH5DG6ecOELJo8n6TGCrkDkmw5wznCiaW08YhKFRq3b9ZWbL6c3Y-GZfgr7LUkOgXuV8Ls0r15XpCV7Kg2Iz14OpdSfvfHUu8T7EAKRxjU6M9kuyciO5KgkT9+PaKfnNmgdJWVr$q5Mt54FgPgveK6wYTU0CUjRAP9z2PCgTGPoD1V2ajXJ9L$yImsknFzVzj2nR98wVt44WPsNocmBLAiFBUbgMHcpS+z5pUuV9-Zu-FVBr$$BJa7DRD-wZdjWV250hHHgPj47MmV02M5oW82sTdC-xgxT$ap5BDR3mueA8ekHzarn-RMCIaDLYfCWOxjFfvAt8brN4yLP+2JADUNxXo3n3q7u6kJ5bqxoauUu6SGzYChcDx7vn3vt7jdDhjmQAtYuE9R5SsbkqPcnF2VD7ZSGS8Bh2J8gpOvCzFUsSQD+yni$2eAyxCqDVxCoY7Donzd+H9W2GPw+K2HFSTPZ5vDGnTu5Jti4nqWz7tuSLE6Qmdz+QKDZW3oV$20spcC6xrITS8+nBmkn0Fxm1JwtjFennnvVz+wYxCnFgAxG9cE-7DY8eI9Png4qcyTnt9mmrZ$3$qP$$UF$PQ+YBA3FezdTbHCNK7jik4zOYY9jj12xSAMkgAx1YVLJqtGt$0V956AxIiCSPcki$Oioz2VcI+gV$RfsrpZ48ESfqNW2f7-YgiRdnf7aJwK9IzGfiAjwaX423NDHFUkVVEJzrPQwRG1eaRuAuH5Vu9exEOux4ZZTNnuQ$gp$RqAdrzPcF$OCUqNCoMnbb0YoGC3gUG9zWeyv3$C75LoXOioSnmmu-jjvkjepN8jJN+smiSWJ0Dc3MXG57t-u04BH3DHnweeRRCf+jh7R"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/plain; charset=UTF-8\r\ncf-chl-out-s: EBcGR86QRDwzZMg8tk0N6mcsPDLtwYNBepSajrKfzQcPqK4wm6MP6hqXWo0cotIZi3AnnvZB1DQ5CdFHEYs2RL+/ZhE/8fKtA2BtgmJ2LThqpba32vBGshLsqgL41kheO9Ed/GaWb5X+h1lAWEQ7Fhu7NsJKhIX9I5IO7AuiRyMgfzsgz7+abvRe5qYA2s7fBFh3PcnDp89S60XChaPlVzvE3NqK4LjLsgvLQhBGda3GEQ1UExCXpUzkIILSybzsdPw1EwYonrWK6295kfasww==$Rd0wg3lJHca7H+CHHCM5Kg==\r\nset-cookie: cf_clearance=qOHLunFNSbXq.TI9vWcBHDHpExd_rJiD2eczoeZrs_g-1785140382-1.2.1.1-XcEZ5vfoiGL8DB2otGXRX96hBCsIkiiYjvFI.Vj_WEXlM8V0wrj1Rfuu7Ej8_N1teq2Ri8RfamWf.u35u_qLaCfjm9rRTqPqDmYVmL0CRa3t0aXR6uitlS50D250myRI1Kb7AiSw2S_TLnfUhF1zVE71AkpROYSRctdOg2C4gbPlMcxeSVofi3hSZBtaS2QRujiAIK3r8wUgrIWJElgntuFgL6r7Q05KeZoYNnFvHR6ifGhjXudB5djqPhm8tEAfoedB5eP28SZzmLuWJ_s1m5c93_KBjgmMyrJq6vyTh2s4Ns_rLXcJrF8AdU_J5ujIE416_a1YHXb9eu7vgnQUvNrFqVUVvl1KqYJHGB.Sqdo; HttpOnly; SameSite=None; Partitioned; Secure; Path=/; Domain=notrx.app; Expires=Tue, 27 Jul 2027 08:19:42 GMT\r\ntiming-allow-origin: https://notrx.app\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\nserver-timing: cfExtPri\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a21a387dffe88deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 0\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"]}],"data":{"size":0,"size_decoded":15612,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-09T22:49:10.243451Z","times_seen":17807357,"resource_available":true,"data":""}},"time_used":7,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-tronlink@1.1.10/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.417Z","timestamp":1785140382417,"http_version":"HTTP/3","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":"*.jsdelivr.net","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV R36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 22 Apr 2026 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"65:D9:C4:7E:04:4C:FD:DD:60:E0:CC:18:B5:B7:01:68:B4:2D:C7:34","sha256":"50:6C:A4:F6:ED:74:C7:E9:68:DB:32:56:5A:68:4C:98:ED:01:28:36:F8:13:BA:CC:19:A7:FD:7A:0A:6E:E7:D4"}}},"request":{"raw":"GET /npm/@tronweb3/tronwallet-adapter-tronlink@1.1.10/lib/umd/index.min.js HTTP/1.1\r\nHost: cdn.jsdelivr.net\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 12262\r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=31536000, s-maxage=31536000, immutable\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-jsd-version: 1.1.10\r\nx-jsd-version-type: version\r\netag: W/\"7711-QF1ko6lcaU5mzy4/ZEoxu7W6oF4\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\nx-served-by: cache-fra-eddf8230227-FRA\r\nx-cache: HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=3,i=?0\r\nage: 5793891\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rQMaECevj6%2Fxv1MqcNC9ybwyeaJ7JLyI6yfjV2ZGuKYO8V8xJUypAgCMnhEpyRW1%2FuxJdX8XeMmnSAsiUm0yqEYWCcRgJ3KQIeLcNexzLMrGzUNu4MqjPqD4dmJ6AgqbVyo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: a21a387e1f8ab4f1-OSL\r\nserver-timing: cfExtPri\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":"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"]}],"data":{"size":30481,"size_decoded":13401,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (30480)","md5":"65de35d52e65e4d8ee324b758b0cab0d","sha1":"405d64a3a95c694e66cf2e3f644a31bbb5baa05e","sha256":"508e49a1e33ce63aa1f27f3adad76a7f7179fa4b8d6848239c2f1739d945ba5c","sha512":"a4371fca4573b48236c19aa73d4bf4bc73c355b82b57647be93383874346206268a9f8d1f639382a55e463f816e38aa30baec6494e28c62a4b47a8b48d707b1e","ssdeep":"768:RkhRfDrmR0DF5jULphFGokqXR+rAHTBsiOdW7cNX6RQwPVAwBS:RVFbkN8HiilI6R/O","tlshash":"45d23aa4a304348152a347ec45370277d720757d710e90b8731d9ce76a6ab8bf29bbbe","first_seen":"2025-06-29T04:43:04.394998Z","last_seen":"2026-07-27T11:57:52.140511Z","times_seen":261,"resource_available":true,"data":"IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6ZXx8c2VsZilbIkB0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItdHJvbmxpbmsiXT10KCl9KHRoaXMsKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gdChlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwiZGVmYXVsdCIpP2UuZGVmYXVsdDplfXZhciBuPXt9LG89e30scj17fSxpPXt9LHM9e2V4cG9ydHM6e319OyFmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LG49In4iO2Z1bmN0aW9uIG8oKXt9ZnVuY3Rpb24gcihlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBpKGUsdCxvLGkscyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG8pdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBhPW5ldyByKG8saXx8ZSxzKSxsPW4/bit0OnQ7cmV0dXJuIGUuX2V2ZW50c1tsXT9lLl9ldmVudHNbbF0uZm4/ZS5fZXZlbnRzW2xdPVtlLl9ldmVudHNbbF0sYV06ZS5fZXZlbnRzW2xdLnB1c2goYSk6KGUuX2V2ZW50c1tsXT1hLGUuX2V2ZW50c0NvdW50KyspLGV9ZnVuY3Rpb24gcyhlLHQpezA9PS0tZS5fZXZlbnRzQ291bnQ/ZS5fZXZlbnRzPW5ldyBvOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYSgpe3RoaXMuX2V2ZW50cz1uZXcgbyx0aGlzLl9ldmVudHNDb3VudD0wfU9iamVjdC5jcmVhdGUmJihvLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpLChuZXcgbykuX19wcm90b19ffHwobj0hMSkpLGEucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZSxvLHI9W107aWYoMD09PXRoaXMuX2V2ZW50c0NvdW50KXJldHVybiByO2ZvcihvIGluIGU9dGhpcy5fZXZlbnRzKXQuY2FsbChlLG8pJiZyLnB1c2gobj9vLnNsaWNlKDEpOm8pO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP3IuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSkpOnJ9LGEucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1uP24rZTplLG89dGhpcy5fZXZlbnRzW3RdO2lmKCFvKXJldHVybltdO2lmKG8uZm4pcmV0dXJuW28uZm5dO2Zvcih2YXIgcj0wLGk9by5sZW5ndGgscz1uZXcgQXJyYXkoaSk7cjxpO3IrKylzW3JdPW9bcl0uZm47cmV0dXJuIHN9LGEucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bj9uK2U6ZSxvPXRoaXMuX2V2ZW50c1t0XTtyZXR1cm4gbz9vLmZuPzE6by5sZW5ndGg6MH0sYS5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlLHQsbyxyLGkscyl7dmFyIGE9bj9uK2U6ZTtpZighdGhpcy5fZXZlbnRzW2FdKXJldHVybiExO3ZhciBsLGMsZD10aGlzLl9ldmVudHNbYV0saD1hcmd1bWVudHMubGVuZ3RoO2lmKGQuZm4pe3N3aXRjaChkLm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxkLmZuLHZvaWQgMCwhMCksaCl7Y2FzZSAxOnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0KSwhMDtjYXNlIDI6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQsdCksITA7Y2FzZSAzOnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LHQsbyksITA7Y2FzZSA0OnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LHQsbyxyKSwhMDtjYXNlIDU6cmV0dXJuIGQuZm4uY2FsbChkLmNvbnRleHQsdCxvLHIsaSksITA7Y2FzZSA2OnJldHVybiBkLmZuLmNhbGwoZC5jb250ZXh0LHQsbyxyLGkscyksITB9Zm9yKGM9MSxsPW5ldyBBcnJheShoLTEpO2M8aDtjKyspbFtjLTFdPWFyZ3VtZW50c1tjXTtkLmZuLmFwcGx5KGQuY29udGV4dCxsKX1lbHNle3ZhciB1LHA9ZC5sZW5ndGg7Zm9yKGM9MDtjPHA7YysrKXN3aXRjaChkW2NdLm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxkW2NdLmZuLHZvaWQgMCwhMCksaCl7Y2FzZSAxOmRbY10uZm4uY2FsbChkW2NdLmNvbnRleHQpO2JyZWFrO2Nhc2UgMjpkW2NdLmZuLmNhbGwoZFtjXS5jb250ZXh0LHQpO2JyZWFrO2Nhc2UgMzpkW2NdLmZuLmNhbGwoZFtjXS5jb250ZXh0LHQsbyk7YnJlYWs7Y2FzZSA0OmRbY10uZm4uY2FsbChkW2NdLmNvbnRleHQsdCxvLHIpO2JyZWFrO2RlZmF1bHQ6aWYoIWwpZm9yKHU9MSxsPW5ldyBBcnJheShoLTEpO3U8aDt1KyspbFt1LTFdPWFyZ3VtZW50c1t1XTtkW2NdLmZuLmFwcGx5KGRbY10uY29udGV4dCxsKX19cmV0dXJuITB9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gaSh0aGlzLGUsdCxuLCExKX0sYS5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGkodGhpcyxlLHQsbiwhMCl9LGEucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxvLHIpe3ZhciBpPW4/bitlOmU7aWYoIXRoaXMuX2V2ZW50c1tpXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGkpLHRoaXM7dmFyIGE9dGhpcy5fZXZlbnRzW2ldO2lmKGEuZm4pYS5mbiE9PXR8fHImJiFhLm9uY2V8fG8mJmEuY29udGV4dCE9PW98fHModGhpcyxpKTtlbHNle2Zvcih2YXIgbD0wLGM9W10sZD1hLmxlbmd0aDtsPGQ7bCsrKShhW2xdLmZuIT09dHx8ciYmIWFbbF0ub25jZXx8byYmYVtsXS5jb250ZXh0IT09bykmJmMucHVzaChhW2xdKTtjLmxlbmd0aD90aGlzLl9ldmVudHNbaV09MT09PWMubGVuZ3RoP2NbMF06YzpzKHRoaXMsaSl9cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gZT8odD1uP24rZTplLHRoaXMuX2V2ZW50c1t0XSYmcyh0aGlzLHQpKToodGhpcy5fZXZlbnRzPW5ldyBvLHRoaXMuX2V2ZW50c0NvdW50PTApLHRoaXN9LGEucHJvdG90eXBlLm9mZj1hLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcixhLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1hLnByb3RvdHlwZS5vbixhLnByZWZpeGVkPW4sYS5FdmVudEVtaXR0ZXI9YSxlLmV4cG9ydHM9YX0ocyk7dmFyIGE9cy5leHBvcnRzOyFmdW5jdGlvbih0KXt2YXIgbj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5BZGFwdGVyPXQuQWRhcHRlclN0YXRlPXQuV2FsbGV0UmVhZHlTdGF0ZT10LkV2ZW50RW1pdHRlcj12b2lkIDA7Y29uc3Qgbz1uKGEpO3ZhciByLGk7dC5FdmVudEVtaXR0ZXI9by5kZWZhdWx0LChyPXQuV2FsbGV0UmVhZHlTdGF0ZXx8KHQuV2FsbGV0UmVhZHlTdGF0ZT17fSkpLkxvYWRpbmc9IkxvYWRpbmciLHIuTm90Rm91bmQ9Ik5vdEZvdW5kIixyLkZvdW5kPSJGb3VuZCIsZnVuY3Rpb24oZSl7ZS5Mb2FkaW5nPSJMb2FkaW5nIixlLk5vdEZvdW5kPSJOb3RGb3VuZCIsZS5EaXNjb25uZWN0PSJEaXNjb25uZWN0ZWQiLGUuQ29ubmVjdGVkPSJDb25uZWN0ZWQifShpPXQuQWRhcHRlclN0YXRlfHwodC5BZGFwdGVyU3RhdGU9e30pKTtjbGFzcyBzIGV4dGVuZHMgby5kZWZhdWx0e2dldCBjb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PWkuQ29ubmVjdGVkfWRpc2Nvbm5lY3QoKXtyZXR1cm4gY29uc29sZS5pbmZvKCJUaGUgY3VycmVudCBhZGFwdGVyIGRvZXNuJ3Qgc3VwcG9ydCBkaXNjb25uZWN0IGJ5IERBcHAuIiksUHJvbWlzZS5yZXNvbHZlKCl9bXVsdGlTaWduKC4uLmUpe3JldHVybiBQcm9taXNlLnJlamVjdCgiVGhlIGN1cnJlbnQgd2FsbGV0IGRvZXNuJ3Qgc3VwcG9ydCBtdWx0aVNpZ24uIil9c3dpdGNoQ2hhaW4oZSl7cmV0dXJuIFByb21pc2UucmVqZWN0KCJUaGUgY3VycmVudCB3YWxsZXQgZG9lc24ndCBzdXBwb3J0IHN3aXRjaCBjaGFpbi4iKX19dC5BZGFwdGVyPXN9KGkpO3ZhciBsPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShsLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxsLldhbGxldEdldE5ldHdvcmtFcnJvcj1sLldhbGxldFN3aXRjaENoYWluRXJyb3I9bC5XYWxsZXRXaW5kb3dDbG9zZWRFcnJvcj1sLldhbGxldFdhbGxldExvYWRFcnJvcj1sLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yPWwuV2FsbGV0U2lnbk1lc3NhZ2VFcnJvcj1sLldhbGxldERpc2Nvbm5lY3Rpb25FcnJvcj1sLldhbGxldENvbm5lY3Rpb25FcnJvcj1sLldhbGxldERpc2Nvbm5lY3RlZEVycm9yPWwuV2FsbGV0Tm90U2VsZWN0ZWRFcnJvcj1sLldhbGxldE5vdEZvdW5kRXJyb3I9bC5XYWxsZXRFcnJvcj12b2lkIDA7Y2xhc3MgYyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5lcnJvcj10fX1sLldhbGxldEVycm9yPWM7bC5XYWxsZXROb3RGb3VuZEVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXROb3RGb3VuZEVycm9yIix0aGlzLm1lc3NhZ2U9IlRoZSB3YWxsZXQgaXMgbm90IGZvdW5kLiJ9fTtsLldhbGxldE5vdFNlbGVjdGVkRXJyb3I9Y2xhc3MgZXh0ZW5kcyBje2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldE5vdFNlbGVjdGVkRXJyb3IiLHRoaXMubWVzc2FnZT0iTm8gd2FsbGV0IGlzIHNlbGVjdGVkLiBQbGVhc2Ugc2VsZWN0IGEgd2FsbGV0LiJ9fTtsLldhbGxldERpc2Nvbm5lY3RlZEVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXREaXNjb25uZWN0ZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJUaGUgd2FsbGV0IGlzIGRpc2Nvbm5lY3RlZC4gUGxlYXNlIGNvbm5lY3QgZmlyc3QuIn19O2wuV2FsbGV0Q29ubmVjdGlvbkVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRDb25uZWN0aW9uRXJyb3IifX07bC5XYWxsZXREaXNjb25uZWN0aW9uRXJyb3I9Y2xhc3MgZXh0ZW5kcyBje2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldERpc2Nvbm5lY3Rpb25FcnJvciJ9fTtsLldhbGxldFNpZ25NZXNzYWdlRXJyb3I9Y2xhc3MgZXh0ZW5kcyBje2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldFNpZ25NZXNzYWdlRXJyb3IifX07bC5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcj1jbGFzcyBleHRlbmRzIGN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IifX07bC5XYWxsZXRXYWxsZXRMb2FkRXJyb3I9Y2xhc3MgZXh0ZW5kcyBje2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldFdhbGxldExvYWRFcnJvciJ9fTtsLldhbGxldFdpbmRvd0Nsb3NlZEVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRXaW5kb3dDbG9zZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJUaGUgUVIgd2luZG93IGlzIGNsb3NlZC4ifX07bC5XYWxsZXRTd2l0Y2hDaGFpbkVycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRTd2l0Y2hDaGFpbkVycm9yIn19O2wuV2FsbGV0R2V0TmV0d29ya0Vycm9yPWNsYXNzIGV4dGVuZHMgY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRHZXROZXR3b3JrRXJyb3IifX07dmFyIGQ9e307IWZ1bmN0aW9uKGUpe3ZhciB0LG47T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuQ2hhaW5OZXR3b3JrPWUuTmV0d29ya1R5cGU9dm9pZCAwLCh0PWUuTmV0d29ya1R5cGV8fChlLk5ldHdvcmtUeXBlPXt9KSkuTWFpbm5ldD0iTWFpbm5ldCIsdC5TaGFzdGE9IlNoYXN0YSIsdC5OaWxlPSJOaWxlIix0LlVua25vd249IlVua25vd24iLChuPWUuQ2hhaW5OZXR3b3JrfHwoZS5DaGFpbk5ldHdvcms9e30pKS5NYWlubmV0PSJNYWlubmV0IixuLlNoYXN0YT0iU2hhc3RhIixuLk5pbGU9Ik5pbGUifShkKTt2YXIgaD17fTtmdW5jdGlvbiB1KCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShoLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxoLmlzSW5Nb2JpbGVCcm93c2VyPWguY2hlY2tBZGFwdGVyU3RhdGU9aC5pc0luQnJvd3Nlcj12b2lkIDAsaC5pc0luQnJvd3Nlcj11LGguY2hlY2tBZGFwdGVyU3RhdGU9ZnVuY3Rpb24oZSl7aWYoIXUoKSlyZXR1cm47Y29uc3QgdD1bXTtmdW5jdGlvbiBuKCl7Zm9yKGNvbnN0IGUgb2YgdCllKCl9ZnVuY3Rpb24gbygpe2UoKSYmbigpfWNvbnN0IHI9c2V0SW50ZXJ2YWwobyw1MDApO3QucHVzaCgoKCk9PmNsZWFySW50ZXJ2YWwocikpKSwibG9hZGluZyI9PT1kb2N1bWVudC5yZWFkeVN0YXRlJiYoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbyx7b25jZTohMH0pLHQucHVzaCgoKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8pKSkpLCJjb21wbGV0ZSIhPT1kb2N1bWVudC5yZWFkeVN0YXRlJiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG8se29uY2U6ITB9KSx0LnB1c2goKCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsbykpKSksbygpLHNldFRpbWVvdXQobiw2ZTQpfSxoLmlzSW5Nb2JpbGVCcm93c2VyPWZ1bmN0aW9uKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fFdpbmRvd3MgUGhvbmUvaSl9LGZ1bmN0aW9uKHQpe3ZhciBuPWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQsbixvKXt2b2lkIDA9PT1vJiYobz1uKTt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7ciYmISgiZ2V0ImluIHI/IXQuX19lc01vZHVsZTpyLndyaXRhYmxlfHxyLmNvbmZpZ3VyYWJsZSl8fChyPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8scil9OmZ1bmN0aW9uKGUsdCxuLG8pe3ZvaWQgMD09PW8mJihvPW4pLGVbb109dFtuXX0pLG89ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBvIGluIGUpImRlZmF1bHQiPT09b3x8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbyl8fG4odCxlLG8pfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbyhpLHQpLG8obCx0KSxvKGQsdCksbyhoLHQpfShyKTt2YXIgcD17fSx3PWUmJmUuX19hd2FpdGVyfHxmdW5jdGlvbihlLHQsbixvKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24ocixpKXtmdW5jdGlvbiBzKGUpe3RyeXtsKG8ubmV4dChlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gYShlKXt0cnl7bChvLnRocm93KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBsKGUpe3ZhciB0O2UuZG9uZT9yKGUudmFsdWUpOih0PWUudmFsdWUsdCBpbnN0YW5jZW9mIG4/dDpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0KX0pKSkudGhlbihzLGEpfWwoKG89by5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHAsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHAud2FpdFRyb253ZWJSZWFkeT1wLm9wZW5Ucm9uTGluaz1wLmlzSW5Ucm9uTGlua0FwcD1wLnN1cHBvcnRUcm9uTGluaz1wLnN1cHBvcnRUcm9uPXZvaWQgMDtjb25zdCBmPXI7ZnVuY3Rpb24gdigpe3JldHVybiEoIXdpbmRvdy50cm9ufHwhd2luZG93LnRyb24uaXNUcm9uTGluayl9ZnVuY3Rpb24gQSgpe3JldHVybiEhKHYoKXx8d2luZG93LnRyb25MaW5rfHx3aW5kb3cudHJvbldlYil9ZnVuY3Rpb24geSgpe3JldHVybigwLGYuaXNJbkJyb3dzZXIpKCkmJnZvaWQgMCE9PXdpbmRvdy5pVHJvbn1wLnN1cHBvcnRUcm9uPXYscC5zdXBwb3J0VHJvbkxpbms9QSxwLmlzSW5Ucm9uTGlua0FwcD15LHAub3BlblRyb25MaW5rPWZ1bmN0aW9uKHtkYXBwSWNvbjplLGRhcHBOYW1lOnR9PXtkYXBwSWNvbjoiIixkYXBwTmFtZToiIn0pe2lmKCFBKCkmJigwLGYuaXNJbk1vYmlsZUJyb3dzZXIpKCkmJiF5KCkpe2xldCBuPSIiLG89IiI7dHJ5e249ZG9jdW1lbnQudGl0bGU7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbCo9Imljb24iXScpO2UmJihvPW5ldyBVUkwoZS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8IiIsbG9jYXRpb24uaHJlZikudG9TdHJpbmcoKSl9Y2F0Y2goZSl7fWNvbnN0e29yaWdpbjpyLHBhdGhuYW1lOmksc2VhcmNoOnMsaGFzaDphfT13aW5kb3cubG9jYXRpb24sbD1yK2krcysoYS5pbmNsdWRlcygiPyIpP2E6YCR7YX0/Xz0xYCksYz17YWN0aW9uOiJvcGVuIixhY3Rpb25JZDpEYXRlLm5vdygpKyIiLGNhbGxiYWNrVXJsOiJodHRwOi8vc29tZXVybC5jb20iLGRhcHBJY29uOmV8fG8sZGFwcE5hbWU6dHx8bix1cmw6bCxwcm90b2NvbDoiVHJvbkxpbmsiLHZlcnNpb246IjEuMCIsY2hhaW5JZDoiMHgyYjY2NTNkYyJ9O3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZj1gdHJvbmxpbmtvdXRzaWRlOi8vcHVsbC5hY3Rpdml0eT9wYXJhbT0ke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShjKSl9YCwhMH1yZXR1cm4hMX0scC53YWl0VHJvbndlYlJlYWR5PWZ1bmN0aW9uKGUpe3JldHVybiB3KHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxuKT0+e2NvbnN0IG89c2V0SW50ZXJ2YWwoKCgpPT57ZS50cm9uV2ViJiYoY2xlYXJJbnRlcnZhbChvKSxjbGVhclRpbWVvdXQociksdCgpKX0pLDUwKSxyPXNldFRpbWVvdXQoKCgpPT57Y2xlYXJJbnRlcnZhbChvKSxuKCJgd2luZG93LnRyb24udHJvbndlYmAgaXMgbm90IHJlYWR5LiIpfSksMmUzKX0pKX0pKX0sZnVuY3Rpb24odCl7dmFyIG49ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLG8pe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKChmdW5jdGlvbihyLGkpe2Z1bmN0aW9uIHMoZSl7dHJ5e2woby5uZXh0KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBhKGUpe3RyeXtsKG8udGhyb3coZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIGwoZSl7dmFyIHQ7ZS5kb25lP3IoZS52YWx1ZSk6KHQ9ZS52YWx1ZSx0IGluc3RhbmNlb2Ygbj90Om5ldyBuKChmdW5jdGlvbihlKXtlKHQpfSkpKS50aGVuKHMsYSl9bCgobz1vLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5Ucm9uTGlua0FkYXB0ZXI9dC5Ucm9uTGlua0FkYXB0ZXJOYW1lPXQuZ2V0TmV0d29ya0luZm9CeVRyb25XZWI9dC5jaGFpbklkTmV0d29ya01hcD12b2lkIDA7Y29uc3Qgbz1yLGk9cDtmdW5jdGlvbiBzKGUpe3ZhciByLGkscztyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0e2Jsb2NrSUQ6bj0iIn09eWllbGQgZS50cnguZ2V0QmxvY2tCeU51bWJlcigwKSxhPWAweCR7bi5zbGljZSgtOCl9YDtyZXR1cm57bmV0d29ya1R5cGU6dC5jaGFpbklkTmV0d29ya01hcFthXXx8by5OZXR3b3JrVHlwZS5Vbmtub3duLGNoYWluSWQ6YSxmdWxsTm9kZToobnVsbD09PShyPWUuZnVsbE5vZGUpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLmhvc3QpfHwiIixzb2xpZGl0eU5vZGU6KG51bGw9PT0oaT1lLnNvbGlkaXR5Tm9kZSl8fHZvaWQgMD09PWk/dm9pZCAwOmkuaG9zdCl8fCIiLGV2ZW50U2VydmVyOihudWxsPT09KHM9ZS5ldmVudFNlcnZlcil8fHZvaWQgMD09PXM/dm9pZCAwOnMuaG9zdCl8fCIifX0pKX10LmNoYWluSWROZXR3b3JrTWFwPXsiMHgyYjY2NTNkYyI6by5OZXR3b3JrVHlwZS5NYWlubmV0LCIweDk0YTkwNTllIjpvLk5ldHdvcmtUeXBlLlNoYXN0YSwiMHhjZDg2OTBkYyI6by5OZXR3b3JrVHlwZS5OaWxlfSx0LmdldE5ldHdvcmtJbmZvQnlUcm9uV2ViPXMsdC5Ucm9uTGlua0FkYXB0ZXJOYW1lPSJUcm9uTGluayI7Y2xhc3MgYSBleHRlbmRzIG8uQWRhcHRlcntjb25zdHJ1Y3RvcihlPXt9KXtzdXBlcigpLHRoaXMubmFtZT10LlRyb25MaW5rQWRhcHRlck5hbWUsdGhpcy51cmw9Imh0dHBzOi8vd3d3LnRyb25saW5rLm9yZy8iLHRoaXMuaWNvbj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGMEFBQUJkQ0FZQUFBREhjV3JEQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk5BQUI2SmdBQWdJUUFBUG9BQUFDQTZBQUFkVEFBQU9wZ0FBQTZtQUFBRjNDY3VsRThBQUFBVUdWWVNXWk5UUUFxQUFBQUNBQUNBUklBQXdBQUFBRUFBUUFBaDJrQUJBQUFBQUVBQUFBbUFBQUFBQUFEb0FFQUF3QUFBQUVBQVFBQW9BSUFCQUFBQUFFQUFBQmRvQU1BQkFBQUFBRUFBQUJkQUFBQUFNa1RCZklBQUFGWmFWUllkRmhOVERwamIyMHVZV1J2WW1VdWVHMXdBQUFBQUFBOGVEcDRiWEJ0WlhSaElIaHRiRzV6T25nOUltRmtiMkpsT201ek9tMWxkR0V2SWlCNE9uaHRjSFJyUFNKWVRWQWdRMjl5WlNBMkxqQXVNQ0krQ2lBZ0lEeHlaR1k2VWtSR0lIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SStDaUFnSUNBZ0lEeHlaR1k2UkdWelkzSnBjSFJwYjI0Z2NtUm1PbUZpYjNWMFBTSWlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPblJwWm1ZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZkR2xtWmk4eExqQXZJajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZUM0pwWlc1MFlYUnBiMjQrTVR3dmRHbG1aanBQY21sbGJuUmhkR2x2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2hsZTRRY0FBQlpoU1VSQlZIZ0I3VjBKbEJUVnVmNnJ1bnRXbGxrQTJRZVlRUVJCWkhORnhaanc0akZxTUVGeENXSVMxeU9hVGVKNzZuazVMeWM1Q1VaTmZDb2EwQmdVeFJoM1FEMkNKczhsRUxhSWdPQ3c3OHNzek40ejAxMzF2dS9XMU5EVGZidG5lcWE3Wng1di9uTjZwcnJxMXEycTc3Ly9ldjliYlVnY05Iam0vc3lhN1BJaUl4QTQzVENOVWJZRWN3M2JzT0xvNHY5OFU5c1dBeFN3YmJ2WUk3TERDRForZGV6bDg0N0c4MkJHV3hybnpWbC9ubUY1YmhDeHZpRzJGQm9lbjArRXA5cHRPZjBVYk9QQVpsc05oT0NZbU9ZYXd6YVhpcmZ5blpMbnBsYTE5c0F4UWMrNWFjMTRqeWY5SWJIc3F3MXZ1dGUyR29GNzhQOHgyQm80RFZNTUUyT1FxQVFEVzhXMmZsdjY0b1FYTUNpampzaW9vT2ZQM2pBWHZmMFNIZmEyQS9Yc1VuWGMvU2NHQWdBZnFnZmdCMTh6R3F2dktWazY5WkN1ZFNUb3Q2M3o1ZnZOUncwejdXN2JDcEI5dXZPNjk4VkF3UEJtQXJhR3pYYlF1cTVzeWNTdDRVM05sanRzQTREL3dmQmszSTJUdWdGdkNVNmJ2OW1CT2lnSjcxalRZN3pkKytaMWhlRW50Z0E5NzZiMVA4WUl2OU1PK05HdVc1MkVneFhQZHpzSWxleEpLL1JhNXVLK2QyM3BFWHB1TStoOWJsbzMwVFM5LzZXTVpUZmdvUmkxZTV1RDEvQm1YR0JWMWowWTJva0QraTlzbUdEalYyTDZzbUY5UTQ5M2IzY1FBVFhpVGMvYzNCdlhqWE83VXFEMzJibjJJdHYwVGxjTjNDUGQveE9EQUFheDRVblA4cGptdlc2SENuVGJObStCNHNkMnR4NTNnVW5rZnc1bVc2d1pVT0VEMksrWk0yZGpEb0xMeSt3Z0FwOXVTZzRDYXJSbjVJa3BsL0lDcGluV0dmQnZCblhyOHVUZzNkd3JJbGZrYlM1eVFMZGtQTnhFQkVuZHFxVVpvR1JzcUNEVEhLMUF0MnlaWm5kN0xNbUF1VVdmRHNaMjM2TExWNlNiR1BYWjNhTzhCVDdKL09MeDk4aUJTcmU3OVVveVVXN1JOM0poL080RVJ5Mk9kSDlKTmdMZG9DY2JZVTMvM2FCclFFbjJybTdRazQyd3BuK3ZabC9jdXpnVFV0dmdKTW84cGlFZXNOTEUvOGdaa3JpN1BpVlA2RERvalVGYjVzMFlJSVB6MDJURHpocjU4b0JmOWh5cmw5S3FnR0lFWnEvQUJFT1kyVUVGUVRjak1JdzZESG9Bb084OTFpQVBmSGVnM0h4cEg0YTZjcnl5VVhZZnJaZE5lK3RrMDU1YU1LSk85aDV2VUl5b2cwU2NaQVNZUUdhY2t1TTUra04xR1BSMG55a3JOMVhJb2JJR0daaVhwZ0R0MTlzbi9KeDd1ak5oZ3FoWGpsVTRqUGhpYnkwWVVkZkVpSG9wZzBUVU5iS1l4SlVJZ3dtaFU1bzZERG8waGh3OTBTanZiNnlRV3k3cnF3V0xiZnJuK05Ubi9GRW5HY0h6ZGg3eHl4ZVFDREtEcW1sZmljT0kraVpHZUhHeXh3TkduRUxpMEdIUWlUSUJlV05OdWN6NVdsODFZclhJaCsza09RTnlmZW96ZFhSUGRUUUlrVGhXRVpBZGgvMVFUWTVFYkQ5WUIwWTBTRmwxUUJwT0VVWWtCUFEwV01tMXhUVkNnTTRZbkJrR2I5dS8wdUM2akxob2pNTUkyZ3hLeEk0ajlVb2FhQ08ySGZUTGZqQ2luSXdJT0tySkMybmcrV1JtVjZlRWdFNTlYRkVibEhmV251Z1E2RHF3Q09ZZ2VFYjhYSExtU1VZY0xtK1U0a05RVGZzYzFiVGRaVVJOUUJxN09DTVNBanJCOGdHY2Q5YWRrSHV2N0M5cDN1UU9OekppU0o4MDlmbmFXYjBVcitpNkhnRWp2aUlqcUpyd0lTTU9RQ0pPMUFTRnh5a0Z0QStkTFJFSkJYMHpSdDE2K09xdXNkU04zR1R0STlOZFJseld4QWlxSGtyRVY0Y29EU2NsNGtDcHd3aXFyczVnUk1KQXA3UHRyN2ZremRYbG5RSzZqcG1VdUlLK2FlcnpqZkc5VlJONlJYUnZ0ME1pTmtNYXlBeEtCeGxCRmVreXdyVVJWSjJKcHNTQmpqdmpRNzcvcndwNVlPWkE2WldGNnUwMlVpMllSWHZRSTlPVWNVT3o0Ty83aEErZERFcjNHVEw4dEhUMStlWUVseEdXSEN4clZPcUlxc2xseEVFeW9pNG93U2FKU0JRakVnbzZiMm9YSXRHUHY2eVNLeWJsdEJtenJIUlRSZ0NJVzUvYXJkVEJxRUVad3MrNGdpd1pPelJUUmc3SWtQNXdMNmxDa2tFTThIaDlmaTZmNkREQ2o4aVpvOStSQ0VUV1lBWU45MEZJU1dXdEpYUnZHY1NwT0FJNktoNkpNUEpucjM4THRWOVhDU3QwRTBBTTgyZE56WmRuN3g0ZWQyOU1GY3g1ZkpkOEFxWlJhcGhTNFAvY0hsNmxyODhBSTg0YTFzU0lnUmx5R2dJdVBuU3FpTTlHVjVVR2V2TStSeUpjUmxUVnRjSUlFK1BiRG16THJLdWZtSERRTFNRYjgzcDY1T05majFFK2Q3eUFsRlFHMUlobmhFc0pJREdOUUJFUFlNTmxSQjRZTVJUNm1uSEJ1SUpNU0VTV25FNUc5UGFxREdlODEyMXZlNnBHTW1JYlloU3FKVEtqK0ZDOXNodlZmcWdtNEtFa3d1c1RqeEhjbHVWUEF1aThlWTZJQmJjUGs5bElnTFdIcXYyV3pGMjRSMTc1cEV3eUFieHVMSWN6Z3JxYWpDam9tdzVHUUNLZ21zNkVhaXFDYWtvMUkycHcvNHlpR1N3cUd3R3ZydmhJUUk2VzFXM3pWUHNUUDlJSmNuMmpKVitIdC9ENi9TTzFnRzNZVlFzOW5TNDlNNk1iVzdwNy8vN0Nmbm5tL1dOQ25kc1duVWtwb3pSUTMxSWl5SWo4bmc0alJrTWl4Zy9MQkNPeXBMQi91dlJGUWk2Rm1rbW9mcEI1M2JOa1U4MVpDVFdrN3FobVdtRE5WOVhLOEZEa3c2bXlOaUIzUEgxWW5vSTA5STdpNVZDWC8yN09VS1hQNTc5eFdIa3pyWUZFTVU1VGpVN0tCck9Zek9lc3h2MlFFUmxwcG1MRU1LaW0wVU9vbWh3YjRUTGk1Sm5oZDkyeDd6M2htY0U1OEJUdThGTzdKNTQ0S2hrRjBnMzg2ZFg5SXk1d3dSazlaZDZmOTh1MUQrK1F4ZmVPVUFZeG9oRjJzSjhINFg3bTlmRElneThkVkNPWTBXUTh4QmtzNE16ZTFHbkFYVXFSNzJjKzU3UHQxV29mSmFsUEw2OE02NWN1WTVwdFJDYThtUXhJUk9JZ1lneEE4bVNOdi8xNnpDU01TblF0STd1blNOMTRjYjRLdTlYVm12NFF1RXI0dnd2ZU95Yi9SS0xza3JHOTFJZ09iUk82UFdWa0R4WGdyTnhVcVJKY0JMSzl4RE81R0l2M1FCZFV1YUhZV1FPalI0TzREaEgxdXhzcWxEMVora21wTEVOcVl5UFVJU05iZ2tZcGRnMTh2UGVBbkZEbEYvdnFGeVNPaldGMzRJTjZvQ1hmc0x0R3pnVm80ZlN0eWJueTZOdEhaTzJPR3ZudWI0dmxUL2VNZ003TkNtL1cvSDNXUmZtU0EwTjV4NExkU1BNR2xTdlpmTENERzJRRW1jQzUzVkNKNE1RTHdmNWtLNWFHb2xFbVJLYXZLeEZRVFhSZng4RllENE4vVHlQZVZrcmFTT2VEMEozS3lmTENxRHBKcWRDYm9vSDdlR3UxbWs4bGlPL0NSVHg3ZUpieVBrTGJoVzdURStGczFFZGZWQ0t0RzB4YTFNcHI4djVOVnlJd2dDZ1JqdlFHMWRRakpYVEYraE5LSXVobHJZQjBmTDY3Vm82Q1VYUVRhY1RKcEZBS0JxVnkwejcvZ3FTQnpvdFJKeFBRRzZCaXFEZERpY2ZxNGFGUWZHbmNxRzY0VGNPck03N3V1VXhxWFFwMXhLaVhXY1ZrcFF2YzY0WCsxeklDbktqQ3ZlL0dQREdkQno0RDFkSmZ3QWdPSk9iL2p5SDJBQXZCTkt1eTVFampnb1FIUjZFM3lXMjZmcS84cktnNXZBNDlmaGo1anFuL3NWVXhocUx0NnN4SGJoa2kzNXNXMjhmZmU3eGVidm52M2JJR3hwQytmRmNpZWtrVy9nU3dCRmVsQzhDdDdLeDB5YysydnlycTB6Z2g2WGZMaTc2eHBreUx5UUFrdHFaaDFEWUVJSThnanRwR3lPWTlpL2JKSDViRmZzY0JneUF5Y3pxU1ZsUmpYWWtveGJRUlZERTB1cFJrRHFoRDVZM1d4aTBOV0ZXWFpLSy8vZEVYVmNwRjAxMXF4bm01Q0k4cHVBN3hadm4xd1NVSDVCZExENm9SNHg0TC8wK2pScGZ6dXFsNXFzYUdPcmVyRXAvSlZZVkpCNTBnTW4rOTh2TUtMUjRYWXk1MEJDSkVScEl1NFJUbG5Uejg1bUg1MGJQN3hJOElOeG94cW4zbXp1Rnl4Ny8xazNxa0h5amFYWjJTRGpvQklKZGZYM05DQ3dqejd0UFA3cTFtK2tQQjRqbTAvb3MrT0M2M1Bya2I2ZFRvN3lpZ05EMkM2UFgrN3d4VTAzSWgvQXZ0c3RPM09YZDc0QUJOYWdxSUFjVnFHRHpXdU9ob3hybTVTdS9wQmlsMTRtdi9LSmNiSDlzWlZVV3hUNldTRUwzKzVudUQ4YzNKditpdTFWbjdtSSthTUR3NzdhTkZSVTQ0a093Ym9icGd1UVRkS1IxTktzcFdreFZ1bUJ6ZWhzQi9pR2lVYVFOT2tzU2l1eTQvVFo2OGJaaHlVYVAxRit2OFpCeWpvWjhGdS9QS3p3cDlQVFA2cGdaMFBnaU55TnZJeGVpQW9IcjQxdVFjVlRvUjdhSHBGcTdmaGVoMWZySHlmYU8xNC83ckViMCtQM2VFOU03MktKYzFWdHRrSHFOOVlacjd0dW45NUtuYmhrcE90aGZQVUo0YTljSUhZMXFBZ2NLL0VMWHA2TW9wT1NyakdNc1FaaURBNGt6TlRJeDR6aTdGb205aTJtM3BUNHRrRU54U1RrYW5tbWhYNkFxem92blI3dzlGUk92RUlieVBsT2gwWGdnYVJ2blRiNkw4VGtlakJtWEtsSkhaclk1TVJyYU1SRzk0ZEdkVWRlWDJ6MUtRVitlTkZFN3pjYzR6VmVUazgyMzUxVTFENUQrdkd4U1J0MDhaNkh4Z3FwSDNFQm96b3hkTzFQczBxSXprV2lOS0RiMlpIenl4VzE3NFcwbk01cHpZL3V2UGkrUWNKTjBvNnNrbXFrL21hUjcvWVlIY2M4VnAyc3VsRkhUcWRhcUhUN2M1ZWV6d082THJ5TWxtemdDMVJ1eUxLWVo3RnUyVng5c1N2ZDVYS05NeG01WE02SlV1SWVPR1orOGVFVE9Oa1ZMUUNTU0RJRmI0Nm9qMWlneVczTFNBcmszb1Byb0J6STJmakY1RGo3YmM3dHZMSjR0LzFCUzl3cHRvWFo1YW50L2FOdzZBZmpsZVdmTGpRcUY5aWtVcEI1MHFodTRmYzlVNm1uRmVudks1ZGNkMCs2aVdxRzZjNkhXdm1wL1Z0ZU0rRmIzZWtmam9sUkV6QzVoZXZhOUlMbTRxY3RYZGd3KzVHRkxLUVdkYWdFVThxd0M4amxpWnl3Y0lUUXZvMm9YdUM0MWVmOWhhOUlvSGYrU1dvZkx6YXhJVHZkSk9jUExsdFhsRm1BL0FpdjhZOU1IbmxmNG5IMTRiU0Rub3ZDZUM5QVpxSG5XVUE5OWFseGJRdFEzZkYwLzArdEMxakY2SHFDN29iYlNIYUIrb0R1a2hjWUlsRmozMWZxbk0vdjNPNEthcUNxdFRRR2RhNEI5SUMreUtraGI0TnRNQ2NBM2JBNFdLWGpHejFMYm90Wjg4Y1d1QnBPTitkRUZiTEJBSk9IWDNTejhwbElFbytZdEdmSVpmLy9VUXlra09xR25vd1lNSHAxNjk4T2FvaDdua2NmbDZmZVp4Q3RJQ1k0Wmt4QTJFKytCTWxMRmttM092RE1oaUVXZTFuc2Y4YkZ1alY0SllCOEE1eWZJblJMMHMrWXRHYXJubjgvc1Y2UFMyektZeW4wNFo2YnhKSnkxUXJnV1dBZEFWcmFRRm9qMm91NThUQjhXSDY5c2N2Yjc4RTBhdmFURU5NVU1JSnE3bXd2OSs4cmFDbUZVQnJQSzY4K2s5OHVSN1J5VWQ5MEtWNmxLbmdVNlBneWtCMXYvcDZLb3B1YXJjdWcyeGt1NTB0WTh6TjI3MHVqeEtzczA5K1lJekdMMFdvU0FvVXh0RXVkVmpEODRjSkwrWlBhUjVRc0k5UC9RL0M1eFlDUHZTLzVSS0ZnRVBQWWp0VGdPZE44TFJFQzB0d0RLNHlZV3Rwd1hDbmlmaXF4dTlmditKWGZMaTMxdVBYdW1Gc0dRa05IcWxvZVZJblErdzc3OUd2WEF1NGpydURucG1zeDdaS2NzM25JZ3FDWjBHT20rU1B2c0szSnd1U21TSkhBMXFzQ05EdlFrSk4zcWR1N0FOMFN1cXZKQ0NGYTdjNEgxUkw5T29MN2hqbU55TzJhbFl4QkxxbWZOM0lPS3VVaU9jYldrRExEQ053VlB6K3hPU1ZlRVY2K2JjWTZ6VVltbjArU2l6WTBGK09MSElrNlVNL3FiMW8rSEg0L25PR2hhbTNlQXJLd0F1SHRPcmhaNE43U3M3dzZOc3loNlVWVkE5UFlldy91cHpja09iUkd6VGNETUp4d1hJekwwUTVBQStYRmlXaHhxZnNRWFpNdTNNSGhXWEZIaitHTjMwUm5TYm5CMGNTZlRadjk2ME9DdjBLcXh4b1IvOCt1b3lOYk1VZXF3OTIvU2FLRjJNWGptcE12L21vV3JHWHRjWG85ZW5NYnFwTG1MVjRmRGM1U2c2Y3FjVWFZd0wrcUU0VmRWRU91WGFIRkRNS1VGbzA1NzlzTnpUNmFDN2FRR09lQlp4aHRPTTgzT2psbkNFdDIzTGR3NTRlallMTWZmS1FpaDZJZEhXUjlIbmJ3MXdMaVQrKytZcUZMb09VaFZxbkdRL0RSSWE2cTI0OTFVRGRVV0tmRXEzUllyK015Mnd2N1JlUG1SQWMyRmV4RlduSVMxUUFEMTdFTVdkRk5WRUVIdHhvdGN5cktnTHlNSzdoa2V0SEc3dGVrV29zNTkvc3hQWnR0YldQZDZwaHRTOUNWcWJhR2tCQmg4MGFpekJTelFSK0ZYUThkZitiZ2ZLNG1MUHZVYTdkbnZXUEhVSjBOUGdIZERpUjN0d1RtNmt3ZWRPUE93bzgrRGNLeXFIdjhQb0ZTdm9Va0ZkQW5RYU9PcjBkMkdRZEhRT3B2RllyQjl2ZmtUWGwyNmZpbDZ4T0l2dVhtdHpyN3J6MjdyUHJibnNFcUR6cHBGemtyZitpV29CVGNhUG9IQmRLbWRta2tXTVhsbUxmajNjdms5Ym1mU081eDZZTnVEcnRUNzR2RnArLzg2UmhwV2ZIZzUydWlGMUg4QUgxRGVpeEdJejBnS3NVdytucTg3SmtjZVhIMVdqWGVjWmhMZHZ6M2Q2VWlWTnI4SzZzT2tkTlBIMFE0QlJKS3FtSkpuZTRNbzZMdjUxVmw2ak9EYlEySmh2TlhZZDBBa2tseksrdmJaY0Mvb1lySHlZV0ppRlVWaXRmTzE0d0lpbkxkTzhnL3RFQm1yaGZiQzZnS3VubllXOGRiSmxQOTR4QVBlUit5bzBiOTN3ZWIwSW1pRE9TRFY1WVoyNnpDdmtPTktXcjZ1USs2NGVFRkZ6VHRmeTI0Z0s2Uk96WFRLSUdRZG1CSFh4QXEvSDFSZXI4TDR5QlRCRzhDSFUxN01xZ2JhR2RzbDlyUW56UGZ4RUk2VEE3TVNzVDQ5MmhUajJNMGZDQmErcmkvWFZBcGRQekZFdlpOT28vVGl1RXIwcExVWTJ2Qmt1emRFUmwxWStnQkp1dnVtRG81cTVHUTRBdXA2ME93ei9DWDRNc3IzWjliWnBXNTdQRERlN0hxTjFxZzY1YVFIZDliZ3MvVUtrWU50YUxhRHJJOVkrSnFaeVVmckdGRUE0OFZocFZhUDBSRjZHQUt0SmlkZ0F0K2pDNExzUXhhN1k4L3kwZXVTQnJBMzRvYnNXRFRyekMwY09seTR5SjYwakxpS0k0MWwxWFVUZFJ3bGljb3FqUFp5cU1hcVpObWhsSkllZmR2STdRYmZOWWlUZGJOTVRTTnVDdHpPVXFyZFNubXpTYVZ2VTNmdndOb3dQTit1ckJTNGQxd3R2eEVoWGEza1NmWk1jelh5UGdNNDc0Z3Q0S3ZCK01MNUZ0YjFraVBVWnp6V1B2VHp1S0s3eXFmdnpqdTN0TUxIbk9abEhYWi9VdDF3aW1ZeWlVSTUwWmdOMXBGNWppOUhlTHNqQlJmenNUcTBSOUt4aTMwcU84R3VDTHpqcGR0M2xVcitQMVFLTURMbUNUa2NxTFJERE85Q2QwOVo5ZkVXaGpvNmpPSXI1SDUwVTZOcUg3ak04YVlEWFhuWDhwUWxRTDAyZzkvTDFXUVpPYkZRSFExdDMwallsK0RoZW9zRGw0anJpQWw2KytZaEdONUZFUUprUDF4RW5NOXFYaHNBb3R3S1dZZGlQdWYycWtiN24rZUYrNlBtSDhMdkpTUGkyUzREYy9oTDJuN3I5TGRRODZncUI2S0oxdEZwQWQ2TjArYUtwRi9yazdaazV4QThHNHJ6QUt5V0xKMy9rWHJQWlRKZjhlZkp5c1J1ZU1YeXhLNVhjRTVQOW4xN01CcVFGR0lqb2lOVUNQVEpRa0pTZ3dhNENJMlE3K1dKbUhURXZFN2Rxd1MveDJrSC9QZ242NW9YMjJRdzZkNXAxbWZQd2M0NnIrTXV4blUxOFFMNUY0eDBrd1hRMEZxK1FtakFDMVFJSlVqSGtYVGFZeUZkaDZlaHdlVU44b0t1M3VsaVZoaFc4dVd6SitBT2hmYllBL2ZpcloxWTNORnF6d0owUERTK1RUcDJyYWhoS2MvNHh0QnpDdlhsT0huQ3ltTy8yU2dUUlhlUUxmM1JUZHp4MkhLbm4wRVhHTWE5Snd5bjJDU01ZdUtIa3hTbC9DMi9iQW5RZXJIcDVjZ2wrNm5pR0hheDdUc2l0cGw4S0R6OHhGZDhaOWZHRjkzeDVzbzR1bjlSYjVVbm82bldVMkFkZkg1S1ZIam5TT2JkWmptQk5CWld4TG9RR1Nrdll3UzNBOElxU0Y2R3lOUlFCT3R1VUxUbXZzblR4eEI5WVZ1QjZWRzFzeFc5TzR6YzF3YjI0bFpybWluSHNvcHpSSDQ4MmxUY2NjNmVzekVwRVdvRExibWhFZGJFUGsxcDhVNU5UeHFGNUFBeE9SeVViVldJMVBOYlFFSmhXOXVJNW4ybGFxbDM2ekU1VDYvSVhKaTdOdTNIMUNzTzByNE9tbVkyTTVDVDhvR21tdzNJTWpVUlpzV2gzaC8zcEdiYXMzT0tYRTVoSnk0bE1zOHMxV0VTd2JBTU9landkVW9hSVZhUi9udDZKS0sxR29WQVFERUY2MWxHNCtLczJHUFJnUWJJZDNJblpsN2N4UUJlV0xKNzBaWXpIVVlkaWdzNFdIUFg0dHhBOUw4cWZzMzRVZk03SjJCNk5GVm1EeExCNmk5MnEwS2tMdGZjUGhYMHZTcXEzSDZnZUMvOThSSGcvVndMME1XOGUvaGp2VnkvWGltMzRDVkcrMjFoK2VQYXdqQWs0SERHMWJ5Rk40cStyL2RRSDc0YWFER090RnZudzR3QysyQkp6bzhkYi9YbkpjMU5qcjdFTXVhN0R1SkFkWFhYVHJxOGZJMmxwVXlQdno4TFNqalhMakNFWEhJdzhGdDhldTY1c3FtVGtqb2s0SytBdk5ueVpIMFhzYitlTy93V3JnNDZEby83Z1lBQUFBQUJKUlU1RXJrSmdnZz09Iix0aGlzLl9yZWFkeVN0YXRlPSgwLG8uaXNJbkJyb3dzZXIpKCk/by5XYWxsZXRSZWFkeVN0YXRlLkxvYWRpbmc6by5XYWxsZXRSZWFkeVN0YXRlLk5vdEZvdW5kLHRoaXMuX3N0YXRlPW8uQWRhcHRlclN0YXRlLkxvYWRpbmcsdGhpcy5fc3VwcG9ydE5ld1Ryb25Qcm90b2NvbD0hMSx0aGlzLl90cm9uTGlua01lc3NhZ2VIYW5kbGVyPWU9Pnt2YXIgdCxuLHIsaSxzO2NvbnN0IGE9bnVsbD09PSh0PWUuZGF0YSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQubWVzc2FnZTtpZihhKWlmKCJhY2NvdW50c0NoYW5nZWQiPT09YS5hY3Rpb24pc2V0VGltZW91dCgoKCk9Pnt2YXIgZTtjb25zdCB0PXRoaXMuYWRkcmVzc3x8IiI7aWYobnVsbD09PShlPXRoaXMuX3dhbGxldCl8fHZvaWQgMD09PWU/dm9pZCAwOmUucmVhZHkpe2NvbnN0IGU9YS5kYXRhLmFkZHJlc3M7dGhpcy5zZXRBZGRyZXNzKGUpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKX1lbHNlIHRoaXMuc2V0QWRkcmVzcyhudWxsKSx0aGlzLnNldFN0YXRlKG8uQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpO3RoaXMuZW1pdCgiYWNjb3VudHNDaGFuZ2VkIix0aGlzLmFkZHJlc3N8fCIiLHQpLCF0JiZ0aGlzLmFkZHJlc3M/dGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3MpOnQmJiF0aGlzLmFkZHJlc3MmJnRoaXMuZW1pdCgiZGlzY29ubmVjdCIpfSksMjAwKTtlbHNlIGlmKCJzZXROb2RlIj09PWEuYWN0aW9uKXRoaXMuZW1pdCgiY2hhaW5DaGFuZ2VkIix7Y2hhaW5JZDoobnVsbD09PShyPW51bGw9PT0obj1hLmRhdGEpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLm5vZGUpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLmNoYWluSWQpfHwiIn0pO2Vsc2UgaWYoImNvbm5lY3QiPT09YS5hY3Rpb24pe2NvbnN0IGU9KG51bGw9PT0ocz1udWxsPT09KGk9dGhpcy5fd2FsbGV0LnRyb25XZWIpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09cz92b2lkIDA6cy5iYXNlNTgpfHwiIjt0aGlzLnNldEFkZHJlc3MoZSksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpLHRoaXMuZW1pdCgiY29ubmVjdCIsZSl9ZWxzZSJkaXNjb25uZWN0Ij09PWEuYWN0aW9uJiYodGhpcy5zZXRBZGRyZXNzKG51bGwpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCksdGhpcy5lbWl0KCJkaXNjb25uZWN0IikpfSx0aGlzLl9vbkNoYWluQ2hhbmdlZD1lPT57dGhpcy5lbWl0KCJjaGFpbkNoYW5nZWQiLGUpfSx0aGlzLl9vbkFjY291bnRzQ2hhbmdlZD0oKT0+e3ZhciBlLHQsbjtjb25zdCByPXRoaXMuYWRkcmVzc3x8IiIsaT0obnVsbD09PShlPXRoaXMuX3dhbGxldCl8fHZvaWQgMD09PWU/dm9pZCAwOmUudHJvbldlYikmJihudWxsPT09KG49bnVsbD09PSh0PXRoaXMuX3dhbGxldCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQudHJvbldlYi5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uYmFzZTU4KXx8IiI7aWYoaSl7Y29uc3QgZT1pO3RoaXMuc2V0QWRkcmVzcyhlKSx0aGlzLnNldFN0YXRlKG8uQWRhcHRlclN0YXRlLkNvbm5lY3RlZCl9ZWxzZSB0aGlzLnNldEFkZHJlc3MobnVsbCksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KTt0aGlzLmVtaXQoImFjY291bnRzQ2hhbmdlZCIsdGhpcy5hZGRyZXNzfHwiIixyKSwhciYmdGhpcy5hZGRyZXNzP3RoaXMuZW1pdCgiY29ubmVjdCIsdGhpcy5hZGRyZXNzKTpyJiYhdGhpcy5hZGRyZXNzJiZ0aGlzLmVtaXQoImRpc2Nvbm5lY3QiKX0sdGhpcy5fY2hlY2tQcm9taXNlPW51bGwsdGhpcy5fdXBkYXRlV2FsbGV0PSgpPT57dmFyIGUsdCxuLHIsaSxzLGEsbDtsZXQgYz10aGlzLnN0YXRlLGQ9dGhpcy5hZGRyZXNzOygwLG8uaXNJbk1vYmlsZUJyb3dzZXIpKCk/KHdpbmRvdy50cm9uTGluaz90aGlzLl93YWxsZXQ9d2luZG93LnRyb25MaW5rOnRoaXMuX3dhbGxldD17cmVhZHk6ISEobnVsbD09PShlPXdpbmRvdy50cm9uV2ViKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5kZWZhdWx0QWRkcmVzcyksdHJvbldlYjp3aW5kb3cudHJvbldlYixyZXF1ZXN0OigpPT5Qcm9taXNlLnJlc29sdmUoITApfSxkPShudWxsPT09KG49bnVsbD09PSh0PXRoaXMuX3dhbGxldC50cm9uV2ViKXx8dm9pZCAwPT09dD92b2lkIDA6dC5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uYmFzZTU4KXx8bnVsbCxjPWQ/by5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkOm8uQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpOndpbmRvdy50cm9uJiZ3aW5kb3cudHJvbi5pc1Ryb25MaW5rPyh0aGlzLl9zdXBwb3J0TmV3VHJvblByb3RvY29sPSEwLHRoaXMuX3dhbGxldD13aW5kb3cudHJvbix0aGlzLl9saXN0ZW5Ucm9uRXZlbnQoKSxkPXRoaXMuX3dhbGxldC50cm9uV2ViJiYobnVsbD09PShpPW51bGw9PT0ocj10aGlzLl93YWxsZXQudHJvbldlYil8fHZvaWQgMD09PXI/dm9pZCAwOnIuZGVmYXVsdEFkZHJlc3MpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmJhc2U1OCl8fG51bGwsYz1kP28uQWRhcHRlclN0YXRlLkNvbm5lY3RlZDpvLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KTp3aW5kb3cudHJvbkxpbms/KHRoaXMuX3dhbGxldD13aW5kb3cudHJvbkxpbmssdGhpcy5fbGlzdGVuVHJvbkxpbmtFdmVudCgpLGQ9KG51bGw9PT0oYT1udWxsPT09KHM9dGhpcy5fd2FsbGV0LnRyb25XZWIpfHx2b2lkIDA9PT1zP3ZvaWQgMDpzLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09YT92b2lkIDA6YS5iYXNlNTgpfHxudWxsLGM9dGhpcy5fd2FsbGV0LnJlYWR5P28uQWRhcHRlclN0YXRlLkNvbm5lY3RlZDpvLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KTp3aW5kb3cudHJvbldlYj8odGhpcy5fd2FsbGV0PXtyZWFkeTp3aW5kb3cudHJvbldlYi5yZWFkeSx0cm9uV2ViOndpbmRvdy50cm9uV2ViLHJlcXVlc3Q6KCk9PlByb21pc2UucmVzb2x2ZSghMCl9LGQ9KG51bGw9PT0obD10aGlzLl93YWxsZXQudHJvbldlYi5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PWw/dm9pZCAwOmwuYmFzZTU4KXx8bnVsbCxjPXRoaXMuX3dhbGxldC5yZWFkeT9vLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQ6by5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCk6KHRoaXMuX3dhbGxldD1udWxsLGQ9bnVsbCxjPW8uQWRhcHRlclN0YXRlLk5vdEZvdW5kKSwoMCxvLmlzSW5Nb2JpbGVCcm93c2VyKSgpJiZjPT09by5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCYmdGhpcy5jaGVja0ZvcldhbGxldFJlYWR5Rm9yQXBwKCksdGhpcy5zZXRBZGRyZXNzKGQpLHRoaXMuc2V0U3RhdGUoYyl9LHRoaXMuY2hlY2tSZWFkeUludGVydmFsPW51bGw7Y29uc3R7Y2hlY2tUaW1lb3V0Om49M2U0LGRhcHBJY29uOnI9IiIsZGFwcE5hbWU6cz0iIixvcGVuVXJsV2hlbldhbGxldE5vdEZvdW5kOmE9ITAsb3BlblRyb25MaW5rQXBwT25Nb2JpbGU6bD0hMH09ZTtpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJbVHJvbkxpbmtBZGFwdGVyXSBjb25maWcuY2hlY2tUaW1lb3V0IHNob3VsZCBiZSBhIG51bWJlciIpO2lmKHRoaXMuY29uZmlnPXtjaGVja1RpbWVvdXQ6bixvcGVuVHJvbkxpbmtBcHBPbk1vYmlsZTpsLG9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQ6YSxkYXBwSWNvbjpyLGRhcHBOYW1lOnN9LHRoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fd2FsbGV0PW51bGwsdGhpcy5fYWRkcmVzcz1udWxsLCEoMCxvLmlzSW5Ccm93c2VyKSgpKXJldHVybiB0aGlzLl9yZWFkeVN0YXRlPW8uV2FsbGV0UmVhZHlTdGF0ZS5Ob3RGb3VuZCx2b2lkIHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuTm90Rm91bmQpOygwLGkuc3VwcG9ydFRyb24pKCl8fCgwLG8uaXNJbk1vYmlsZUJyb3dzZXIpKCkmJih3aW5kb3cudHJvbkxpbmt8fHdpbmRvdy50cm9uV2ViKT8odGhpcy5fcmVhZHlTdGF0ZT1vLldhbGxldFJlYWR5U3RhdGUuRm91bmQsdGhpcy5fdXBkYXRlV2FsbGV0KCkpOnRoaXMuX2NoZWNrV2FsbGV0KCkudGhlbigoKCk9Pnt0aGlzLmNvbm5lY3RlZCYmdGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3N8fCIiKX0pKX1nZXQgYWRkcmVzcygpe3JldHVybiB0aGlzLl9hZGRyZXNzfWdldCBzdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZX1nZXQgcmVhZHlTdGF0ZSgpe3JldHVybiB0aGlzLl9yZWFkeVN0YXRlfWdldCBjb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpbmd9bmV0d29yaygpe3ZhciBlO3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2lmKHlpZWxkIHRoaXMuX2NoZWNrV2FsbGV0KCksdGhpcy5zdGF0ZSE9PW8uQWRhcHRlclN0YXRlLkNvbm5lY3RlZCl0aHJvdyBuZXcgby5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtjb25zdCB0PShudWxsPT09KGU9dGhpcy5fd2FsbGV0KXx8dm9pZCAwPT09ZT92b2lkIDA6ZS50cm9uV2ViKXx8d2luZG93LnRyb25XZWI7aWYoIXQpdGhyb3cgbmV3IG8uV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I7dHJ5e3JldHVybiB5aWVsZCBzKHQpfWNhdGNoKGUpe3Rocm93IG5ldyBvLldhbGxldEdldE5ldHdvcmtFcnJvcihudWxsPT1lP3ZvaWQgMDplLm1lc3NhZ2UsZSl9fWNhdGNoKGUpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLGUpLGV9fSkpfWNvbm5lY3QoKXt2YXIgZSx0O3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2lmKHRoaXMuY2hlY2tJZk9wZW5Ucm9uTGluaygpLHRoaXMuY29ubmVjdGVkfHx0aGlzLmNvbm5lY3RpbmcpcmV0dXJuO2lmKHlpZWxkIHRoaXMuX2NoZWNrV2FsbGV0KCksdGhpcy5zdGF0ZT09PW8uQWRhcHRlclN0YXRlLk5vdEZvdW5kKXRocm93ITEhPT10aGlzLmNvbmZpZy5vcGVuVXJsV2hlbldhbGxldE5vdEZvdW5kJiYoMCxvLmlzSW5Ccm93c2VyKSgpJiZ3aW5kb3cub3Blbih0aGlzLnVybCwiX2JsYW5rIiksbmV3IG8uV2FsbGV0Tm90Rm91bmRFcnJvcjtpZighdGhpcy5fd2FsbGV0KXJldHVybjtpZih0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMuX3N1cHBvcnROZXdUcm9uUHJvdG9jb2wpe2NvbnN0IGU9dGhpcy5fd2FsbGV0O3RyeXtjb25zdCB0PSh5aWVsZCBlLnJlcXVlc3Qoe21ldGhvZDoiZXRoX3JlcXVlc3RBY2NvdW50cyJ9KSlbMF07dGhpcy5zZXRBZGRyZXNzKHQpLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKSx0aGlzLl9saXN0ZW5Ucm9uRXZlbnQoKSx0aGlzLl93YWxsZXQudHJvbldlYnx8KHlpZWxkKDAsaS53YWl0VHJvbndlYlJlYWR5KSh0aGlzLl93YWxsZXQpKX1jYXRjaChlKXtsZXQgdD0obnVsbD09ZT92b2lkIDA6ZS5tZXNzYWdlKXx8ZXx8IkNvbm5lY3QgVHJvbkxpbmsgd2FsbGV0IGZhaWxlZC4iO3Rocm93LTMyMDAyPT09ZS5jb2RlJiYodD0iVGhlIHNhbWUgREFwcCBoYXMgYWxyZWFkeSBpbml0aWF0ZWQgYSByZXF1ZXN0IHRvIGNvbm5lY3QgdG8gVHJvbkxpbmsgd2FsbGV0LCBhbmQgdGhlIHBvcC11cCB3aW5kb3cgaGFzIG5vdCBiZWVuIGNsb3NlZC4iKSw0MDAxPT09ZS5jb2RlJiYodD0iVGhlIHVzZXIgcmVqZWN0ZWQgY29ubmVjdGlvbi4iKSxuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IodCxlKX19ZWxzZSBpZih3aW5kb3cudHJvbkxpbmspe2NvbnN0IHQ9dGhpcy5fd2FsbGV0O3RyeXtjb25zdCBlPXlpZWxkIHQucmVxdWVzdCh7bWV0aG9kOiJ0cm9uX3JlcXVlc3RBY2NvdW50cyJ9KTtpZighZSl0aHJvdyBuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRyb25MaW5rIHdhbGxldCBpcyBsb2NrZWQgb3Igbm8gd2FsbGV0IGFjY291bnQgaXMgYXZhbGlhYmxlLiIpO2lmKDRlMz09PWUuY29kZSl0aHJvdyBuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRoZSBzYW1lIERBcHAgaGFzIGFscmVhZHkgaW5pdGlhdGVkIGEgcmVxdWVzdCB0byBjb25uZWN0IHRvIFRyb25MaW5rIHdhbGxldCwgYW5kIHRoZSBwb3AtdXAgd2luZG93IGhhcyBub3QgYmVlbiBjbG9zZWQuIik7aWYoNDAwMT09PWUuY29kZSl0aHJvdyBuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIlRoZSB1c2VyIHJlamVjdGVkIGNvbm5lY3Rpb24uIil9Y2F0Y2goZSl7dGhyb3cgbmV3IG8uV2FsbGV0Q29ubmVjdGlvbkVycm9yKG51bGw9PWU/dm9pZCAwOmUubWVzc2FnZSxlKX1jb25zdCBuPShudWxsPT09KGU9dC50cm9uV2ViLmRlZmF1bHRBZGRyZXNzKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5iYXNlNTgpfHwiIjt0aGlzLnNldEFkZHJlc3MobiksdGhpcy5zZXRTdGF0ZShvLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQpLHRoaXMuX2xpc3RlblRyb25MaW5rRXZlbnQoKX1lbHNle2lmKCF3aW5kb3cudHJvbldlYil0aHJvdyBuZXcgby5XYWxsZXRDb25uZWN0aW9uRXJyb3IoIkNhbm5vdCBjb25uZWN0IHdhbGxldC4iKTt7Y29uc3QgZT10aGlzLl93YWxsZXQsbj0obnVsbD09PSh0PWUudHJvbldlYi5kZWZhdWx0QWRkcmVzcyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuYmFzZTU4KXx8IiI7dGhpcy5zZXRBZGRyZXNzKG4pLHRoaXMuc2V0U3RhdGUoby5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKX19dGhpcy5jb25uZWN0ZWQmJnRoaXMuZW1pdCgiY29ubmVjdCIsdGhpcy5hZGRyZXNzfHwiIil9Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX1maW5hbGx5e3RoaXMuX2Nvbm5lY3Rpbmc9ITF9fSkpfWRpc2Nvbm5lY3QoKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RoaXMuX3N1cHBvcnROZXdUcm9uUHJvdG9jb2w/dGhpcy5fc3RvcExpc3RlblRyb25FdmVudCgpOnRoaXMuX3N0b3BMaXN0ZW5Ucm9uTGlua0V2ZW50KCksdGhpcy5zdGF0ZT09PW8uQWRhcHRlclN0YXRlLkNvbm5lY3RlZCYmKHRoaXMuc2V0QWRkcmVzcyhudWxsKSx0aGlzLnNldFN0YXRlKG8uQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QpLHRoaXMuZW1pdCgiZGlzY29ubmVjdCIpKX0pKX1zaWduVHJhbnNhY3Rpb24oZSx0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCBuPXlpZWxkIHRoaXMuY2hlY2tBbmRHZXRXYWxsZXQoKTt0cnl7cmV0dXJuIHlpZWxkIG4udHJvbldlYi50cnguc2lnbihlLHQpfWNhdGNoKGUpe3Rocm93IGUgaW5zdGFuY2VvZiBFcnJvcj9uZXcgby5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcihlLm1lc3NhZ2UsZSk6bmV3IG8uV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IoZSxuZXcgRXJyb3IoZSkpfX1jYXRjaChlKXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIixlKSxlfX0pKX1tdWx0aVNpZ24oLi4uZSl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3QgdD15aWVsZCB0aGlzLmNoZWNrQW5kR2V0V2FsbGV0KCk7dHJ5e3JldHVybiB5aWVsZCB0LnRyb25XZWIudHJ4Lm11bHRpU2lnbiguLi5lKX1jYXRjaChlKXt0aHJvdyBlIGluc3RhbmNlb2YgRXJyb3I/bmV3IG8uV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IoZS5tZXNzYWdlLGUpOm5ldyBvLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yKGUsbmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9c2lnbk1lc3NhZ2UoZSx0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCBuPXlpZWxkIHRoaXMuY2hlY2tBbmRHZXRXYWxsZXQoKTt0cnl7cmV0dXJuIHlpZWxkIG4udHJvbldlYi50cnguc2lnbk1lc3NhZ2VWMihlLHQpfWNhdGNoKGUpe3Rocm93IGUgaW5zdGFuY2VvZiBFcnJvcj9uZXcgby5XYWxsZXRTaWduTWVzc2FnZUVycm9yKGUubWVzc2FnZSxlKTpuZXcgby5XYWxsZXRTaWduTWVzc2FnZUVycm9yKGUsbmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9c3dpdGNoQ2hhaW4oZSl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7aWYoeWllbGQgdGhpcy5fY2hlY2tXYWxsZXQoKSx0aGlzLnN0YXRlPT09by5BZGFwdGVyU3RhdGUuTm90Rm91bmQpdGhyb3chMSE9PXRoaXMuY29uZmlnLm9wZW5VcmxXaGVuV2FsbGV0Tm90Rm91bmQmJigwLG8uaXNJbkJyb3dzZXIpKCkmJndpbmRvdy5vcGVuKHRoaXMudXJsLCJfYmxhbmsiKSxuZXcgby5XYWxsZXROb3RGb3VuZEVycm9yO2lmKCF0aGlzLl9zdXBwb3J0TmV3VHJvblByb3RvY29sKXRocm93IG5ldyBvLldhbGxldFN3aXRjaENoYWluRXJyb3IoIkN1cnJlbnQgdmVyc2lvbiBvZiBUcm9uTGluayBkb2Vzbid0IHN1cHBvcnQgc3dpdGNoIGNoYWluIG9wZXJhdGlvbi4iKTtjb25zdCB0PXRoaXMuX3dhbGxldDt0cnl7eWllbGQgdC5yZXF1ZXN0KHttZXRob2Q6IndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluIixwYXJhbXM6W3tjaGFpbklkOmV9XX0pfWNhdGNoKGUpe3Rocm93IG5ldyBvLldhbGxldFN3aXRjaENoYWluRXJyb3IoKG51bGw9PWU/dm9pZCAwOmUubWVzc2FnZSl8fGUsZSBpbnN0YW5jZW9mIEVycm9yP2U6bmV3IEVycm9yKGUpKX19Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksZX19KSl9Y2hlY2tBbmRHZXRXYWxsZXQoKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2lmKHRoaXMuY2hlY2tJZk9wZW5Ucm9uTGluaygpLHlpZWxkIHRoaXMuX2NoZWNrV2FsbGV0KCksdGhpcy5zdGF0ZSE9PW8uQWRhcHRlclN0YXRlLkNvbm5lY3RlZCl0aHJvdyBuZXcgby5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtjb25zdCBlPXRoaXMuX3dhbGxldDtpZighZXx8IWUudHJvbldlYil0aHJvdyBuZXcgby5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjtyZXR1cm4gZX0pKX1fbGlzdGVuVHJvbkxpbmtFdmVudCgpe3RoaXMuX3N0b3BMaXN0ZW5Ucm9uTGlua0V2ZW50KCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3Ryb25MaW5rTWVzc2FnZUhhbmRsZXIpfV9zdG9wTGlzdGVuVHJvbkxpbmtFdmVudCgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl90cm9uTGlua01lc3NhZ2VIYW5kbGVyKX1jaGVja0lmT3BlblRyb25MaW5rKCl7Y29uc3R7ZGFwcE5hbWU6ZT0iIixkYXBwSWNvbjp0PSIifT10aGlzLmNvbmZpZztpZighMSE9PXRoaXMuY29uZmlnLm9wZW5Ucm9uTGlua0FwcE9uTW9iaWxlJiYoMCxpLm9wZW5Ucm9uTGluaykoe2RhcHBJY29uOnQsZGFwcE5hbWU6ZX0pKXRocm93IG5ldyBvLldhbGxldE5vdEZvdW5kRXJyb3J9X2xpc3RlblRyb25FdmVudCgpe3RoaXMuX3N0b3BMaXN0ZW5Ucm9uRXZlbnQoKSx0aGlzLl9zdG9wTGlzdGVuVHJvbkxpbmtFdmVudCgpO2NvbnN0IGU9dGhpcy5fd2FsbGV0O2Uub24oImNoYWluQ2hhbmdlZCIsdGhpcy5fb25DaGFpbkNoYW5nZWQpLGUub24oImFjY291bnRzQ2hhbmdlZCIsdGhpcy5fb25BY2NvdW50c0NoYW5nZWQpfV9zdG9wTGlzdGVuVHJvbkV2ZW50KCl7Y29uc3QgZT10aGlzLl93YWxsZXQ7ZS5yZW1vdmVMaXN0ZW5lcigiY2hhaW5DaGFuZ2VkIix0aGlzLl9vbkNoYWluQ2hhbmdlZCksZS5yZW1vdmVMaXN0ZW5lcigiYWNjb3VudHNDaGFuZ2VkIix0aGlzLl9vbkFjY291bnRzQ2hhbmdlZCl9X2NoZWNrV2FsbGV0KCl7aWYodGhpcy5yZWFkeVN0YXRlPT09by5XYWxsZXRSZWFkeVN0YXRlLkZvdW5kKXJldHVybiBQcm9taXNlLnJlc29sdmUoITApO2lmKHRoaXMuX2NoZWNrUHJvbWlzZSlyZXR1cm4gdGhpcy5fY2hlY2tQcm9taXNlO2NvbnN0IGU9TWF0aC5mbG9vcigyMCksdD1NYXRoLmZsb29yKHRoaXMuY29uZmlnLmNoZWNrVGltZW91dC8xMDApO2xldCBuLHI9MDtyZXR1cm4gdGhpcy5fY2hlY2tQcm9taXNlPW5ldyBQcm9taXNlKChzPT57Y29uc3QgYT0oKT0+e3IrKztjb25zdCBhPXI8ZSYmISgwLG8uaXNJbk1vYmlsZUJyb3dzZXIpKCk/KDAsaS5zdXBwb3J0VHJvbikoKTooMCxpLnN1cHBvcnRUcm9uTGluaykoKTsoYXx8cj50KSYmKG4mJmNsZWFySW50ZXJ2YWwobiksdGhpcy5fcmVhZHlTdGF0ZT1hP28uV2FsbGV0UmVhZHlTdGF0ZS5Gb3VuZDpvLldhbGxldFJlYWR5U3RhdGUuTm90Rm91bmQsdGhpcy5fdXBkYXRlV2FsbGV0KCksdGhpcy5lbWl0KCJyZWFkeVN0YXRlQ2hhbmdlZCIsdGhpcy5yZWFkeVN0YXRlKSxzKGEpKX07bj1zZXRJbnRlcnZhbChhLDEwMCksYSgpfSkpLHRoaXMuX2NoZWNrUHJvbWlzZX1jaGVja0ZvcldhbGxldFJlYWR5Rm9yQXBwKCl7aWYodGhpcy5jaGVja1JlYWR5SW50ZXJ2YWwpcmV0dXJuO2xldCBlPTA7Y29uc3QgdD1NYXRoLmZsb29yKHRoaXMuY29uZmlnLmNoZWNrVGltZW91dC8yMDApO3RoaXMuY2hlY2tSZWFkeUludGVydmFsPXNldEludGVydmFsKCgoKT0+e3ZhciBuLG87KHdpbmRvdy50cm9uTGluaz9udWxsPT09KG49d2luZG93LnRyb25MaW5rLnRyb25XZWIpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmRlZmF1bHRBZGRyZXNzOm51bGw9PT0obz13aW5kb3cudHJvbldlYil8fHZvaWQgMD09PW8/dm9pZCAwOm8uZGVmYXVsdEFkZHJlc3MpPyh0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbCksdGhpcy5jaGVja1JlYWR5SW50ZXJ2YWw9bnVsbCx0aGlzLl91cGRhdGVXYWxsZXQoKSx0aGlzLmVtaXQoImNvbm5lY3QiLHRoaXMuYWRkcmVzc3x8IiIpKTplPnQ/KHRoaXMuY2hlY2tSZWFkeUludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuY2hlY2tSZWFkeUludGVydmFsKSx0aGlzLmNoZWNrUmVhZHlJbnRlcnZhbD1udWxsKTplKyt9KSwyMDApfXNldEFkZHJlc3MoZSl7dGhpcy5fYWRkcmVzcz1lfXNldFN0YXRlKGUpe2UhPT10aGlzLnN0YXRlJiYodGhpcy5fc3RhdGU9ZSx0aGlzLmVtaXQoInN0YXRlQ2hhbmdlZCIsZSkpfX10LlRyb25MaW5rQWRhcHRlcj1hfShvKTt2YXIgbT17fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG0sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKHQpe3ZhciBuPWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQsbixvKXt2b2lkIDA9PT1vJiYobz1uKTt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7ciYmISgiZ2V0ImluIHI/IXQuX19lc01vZHVsZTpyLndyaXRhYmxlfHxyLmNvbmZpZ3VyYWJsZSl8fChyPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8scil9OmZ1bmN0aW9uKGUsdCxuLG8pe3ZvaWQgMD09PW8mJihvPW4pLGVbb109dFtuXX0pLHI9ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBvIGluIGUpImRlZmF1bHQiPT09b3x8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbyl8fG4odCxlLG8pfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscihvLHQpLHIobSx0KSxyKHAsdCl9KG4pLHQobil9KSk7Cg=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,500\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.856Z","timestamp":1785140382856,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css2?family=DM+Sans:opsz,wght@9..40,500\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 08:19:42 GMT\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\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"]}],"data":{"size":887,"size_decoded":1071,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"0bf8396960a2a8844905e447962a0421","sha1":"dcf89331830616c0b48f870c88c4f6c8e08b3710","sha256":"6ddf0629319fabc2c23e5d49714933a0a5e20d0d1eeddc08df318bf7155150b0","sha512":"9d4071ff00a77a21098ff4b098a24d7634c032e41bc905140b2caea6e12f95dd1ef6270f1ee955ff14a44b24f519d7fe3c56dea373965b333ff99ff888fe9184","ssdeep":"","tlshash":"8911cc81042ba120e7831cc562cdbe32ef1e915164449934abfe1888fc6ec3e537674d","first_seen":"2025-09-24T11:19:51.014998Z","last_seen":"2026-07-27T13:55:49.886047Z","times_seen":293,"resource_available":false,"data":"LyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMllwMnl3eGcwODlVcmlJNS1nN004YnRWc0Q4Q2tHcTd1Ni1LNno4R1hoblUwNGF3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAyWXAyeXd4ZzA4OVVyaUk1LWc3TThidFZzRDhDa0dxN3UwLUs2ejhHWGhuVTAud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":32,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"explorer-api.walletconnect.com/w3m/v1/getDesktopListings?projectId=fbf5b42d6feed07049dd9e59d888645a\u0026page=1\u0026entries=9\u0026version=2","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.077Z","timestamp":1785140383077,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getDesktopListings?projectId=fbf5b42d6feed07049dd9e59d888645a\u0026page=1\u0026entries=9\u0026version=2 HTTP/1.1\r\nHost: explorer-api.walletconnect.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://notrx.app/\r\nOrigin: https://notrx.app\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/3 200 \r\nserver: cloudflare\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: application/json; charset=utf-8\r\ncontent-encoding: br\r\ncf-ray: a21a38825ff35693-OSL\r\ncf-cache-status: HIT\r\npriority: u=4,i=?0\r\naccess-control-allow-origin: *\r\nage: 10939\r\ncache-control: public, max-age=2592000, s-maxage=86400\r\nlast-modified: Mon, 27 Jul 2026 05:17:23 GMT\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]}],"data":{"size":7760,"size_decoded":2423,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"e739a3d33a281f12c7a960afd9ce97db","sha1":"2897603b774381f4a52fb6926e00fb43b63cbe54","sha256":"867d154815ab2e8d27bd765efe4b1443f6b3bf1ea08738502e31ff90a1783746","sha512":"0544216ce430f151baf7e2a025d0b629dac1a32549ee76cc8380651900286831ae61c14ca67e22b884c92f8f10b9fb038eb4731f1e6a2106fa854d9c177fa91b","ssdeep":"96:nNSNbh/YiOA959Jw52te72WuEhfW3jls7/dVbqb+OhnsDyhnM/xle/rZurozbqpW:8OAfvTtic/6t4Tx","tlshash":"87f144fb9f844a6f1f2447c8301c399c56af244bc7c46cd6f090cf2884e4afa27566a6","first_seen":"2026-07-02T02:46:15.332909Z","last_seen":"2026-08-05T16:47:06.279996Z","times_seen":130,"resource_available":false,"data":"eyJsaXN0aW5ncyI6eyI4YTBlZTUwZDFmMjJmNjY1MWFmY2FlN2ViNDI1M2U1MmEzMzEwYjkwYWY1ZGFlZjc4YThjNDkyOWE5YmI5OWQ0Ijp7ImlkIjoiOGEwZWU1MGQxZjIyZjY2NTFhZmNhZTdlYjQyNTNlNTJhMzMxMGI5MGFmNWRhZWY3OGE4YzQ5MjlhOWJiOTlkNCIsIm5hbWUiOiJCaW5hbmNlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYmluYW5jZS5jb20vZW4vd2ViM3dhbGxldCIsImltYWdlX2lkIjoiM2Q3ZWI4ODAtNzY1NC00MzFmLWVkODQtYTI1NzEyYjQ1MjAwIiwib3JkZXIiOjEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2VuL3dlYjN3YWxsZXQiLCJpb3MiOiJodHRwczovL3d3dy5iaW5hbmNlLmNvbS9lbi9kb3dubG9hZCIsImFuZHJvaWQiOiJodHRwczovL3d3dy5iaW5hbmNlLmNvbS9lbi9kb3dubG9hZCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvYmluYW5jZS13YWxsZXQvY2FkaWJva2xrcG9qZmFtY29nZ2VqYmJkamNvaWxqams/dXRtX3NvdXJjZT13YWxsZXRjb25uZWN0IiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzQmluYW5jZSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImNvbS5iaW5hbmNlLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJibmM6Ly9hcHAuYmluYW5jZS5jb20vY2VkZWZpLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmJpbmFuY2UuY29tL2NlZGVmaSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2VuL3dlYjN3YWxsZXQifX0sIjBiNDE1YTc0NmZiOWVlOTljY2UxNTVjMmNlY2EwYzZmNjA2MWIxZGJjYTJkNzIyYjNiYTE2MzgxZDA1NjIxNTAiOnsiaWQiOiIwYjQxNWE3NDZmYjllZTk5Y2NlMTU1YzJjZWNhMGM2ZjYwNjFiMWRiY2EyZDcyMmIzYmExNjM4MWQwNTYyMTUwIiwibmFtZSI6IlNhZmVQYWwiLCJob21lcGFnZSI6Imh0dHBzOi8vc2FmZXBhbC5jb20vIiwiaW1hZ2VfaWQiOiI0ZTdkNmY1Mi1mNjYzLTRmYzEtNGI4OC1lZWJlN2ZjNzI4MDAiLCJvcmRlciI6MzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvc2FmZXBhbC1leHRlbnNpb24td2FsbGV0L2xnbXBjcGdscG5nZG9hbGJnZW9sZGVhamZjbG5oYWZhIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvc2FmZXBhbC13YWxsZXQvaWQxNTQ4Mjk3MTM5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5zYWZlcGFsLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3NhZmVwYWwtZXh0ZW5zaW9uLXdhbGxldC9sZ21wY3BnbHBuZ2RvYWxiZ2VvbGRlYWpmY2xuaGFmYSIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9maXJlZm94L2FkZG9uL3NhZmVwYWwtZXh0ZW5zaW9uLXdhbGxldCIsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vbWljcm9zb2Z0ZWRnZS5taWNyb3NvZnQuY29tL2FkZG9ucy9kZXRhaWwvc2FmZXBhbCVFNiU4RiU5MiVFNCVCQiVCNiVFOSU5MiVCMSVFNSU4QyU4NS9hcGVua2ZiYnBtaGloZWhtaWhuZG1tY2RhbmFjb2xuaCIsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNTYWZlUGFsIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2FmZXBhbHdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluay5zYWZlcGFsLmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9zYWZlcGFsLWV4dGVuc2lvbi13YWxsZXQvbGdtcGNwZ2xwbmdkb2FsYmdlb2xkZWFqZmNsbmhhZmEifX0sIjU4NjRlMmNlZDdjMjkzZWQxOGFjMzVlMGRiMDg1YzA5ZWQ1NjdkNjczNDZjY2I2ZjU4YTAzMjdhNzUxMzc0ODkiOnsiaWQiOiI1ODY0ZTJjZWQ3YzI5M2VkMThhYzM1ZTBkYjA4NWMwOWVkNTY3ZDY3MzQ2Y2NiNmY1OGEwMzI3YTc1MTM3NDg5IiwibmFtZSI6IkZpcmVibG9ja3MiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmZpcmVibG9ja3MuY29tLyIsImltYWdlX2lkIjoiOTRlN2VmZDgtMDAxZC00MGMwLWU0OTAtNjFlNmI4NWUxYjAwIiwib3JkZXIiOjUwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vY29uc29sZS5maXJlYmxvY2tzLmlvLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2ZpcmVibG9ja3MvaWQxNDM5Mjk2NTk2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZmlyZWJsb2Nrcy5jbGllbnQmZ2w9SUwiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImZpcmVibG9ja3Mtd2M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jb25zb2xlLmZpcmVibG9ja3MuaW8vdjIvIn19LCIyMDQ1OTQzODAwN2I3NWY0ZjRhY2I5OGJmMjlhYTNiODAwNTUwMzA5NjQ2ZDM3NWRhNWZkNGFhYzZjMmEyYzY2Ijp7ImlkIjoiMjA0NTk0MzgwMDdiNzVmNGY0YWNiOThiZjI5YWEzYjgwMDU1MDMwOTY0NmQzNzVkYTVmZDRhYWM2YzJhMmM2NiIsIm5hbWUiOiJUb2tlblBvY2tldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly90b2tlbnBvY2tldC5wcm8vIiwiaW1hZ2VfaWQiOiI3YzJjZWU0ZS1hNWJkLTRlYmQtMjc3ZC1mNDk2YzY5ZmEwMDAiLCJvcmRlciI6NzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvdG9rZW5wb2NrZXQvbWZnY2NqY2hpaGZra2luZGZwcG5hb29lY2dmbmVpaWkiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC90cC13YWxsZXQvaWQ2NDQ0NjI1NjIyP2w9ZW4iLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPXZpcC5teXRva2VucG9ja2V0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvdG9rZW5wb2NrZXQvbWZnY2NqY2hpaGZra2luZGZwcG5hb29lY2dmbmVpaWkiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNUb2tlblBvY2tldCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6InByby50b2tlbnBvY2tldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0cG91dHNpZGU6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC90b2tlbnBvY2tldC9tZmdjY2pjaGloZmtraW5kZnBwbmFvb2VjZ2ZuZWlpaSJ9fSwiMTkxNzdhOTgyNTJlMDdkZGZjOWFmMjA4M2JhOGUwN2VmNjI3Y2I2MTAzNDY3ZmZlYmIzZjhmNDIwNWZkNzkyNyI6eyJpZCI6IjE5MTc3YTk4MjUyZTA3ZGRmYzlhZjIwODNiYThlMDdlZjYyN2NiNjEwMzQ2N2ZmZWJiM2Y4ZjQyMDVmZDc5MjciLCJuYW1lIjoiTGVkZ2VyIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cubGVkZ2VyLmNvbS9sZWRnZXItd2FsbGV0IiwiaW1hZ2VfaWQiOiJjMjBlMWNlYy0wNWU4LTRhYzYtYTA4Ni03Y2UzNTUwOTI0MDAiLCJvcmRlciI6MTAwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS9hcHAvaWQxMzYxNjcxNzAwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubGVkZ2VyLmxpdmUiLCJtYWMiOiJodHRwczovL3d3dy5sZWRnZXIuY29tL2xlZGdlci1saXZlIiwid2luZG93cyI6Imh0dHBzOi8vd3d3LmxlZGdlci5jb20vbGVkZ2VyLWxpdmUiLCJsaW51eCI6Imh0dHBzOi8vd3d3LmxlZGdlci5jb20vbGVkZ2VyLWxpdmUiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImxlZGdlcmxpdmU6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiJsZWRnZXJsaXZlOi8vIiwidW5pdmVyc2FsIjoiIn19LCJlY2M0MDM2ZjgxNDU2MmI0MWE1MjY4YWRjODYyNzBmYmExMzY1NDcxNDAyMDA2MzAyZTcwMTY5NDY1YjdhYzE4Ijp7ImlkIjoiZWNjNDAzNmY4MTQ1NjJiNDFhNTI2OGFkYzg2MjcwZmJhMTM2NTQ3MTQwMjAwNjMwMmU3MDE2OTQ2NWI3YWMxOCIsIm5hbWUiOiJaZXJpb24iLCJob21lcGFnZSI6Imh0dHBzOi8vemVyaW9uLmlvLyIsImltYWdlX2lkIjoiNzdjMWQzZGQtMDIxMy00MDBhLWY5Y2MtYmZkNTI0YzQ3ZjAwIiwib3JkZXIiOjExMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC56ZXJpb24uaW8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9pZDE0NTY3MzI1NjUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLnplcmlvbi5hbmRyb2lkJmhsPWVuJmdsPVVTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvemVyaW9uLXdhbGxldC1mb3Itd2ViMy1uZi9rbGdoaG5rZWVhbGNvaGpqYW5qamRhZWVnZ21mbWxwbCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc1plcmlvbiIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImlvLnplcmlvbi53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoiemVyaW9uOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuemVyaW9uLmlvL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiemVyaW9uOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuemVyaW9uLmlvIn19LCIxMDdiYjIwNDYzNjk5YzRlNjE0ZDNhMmZiN2I5NjFlNjZmNDg3NzRjYjhmNmQ2YzFhZWU3ODk4NTMyODA5NzJjIjp7ImlkIjoiMTA3YmIyMDQ2MzY5OWM0ZTYxNGQzYTJmYjdiOTYxZTY2ZjQ4Nzc0Y2I4ZjZkNmMxYWVlNzg5ODUzMjgwOTcyYyIsIm5hbWUiOiJCaXRjb2luLmNvbSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmJpdGNvaW4uY29tLyIsImltYWdlX2lkIjoiOGM1NzVkZWMtMDQwMS00OTVmLWQyMTctZGI5NjViNDhiZjAwIiwib3JkZXIiOjE2MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dhbGxldC5iaXRjb2luLmNvbS8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9iaXRjb2luLXdhbGxldC1ieS1iaXRjb2luLWNvbS9pZDEyNTI5MDM3MjgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5iaXRjb2luLm13YWxsZXQiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9iaXRjb2luLXdhbGxldC1ieS1iaXRjb2luLWNvbS9pZDEyNTI5MDM3MjgiLCJ3aW5kb3dzIjoiaHR0cHM6Ly93YWxsZXQuYml0Y29pbi5jb20vIiwibGludXgiOiJodHRwczovL3dhbGxldC5iaXRjb2luLmNvbS8iLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJpdGNvaW5jb206Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5iaXRjb2luLmNvbS8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmJpdGNvaW4uY29tLyJ9fSwiNmIwMTgyZDY3OWI3MmViMjczM2RlYzM4ZDlkZWU3MDU1MWNjMTZhNmNlNWU3YTdmNDE1NWZmYjZmNDkzYzUyMSI6eyJpZCI6IjZiMDE4MmQ2NzliNzJlYjI3MzNkZWMzOGQ5ZGVlNzA1NTFjYzE2YTZjZTVlN2E3ZjQxNTVmZmI2ZjQ5M2M1MjEiLCJuYW1lIjoiVHJlem9yIFN1aXRlIiwiaG9tZXBhZ2UiOiJodHRwczovL3RyZXpvci5pby90cmV6b3Itc3VpdGUiLCJpbWFnZV9pZCI6ImUyMDViMGZkLThlNTAtNDU4OS1jOTc4LWM1MzA0ODQ0YTEwMCIsIm9yZGVyIjoxODAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdHJlem9yLXN1aXRlL2lkMTYzMTg4NDQ5NyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8udHJlem9yLnN1aXRlIiwibWFjIjoiaHR0cHM6Ly90cmV6b3IuaW8vdHJlem9yLXN1aXRlIiwid2luZG93cyI6Imh0dHBzOi8vdHJlem9yLmlvL3RyZXpvci1zdWl0ZSIsImxpbnV4IjoiaHR0cHM6Ly90cmV6b3IuaW8vdHJlem9yLXN1aXRlIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nvbm5lY3QudHJlem9yLmlvLzkvZGVlcGxpbmsvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoidHJlem9yc3VpdGU6Ly93YWxsZXRjb25uZWN0IiwidW5pdmVyc2FsIjoiIn19LCJlZjMzMzg0MGRhZjkxNWFhZmRjNGEwMDQ1MjU1MDJkNmQ0OWQ3N2JkOWM2NWUwNjQyZGJhZWZiM2MyODkzYmVmIjp7ImlkIjoiZWYzMzM4NDBkYWY5MTVhYWZkYzRhMDA0NTI1NTAyZDZkNDlkNzdiZDljNjVlMDY0MmRiYWVmYjNjMjg5M2JlZiIsIm5hbWUiOiJpbVRva2VuIiwiaG9tZXBhZ2UiOiJodHRwczovL3Rva2VuLmltLyIsImltYWdlX2lkIjoiNjczMzY2NzUtMGRhYS00ODliLTY4ODUtY2I5NTIzNGJjNDAwIiwib3JkZXIiOjIwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3Rva2VuLmltLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2ltdG9rZW4yL2lkMTM4NDc5ODk0MCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW0udG9rZW4uYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJpbXRva2VudjI6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly90b2tlbi5pbS8ifX19LCJjb3VudCI6OSwidG90YWwiOjE5OH0="}},"time_used":88,"timings":{"blocked":-1,"dns":4,"connect":11,"send":0,"wait":72,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/7c2cee4e-a5bd-4ebd-277d-f496c69fa000?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.285Z","timestamp":1785140383285,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/7c2cee4e-a5bd-4ebd-277d-f496c69fa000?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a3883880a5693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 77100\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cf9e6rjyr-bBkWoPuSw_vsUwKifmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=10+3 c=1+2 v=2026.4.0 l=1508 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1508\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"]}],"data":{"size":1508,"size_decoded":2222,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 120x120, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"9e8857769972441243d690548cf3e485","sha1":"38328c4d250c38d98763e7b89cfeca1b3b7bb2c2","sha256":"7e7be8edd769cd0ee13580176c51f034867846e592e3434e4b0f30f2cc8b709b","sha512":"121207c756badb363bc86cc8c09ab16965dd26c89d151bc25bdaf3cc106621ab5eed1ef14618394595d80309e2b322e853b20a0f55baada496a60aade841a670","ssdeep":"","tlshash":"7231b59e09441c24511aaaff2ccaa4ab32b5249268afd635c30b5ae6a65454d383f1c8","first_seen":"2025-10-02T02:13:48.566179Z","last_seen":"2026-08-09T10:08:04.436242Z","times_seen":788,"resource_available":false,"data":"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"}},"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":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/8c575dec-0401-495f-d217-db965b48bf00?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.290Z","timestamp":1785140383290,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/8c575dec-0401-495f-d217-db965b48bf00?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a3883980f5693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 76169\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfyNPWIB_wyzErH8Qn6ZOdcsg5fmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=430+0 c=0+3 v=2026.6.6 l=1960 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1960\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"]}],"data":{"size":1960,"size_decoded":2675,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 120x120, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"d3f563f9a322cc46f60b9434d82a1d8e","sha1":"ad782fde266bff24586cb6dc2de0bc116d22085d","sha256":"7cf14697487c9fb32e99c741c96ff04c3627403c9bc1ff37723445fc637594fc","sha512":"7c5240c89d88b4c306d37b7b411d8c7ac3b0b8e91912bf764f139ea26110eb137bcf29b3f1c3ba55ccf4e0191f93dd4b040ee067257ccf44339598a97a614812","ssdeep":"","tlshash":"59412ccaf1acc95dc649b432e518974d4538d8a1946b6408d13bd5e208dc77ff292e0d","first_seen":"2025-07-01T02:46:12.118652Z","last_seen":"2026-08-09T10:08:04.411832Z","times_seen":766,"resource_available":false,"data":"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"}},"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":"fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.251Z","timestamp":1785140382251,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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: identity\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 62460\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:12 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 10 Sep 2025 16:30:17 GMT\r\ncontent-type: font/woff2\r\nage: 414510\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62460,"size_decoded":63273,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 62460, version 1.0","md5":"4c04ee82dc1deb4f32b244195d258e9b","sha1":"9bd2bc9c6f54075acd20589f87c17a73e3ab07b3","sha256":"ab72fd10c9ac5633c1f9ae4267864b674596062e023458e02973080bd1098904","sha512":"43bd417c75382fbcad7a44c73db7ec8e883bb505b63215ec67488eb205b61acd94031d5740bdf70cf413fcb126ac6a567b4c71831eeb063e5643fa0adc704895","ssdeep":"1536:Hjv9lkTtdw0aS3yPvWdfDSFdW6KK8zPJ86DQMBXQX:Hz9ceS3y2FDSFdRKNzPJj5gX","tlshash":"8753028264d3489c8c8b69d354847f1c707ef88fc1b88995a8e33ca14d4b1e6e85ad7f","first_seen":"2025-09-11T19:26:36.805532Z","last_seen":"2026-08-09T22:49:26.509168Z","times_seen":24313,"resource_available":false,"data":"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"}},"time_used":102,"timings":{"blocked":26,"dns":0,"connect":0,"send":0,"wait":50,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@walletconnect/sign-client@latest/dist/index.umd.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.276Z","timestamp":1785140382276,"http_version":"HTTP/3","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":"*.jsdelivr.net","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV R36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 22 Apr 2026 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"65:D9:C4:7E:04:4C:FD:DD:60:E0:CC:18:B5:B7:01:68:B4:2D:C7:34","sha256":"50:6C:A4:F6:ED:74:C7:E9:68:DB:32:56:5A:68:4C:98:ED:01:28:36:F8:13:BA:CC:19:A7:FD:7A:0A:6E:E7:D4"}}},"request":{"raw":"GET /npm/@walletconnect/sign-client@latest/dist/index.umd.js HTTP/1.1\r\nHost: cdn.jsdelivr.net\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 119337\r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=604800, s-maxage=43200\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-jsd-version: 2.23.10\r\nx-jsd-version-type: version\r\netag: W/\"68310-rLB1dfcbnUe4sSUOM1LtIBqDy3U\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\nx-served-by: cache-fra-eddf8230122-FRA, cache-ber1080048-BER\r\nx-cache: HIT, HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=3,i=?0\r\nage: 36356\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=hEDlaW5t7tCpWwy0Xde5wyqxhsez6Ix2kWSWRpdeR5yEBm5B%2FQRIKDkUzBMWK1xejQcSUJJhYWzWgk%2BXWNcqNq154GN38oEg%2BDkmDD11CZvRJFBB0dNHYeFzagewNBoemvk%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: a21a387d3ec0b4f1-OSL\r\nserver-timing: cfExtPri\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":"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"]}],"data":{"size":426768,"size_decoded":120490,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (57675)","md5":"1f6b360fc920b7659537e3b2393c7f80","sha1":"acb07575f71b9d47b8b1250e3352ed201a83cb75","sha256":"7996c60fd7e211bd4d183288adbbca70d700695ce8d7a131035b6bf22f2ee004","sha512":"e5aaa8e12694b3e421f02553552897c3002a0fa77b5ff00d272a11da9c090e418e81b05961a6fdeeb8929ce4c497c0c5d1cdd756b2f47e32001a6dc9e67a4d2b","ssdeep":"6144:qt1WNHz1fVOlZmfovycIfZcIdcAR6rbJtHvydzDQ8EDzDVr:2STNV6mwvyfZcIFR6rb/HvyB+D/N","tlshash":"6e944b4072e1a47243ea55e994375101f239d864304d846cfbacfdef7ea488a967bf38","first_seen":"2026-06-27T12:53:11.206172Z","last_seen":"2026-07-27T11:57:52.257218Z","times_seen":14,"resource_available":true,"data":"KGZ1bmN0aW9uKFosdXQpe3R5cGVvZiBleHBvcnRzPT0ib2JqZWN0IiYmdHlwZW9mIG1vZHVsZTwidSI/dXQoZXhwb3J0cyk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0sdXQpOihaPXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOlp8fHNlbGYsdXQoWlsiQHdhbGxldGNvbm5lY3Qvc2lnbi1jbGllbnQiXT17fSkpfSkodGhpcyxmdW5jdGlvbihaKXsidXNlIHN0cmljdCI7dmFyIHV0PXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdzp0eXBlb2YgZ2xvYmFsPCJ1Ij9nbG9iYWw6dHlwZW9mIHNlbGY8InUiP3NlbGY6e307ZnVuY3Rpb24gSGYodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsImRlZmF1bHQiKT90LmRlZmF1bHQ6dH1mdW5jdGlvbiB5YSh0KXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwiX19lc01vZHVsZSIpKXJldHVybiB0O3ZhciBlPXQuZGVmYXVsdDtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIil7dmFyIHI9ZnVuY3Rpb24gbigpe3ZhciBpPSExO3RyeXtpPXRoaXMgaW5zdGFuY2VvZiBufWNhdGNoe31yZXR1cm4gaT9SZWZsZWN0LmNvbnN0cnVjdChlLGFyZ3VtZW50cyx0aGlzLmNvbnN0cnVjdG9yKTplLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ci5wcm90b3R5cGU9ZS5wcm90b3R5cGV9ZWxzZSByPXt9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbixpLmdldD9pOntlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pfSkscn12YXIgRm49e2V4cG9ydHM6e319LHdhO2Z1bmN0aW9uIFdmKCl7aWYod2EpcmV0dXJuIEZuLmV4cG9ydHM7d2E9MTt2YXIgdD10eXBlb2YgUmVmbGVjdD09Im9iamVjdCI/UmVmbGVjdDpudWxsLGU9dCYmdHlwZW9mIHQuYXBwbHk9PSJmdW5jdGlvbiI/dC5hcHBseTpmdW5jdGlvbihfLHgsVCl7cmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKF8seCxUKX0scjt0JiZ0eXBlb2YgdC5vd25LZXlzPT0iZnVuY3Rpb24iP3I9dC5vd25LZXlzOk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/cj1mdW5jdGlvbihfKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoXykuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoXykpfTpyPWZ1bmN0aW9uKF8pe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhfKX07ZnVuY3Rpb24gbihtKXtjb25zb2xlJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybihtKX12YXIgaT1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKF8pe3JldHVybiBfIT09X307ZnVuY3Rpb24gcygpe3MuaW5pdC5jYWxsKHRoaXMpfUZuLmV4cG9ydHM9cyxGbi5leHBvcnRzLm9uY2U9dixzLkV2ZW50RW1pdHRlcj1zLHMucHJvdG90eXBlLl9ldmVudHM9dm9pZCAwLHMucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLHMucHJvdG90eXBlLl9tYXhMaXN0ZW5lcnM9dm9pZCAwO3ZhciBvPTEwO2Z1bmN0aW9uIGEobSl7aWYodHlwZW9mIG0hPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIG0pfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShzLCJkZWZhdWx0TWF4TGlzdGVuZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0OmZ1bmN0aW9uKG0pe2lmKHR5cGVvZiBtIT0ibnVtYmVyInx8bTwwfHxpKG0pKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgImRlZmF1bHRNYXhMaXN0ZW5lcnMiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcrbSsiLiIpO289bX19KSxzLmluaXQ9ZnVuY3Rpb24oKXsodGhpcy5fZXZlbnRzPT09dm9pZCAwfHx0aGlzLl9ldmVudHM9PT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykuX2V2ZW50cykmJih0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LHMucHJvdG90eXBlLnNldE1heExpc3RlbmVycz1mdW5jdGlvbihfKXtpZih0eXBlb2YgXyE9Im51bWJlciJ8fF88MHx8aShfKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIG9mICJuIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK18rIi4iKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPV8sdGhpc307ZnVuY3Rpb24gYyhtKXtyZXR1cm4gbS5fbWF4TGlzdGVuZXJzPT09dm9pZCAwP3MuZGVmYXVsdE1heExpc3RlbmVyczptLl9tYXhMaXN0ZW5lcnN9cy5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcyl9LHMucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oXyl7Zm9yKHZhciB4PVtdLFQ9MTtUPGFyZ3VtZW50cy5sZW5ndGg7VCsrKXgucHVzaChhcmd1bWVudHNbVF0pO3ZhciBCPV89PT0iZXJyb3IiLFA9dGhpcy5fZXZlbnRzO2lmKFAhPT12b2lkIDApQj1CJiZQLmVycm9yPT09dm9pZCAwO2Vsc2UgaWYoIUIpcmV0dXJuITE7aWYoQil7dmFyIFU7aWYoeC5sZW5ndGg+MCYmKFU9eFswXSksVSBpbnN0YW5jZW9mIEVycm9yKXRocm93IFU7dmFyIEw9bmV3IEVycm9yKCJVbmhhbmRsZWQgZXJyb3IuIisoVT8iICgiK1UubWVzc2FnZSsiKSI6IiIpKTt0aHJvdyBMLmNvbnRleHQ9VSxMfXZhciBDPVBbX107aWYoQz09PXZvaWQgMClyZXR1cm4hMTtpZih0eXBlb2YgQz09ImZ1bmN0aW9uIillKEMsdGhpcyx4KTtlbHNlIGZvcih2YXIgUz1DLmxlbmd0aCxSPWQoQyxTKSxUPTA7VDxTOysrVCllKFJbVF0sdGhpcyx4KTtyZXR1cm4hMH07ZnVuY3Rpb24gdShtLF8seCxUKXt2YXIgQixQLFU7aWYoYSh4KSxQPW0uX2V2ZW50cyxQPT09dm9pZCAwPyhQPW0uX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLG0uX2V2ZW50c0NvdW50PTApOihQLm5ld0xpc3RlbmVyIT09dm9pZCAwJiYobS5lbWl0KCJuZXdMaXN0ZW5lciIsXyx4Lmxpc3RlbmVyP3gubGlzdGVuZXI6eCksUD1tLl9ldmVudHMpLFU9UFtfXSksVT09PXZvaWQgMClVPVBbX109eCwrK20uX2V2ZW50c0NvdW50O2Vsc2UgaWYodHlwZW9mIFU9PSJmdW5jdGlvbiI/VT1QW19dPVQ/W3gsVV06W1UseF06VD9VLnVuc2hpZnQoeCk6VS5wdXNoKHgpLEI9YyhtKSxCPjAmJlUubGVuZ3RoPkImJiFVLndhcm5lZCl7VS53YXJuZWQ9ITA7dmFyIEw9bmV3IEVycm9yKCJQb3NzaWJsZSBFdmVudEVtaXR0ZXIgbWVtb3J5IGxlYWsgZGV0ZWN0ZWQuICIrVS5sZW5ndGgrIiAiK1N0cmluZyhfKSsiIGxpc3RlbmVycyBhZGRlZC4gVXNlIGVtaXR0ZXIuc2V0TWF4TGlzdGVuZXJzKCkgdG8gaW5jcmVhc2UgbGltaXQiKTtMLm5hbWU9Ik1heExpc3RlbmVyc0V4Y2VlZGVkV2FybmluZyIsTC5lbWl0dGVyPW0sTC50eXBlPV8sTC5jb3VudD1VLmxlbmd0aCxuKEwpfXJldHVybiBtfXMucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKF8seCl7cmV0dXJuIHUodGhpcyxfLHgsITEpfSxzLnByb3RvdHlwZS5vbj1zLnByb3RvdHlwZS5hZGRMaXN0ZW5lcixzLnByb3RvdHlwZS5wcmVwZW5kTGlzdGVuZXI9ZnVuY3Rpb24oXyx4KXtyZXR1cm4gdSh0aGlzLF8seCwhMCl9O2Z1bmN0aW9uIGwoKXtpZighdGhpcy5maXJlZClyZXR1cm4gdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLHRoaXMud3JhcEZuKSx0aGlzLmZpcmVkPSEwLGFyZ3VtZW50cy5sZW5ndGg9PT0wP3RoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCk6dGhpcy5saXN0ZW5lci5hcHBseSh0aGlzLnRhcmdldCxhcmd1bWVudHMpfWZ1bmN0aW9uIGgobSxfLHgpe3ZhciBUPXtmaXJlZDohMSx3cmFwRm46dm9pZCAwLHRhcmdldDptLHR5cGU6XyxsaXN0ZW5lcjp4fSxCPWwuYmluZChUKTtyZXR1cm4gQi5saXN0ZW5lcj14LFQud3JhcEZuPUIsQn1zLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKF8seCl7cmV0dXJuIGEoeCksdGhpcy5vbihfLGgodGhpcyxfLHgpKSx0aGlzfSxzLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyPWZ1bmN0aW9uKF8seCl7cmV0dXJuIGEoeCksdGhpcy5wcmVwZW5kTGlzdGVuZXIoXyxoKHRoaXMsXyx4KSksdGhpc30scy5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oXyx4KXt2YXIgVCxCLFAsVSxMO2lmKGEoeCksQj10aGlzLl9ldmVudHMsQj09PXZvaWQgMClyZXR1cm4gdGhpcztpZihUPUJbX10sVD09PXZvaWQgMClyZXR1cm4gdGhpcztpZihUPT09eHx8VC5saXN0ZW5lcj09PXgpLS10aGlzLl9ldmVudHNDb3VudD09PTA/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6KGRlbGV0ZSBCW19dLEIucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdCgicmVtb3ZlTGlzdGVuZXIiLF8sVC5saXN0ZW5lcnx8eCkpO2Vsc2UgaWYodHlwZW9mIFQhPSJmdW5jdGlvbiIpe2ZvcihQPS0xLFU9VC5sZW5ndGgtMTtVPj0wO1UtLSlpZihUW1VdPT09eHx8VFtVXS5saXN0ZW5lcj09PXgpe0w9VFtVXS5saXN0ZW5lcixQPVU7YnJlYWt9aWYoUDwwKXJldHVybiB0aGlzO1A9PT0wP1Quc2hpZnQoKTpnKFQsUCksVC5sZW5ndGg9PT0xJiYoQltfXT1UWzBdKSxCLnJlbW92ZUxpc3RlbmVyIT09dm9pZCAwJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIixfLEx8fHgpfXJldHVybiB0aGlzfSxzLnByb3RvdHlwZS5vZmY9cy5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIscy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKF8pe3ZhciB4LFQsQjtpZihUPXRoaXMuX2V2ZW50cyxUPT09dm9pZCAwKXJldHVybiB0aGlzO2lmKFQucmVtb3ZlTGlzdGVuZXI9PT12b2lkIDApcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0wPyh0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKTpUW19dIT09dm9pZCAwJiYoLS10aGlzLl9ldmVudHNDb3VudD09PTA/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6ZGVsZXRlIFRbX10pLHRoaXM7aWYoYXJndW1lbnRzLmxlbmd0aD09PTApe3ZhciBQPU9iamVjdC5rZXlzKFQpLFU7Zm9yKEI9MDtCPFAubGVuZ3RoOysrQilVPVBbQl0sVSE9PSJyZW1vdmVMaXN0ZW5lciImJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKFUpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygicmVtb3ZlTGlzdGVuZXIiKSx0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wLHRoaXN9aWYoeD1UW19dLHR5cGVvZiB4PT0iZnVuY3Rpb24iKXRoaXMucmVtb3ZlTGlzdGVuZXIoXyx4KTtlbHNlIGlmKHghPT12b2lkIDApZm9yKEI9eC5sZW5ndGgtMTtCPj0wO0ItLSl0aGlzLnJlbW92ZUxpc3RlbmVyKF8seFtCXSk7cmV0dXJuIHRoaXN9O2Z1bmN0aW9uIGYobSxfLHgpe3ZhciBUPW0uX2V2ZW50cztpZihUPT09dm9pZCAwKXJldHVybltdO3ZhciBCPVRbX107cmV0dXJuIEI9PT12b2lkIDA/W106dHlwZW9mIEI9PSJmdW5jdGlvbiI/eD9bQi5saXN0ZW5lcnx8Ql06W0JdOng/eShCKTpkKEIsQi5sZW5ndGgpfXMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihfKXtyZXR1cm4gZih0aGlzLF8sITApfSxzLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnM9ZnVuY3Rpb24oXyl7cmV0dXJuIGYodGhpcyxfLCExKX0scy5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKG0sXyl7cmV0dXJuIHR5cGVvZiBtLmxpc3RlbmVyQ291bnQ9PSJmdW5jdGlvbiI/bS5saXN0ZW5lckNvdW50KF8pOnAuY2FsbChtLF8pfSxzLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PXA7ZnVuY3Rpb24gcChtKXt2YXIgXz10aGlzLl9ldmVudHM7aWYoXyE9PXZvaWQgMCl7dmFyIHg9X1ttXTtpZih0eXBlb2YgeD09ImZ1bmN0aW9uIilyZXR1cm4gMTtpZih4IT09dm9pZCAwKXJldHVybiB4Lmxlbmd0aH1yZXR1cm4gMH1zLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50PjA/cih0aGlzLl9ldmVudHMpOltdfTtmdW5jdGlvbiBkKG0sXyl7Zm9yKHZhciB4PW5ldyBBcnJheShfKSxUPTA7VDxfOysrVCl4W1RdPW1bVF07cmV0dXJuIHh9ZnVuY3Rpb24gZyhtLF8pe2Zvcig7XysxPG0ubGVuZ3RoO18rKyltW19dPW1bXysxXTttLnBvcCgpfWZ1bmN0aW9uIHkobSl7Zm9yKHZhciBfPW5ldyBBcnJheShtLmxlbmd0aCkseD0wO3g8Xy5sZW5ndGg7Kyt4KV9beF09bVt4XS5saXN0ZW5lcnx8bVt4XTtyZXR1cm4gX31mdW5jdGlvbiB2KG0sXyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHgsVCl7ZnVuY3Rpb24gQihVKXttLnJlbW92ZUxpc3RlbmVyKF8sUCksVChVKX1mdW5jdGlvbiBQKCl7dHlwZW9mIG0ucmVtb3ZlTGlzdGVuZXI9PSJmdW5jdGlvbiImJm0ucmVtb3ZlTGlzdGVuZXIoImVycm9yIixCKSx4KFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9dyhtLF8sUCx7b25jZTohMH0pLF8hPT0iZXJyb3IiJiZBKG0sQix7b25jZTohMH0pfSl9ZnVuY3Rpb24gQShtLF8seCl7dHlwZW9mIG0ub249PSJmdW5jdGlvbiImJncobSwiZXJyb3IiLF8seCl9ZnVuY3Rpb24gdyhtLF8seCxUKXtpZih0eXBlb2YgbS5vbj09ImZ1bmN0aW9uIilULm9uY2U/bS5vbmNlKF8seCk6bS5vbihfLHgpO2Vsc2UgaWYodHlwZW9mIG0uYWRkRXZlbnRMaXN0ZW5lcj09ImZ1bmN0aW9uIiltLmFkZEV2ZW50TGlzdGVuZXIoXyxmdW5jdGlvbiBCKFApe1Qub25jZSYmbS5yZW1vdmVFdmVudExpc3RlbmVyKF8sQikseChQKX0pO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJlbWl0dGVyIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRXZlbnRFbWl0dGVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIG0pfXJldHVybiBGbi5leHBvcnRzfXZhciBYZT1XZigpLG1hPUhmKFhlKSxYaT17fTsvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCUNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLgoKCVBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQoJcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLgoKCVRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRICglSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkKCUFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKCUlORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTQoJTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IKCU9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKCVBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCgkqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL3ZhciBKaT1mdW5jdGlvbih0LGUpe3JldHVybiBKaT1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24ocixuKXtyLl9fcHJvdG9fXz1ufXx8ZnVuY3Rpb24ocixuKXtmb3IodmFyIGkgaW4gbiluLmhhc093blByb3BlcnR5KGkpJiYocltpXT1uW2ldKX0sSmkodCxlKX07ZnVuY3Rpb24gR2YodCxlKXtKaSh0LGUpO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9ZT09PW51bGw/T2JqZWN0LmNyZWF0ZShlKTooci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IHIpfXZhciBRaT1mdW5jdGlvbigpe3JldHVybiBRaT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHIsbj0xLGk9YXJndW1lbnRzLmxlbmd0aDtuPGk7bisrKXtyPWFyZ3VtZW50c1tuXTtmb3IodmFyIHMgaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSYmKGVbc109cltzXSl9cmV0dXJuIGV9LFFpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gWWYodCxlKXt2YXIgcj17fTtmb3IodmFyIG4gaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmZS5pbmRleE9mKG4pPDAmJihyW25dPXRbbl0pO2lmKHQhPW51bGwmJnR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzPT0iZnVuY3Rpb24iKWZvcih2YXIgaT0wLG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtpPG4ubGVuZ3RoO2krKyllLmluZGV4T2YobltpXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHQsbltpXSkmJihyW25baV1dPXRbbltpXV0pO3JldHVybiByfWZ1bmN0aW9uIFpmKHQsZSxyLG4pe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgscz1pPDM/ZTpuPT09bnVsbD9uPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxyKTpuLG87aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZT09ImZ1bmN0aW9uIilzPVJlZmxlY3QuZGVjb3JhdGUodCxlLHIsbik7ZWxzZSBmb3IodmFyIGE9dC5sZW5ndGgtMTthPj0wO2EtLSkobz10W2FdKSYmKHM9KGk8Mz9vKHMpOmk+Mz9vKGUscixzKTpvKGUscikpfHxzKTtyZXR1cm4gaT4zJiZzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHMpLHN9ZnVuY3Rpb24gWGYodCxlKXtyZXR1cm4gZnVuY3Rpb24ocixuKXtlKHIsbix0KX19ZnVuY3Rpb24gSmYodCxlKXtpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhPT0iZnVuY3Rpb24iKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKHQsZSl9ZnVuY3Rpb24gUWYodCxlLHIsbil7ZnVuY3Rpb24gaShzKXtyZXR1cm4gcyBpbnN0YW5jZW9mIHI/czpuZXcgcihmdW5jdGlvbihvKXtvKHMpfSl9cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoZnVuY3Rpb24ocyxvKXtmdW5jdGlvbiBhKGwpe3RyeXt1KG4ubmV4dChsKSl9Y2F0Y2goaCl7byhoKX19ZnVuY3Rpb24gYyhsKXt0cnl7dShuLnRocm93KGwpKX1jYXRjaChoKXtvKGgpfX1mdW5jdGlvbiB1KGwpe2wuZG9uZT9zKGwudmFsdWUpOmkobC52YWx1ZSkudGhlbihhLGMpfXUoKG49bi5hcHBseSh0LGV8fFtdKSkubmV4dCgpKX0pfWZ1bmN0aW9uIGVkKHQsZSl7dmFyIHI9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHNbMF0mMSl0aHJvdyBzWzFdO3JldHVybiBzWzFdfSx0cnlzOltdLG9wczpbXX0sbixpLHMsbztyZXR1cm4gbz17bmV4dDphKDApLHRocm93OmEoMSkscmV0dXJuOmEoMil9LHR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gYSh1KXtyZXR1cm4gZnVuY3Rpb24obCl7cmV0dXJuIGMoW3UsbF0pfX1mdW5jdGlvbiBjKHUpe2lmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7cjspdHJ5e2lmKG49MSxpJiYocz11WzBdJjI/aS5yZXR1cm46dVswXT9pLnRocm93fHwoKHM9aS5yZXR1cm4pJiZzLmNhbGwoaSksMCk6aS5uZXh0KSYmIShzPXMuY2FsbChpLHVbMV0pKS5kb25lKXJldHVybiBzO3N3aXRjaChpPTAscyYmKHU9W3VbMF0mMixzLnZhbHVlXSksdVswXSl7Y2FzZSAwOmNhc2UgMTpzPXU7YnJlYWs7Y2FzZSA0OnJldHVybiByLmxhYmVsKysse3ZhbHVlOnVbMV0sZG9uZTohMX07Y2FzZSA1OnIubGFiZWwrKyxpPXVbMV0sdT1bMF07Y29udGludWU7Y2FzZSA3OnU9ci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYocz1yLnRyeXMsIShzPXMubGVuZ3RoPjAmJnNbcy5sZW5ndGgtMV0pJiYodVswXT09PTZ8fHVbMF09PT0yKSl7cj0wO2NvbnRpbnVlfWlmKHVbMF09PT0zJiYoIXN8fHVbMV0+c1swXSYmdVsxXTxzWzNdKSl7ci5sYWJlbD11WzFdO2JyZWFrfWlmKHVbMF09PT02JiZyLmxhYmVsPHNbMV0pe3IubGFiZWw9c1sxXSxzPXU7YnJlYWt9aWYocyYmci5sYWJlbDxzWzJdKXtyLmxhYmVsPXNbMl0sci5vcHMucHVzaCh1KTticmVha31zWzJdJiZyLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWV9dT1lLmNhbGwodCxyKX1jYXRjaChsKXt1PVs2LGxdLGk9MH1maW5hbGx5e249cz0wfWlmKHVbMF0mNSl0aHJvdyB1WzFdO3JldHVybnt2YWx1ZTp1WzBdP3VbMV06dm9pZCAwLGRvbmU6ITB9fX1mdW5jdGlvbiB0ZCh0LGUscixuKXtuPT09dm9pZCAwJiYobj1yKSx0W25dPWVbcl19ZnVuY3Rpb24gcmQodCxlKXtmb3IodmFyIHIgaW4gdClyIT09ImRlZmF1bHQiJiYhZS5oYXNPd25Qcm9wZXJ0eShyKSYmKGVbcl09dFtyXSl9ZnVuY3Rpb24gZXModCl7dmFyIGU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLml0ZXJhdG9yLHI9ZSYmdFtlXSxuPTA7aWYocilyZXR1cm4gci5jYWxsKHQpO2lmKHQmJnR5cGVvZiB0Lmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdCYmbj49dC5sZW5ndGgmJih0PXZvaWQgMCkse3ZhbHVlOnQmJnRbbisrXSxkb25lOiF0fX19O3Rocm93IG5ldyBUeXBlRXJyb3IoZT8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9ZnVuY3Rpb24gYmEodCxlKXt2YXIgcj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIXIpcmV0dXJuIHQ7dmFyIG49ci5jYWxsKHQpLGkscz1bXSxvO3RyeXtmb3IoOyhlPT09dm9pZCAwfHxlLS0gPjApJiYhKGk9bi5uZXh0KCkpLmRvbmU7KXMucHVzaChpLnZhbHVlKX1jYXRjaChhKXtvPXtlcnJvcjphfX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYocj1uLnJldHVybikmJnIuY2FsbChuKX1maW5hbGx5e2lmKG8pdGhyb3cgby5lcnJvcn19cmV0dXJuIHN9ZnVuY3Rpb24gbmQoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChiYShhcmd1bWVudHNbZV0pKTtyZXR1cm4gdH1mdW5jdGlvbiBpZCgpe2Zvcih2YXIgdD0wLGU9MCxyPWFyZ3VtZW50cy5sZW5ndGg7ZTxyO2UrKyl0Kz1hcmd1bWVudHNbZV0ubGVuZ3RoO2Zvcih2YXIgbj1BcnJheSh0KSxpPTAsZT0wO2U8cjtlKyspZm9yKHZhciBzPWFyZ3VtZW50c1tlXSxvPTAsYT1zLmxlbmd0aDtvPGE7bysrLGkrKyluW2ldPXNbb107cmV0dXJuIG59ZnVuY3Rpb24gWnIodCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBacj8odGhpcy52PXQsdGhpcyk6bmV3IFpyKHQpfWZ1bmN0aW9uIHNkKHQsZSxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIG49ci5hcHBseSh0LGV8fFtdKSxpLHM9W107cmV0dXJuIGk9e30sbygibmV4dCIpLG8oInRocm93IiksbygicmV0dXJuIiksaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30saTtmdW5jdGlvbiBvKGYpe25bZl0mJihpW2ZdPWZ1bmN0aW9uKHApe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGcpe3MucHVzaChbZixwLGQsZ10pPjF8fGEoZixwKX0pfSl9ZnVuY3Rpb24gYShmLHApe3RyeXtjKG5bZl0ocCkpfWNhdGNoKGQpe2goc1swXVszXSxkKX19ZnVuY3Rpb24gYyhmKXtmLnZhbHVlIGluc3RhbmNlb2YgWnI/UHJvbWlzZS5yZXNvbHZlKGYudmFsdWUudikudGhlbih1LGwpOmgoc1swXVsyXSxmKX1mdW5jdGlvbiB1KGYpe2EoIm5leHQiLGYpfWZ1bmN0aW9uIGwoZil7YSgidGhyb3ciLGYpfWZ1bmN0aW9uIGgoZixwKXtmKHApLHMuc2hpZnQoKSxzLmxlbmd0aCYmYShzWzBdWzBdLHNbMF1bMV0pfX1mdW5jdGlvbiBvZCh0KXt2YXIgZSxyO3JldHVybiBlPXt9LG4oIm5leHQiKSxuKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLG4oInJldHVybiIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIG4oaSxzKXtlW2ldPXRbaV0/ZnVuY3Rpb24obyl7cmV0dXJuKHI9IXIpP3t2YWx1ZTpacih0W2ldKG8pKSxkb25lOmk9PT0icmV0dXJuIn06cz9zKG8pOm99OnN9fWZ1bmN0aW9uIGFkKHQpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZT10W1N5bWJvbC5hc3luY0l0ZXJhdG9yXSxyO3JldHVybiBlP2UuY2FsbCh0KToodD10eXBlb2YgZXM9PSJmdW5jdGlvbiI/ZXModCk6dFtTeW1ib2wuaXRlcmF0b3JdKCkscj17fSxuKCJuZXh0IiksbigidGhyb3ciKSxuKCJyZXR1cm4iKSxyW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyKTtmdW5jdGlvbiBuKHMpe3Jbc109dFtzXSYmZnVuY3Rpb24obyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsYyl7bz10W3NdKG8pLGkoYSxjLG8uZG9uZSxvLnZhbHVlKX0pfX1mdW5jdGlvbiBpKHMsbyxhLGMpe1Byb21pc2UucmVzb2x2ZShjKS50aGVuKGZ1bmN0aW9uKHUpe3Moe3ZhbHVlOnUsZG9uZTphfSl9LG8pfX1mdW5jdGlvbiBjZCh0LGUpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInJhdyIse3ZhbHVlOmV9KTp0LnJhdz1lLHR9ZnVuY3Rpb24gdWQodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciByIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGVbcl09dFtyXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9ZnVuY3Rpb24gbGQodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGhkKHQsZSl7aWYoIWUuaGFzKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2UiKTtyZXR1cm4gZS5nZXQodCl9ZnVuY3Rpb24gZmQodCxlLHIpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7cmV0dXJuIGUuc2V0KHQscikscn12YXIgZGQ9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZ2V0IF9fYXNzaWduKCl7cmV0dXJuIFFpfSxfX2FzeW5jRGVsZWdhdG9yOm9kLF9fYXN5bmNHZW5lcmF0b3I6c2QsX19hc3luY1ZhbHVlczphZCxfX2F3YWl0OlpyLF9fYXdhaXRlcjpRZixfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0OmhkLF9fY2xhc3NQcml2YXRlRmllbGRTZXQ6ZmQsX19jcmVhdGVCaW5kaW5nOnRkLF9fZGVjb3JhdGU6WmYsX19leHBvcnRTdGFyOnJkLF9fZXh0ZW5kczpHZixfX2dlbmVyYXRvcjplZCxfX2ltcG9ydERlZmF1bHQ6bGQsX19pbXBvcnRTdGFyOnVkLF9fbWFrZVRlbXBsYXRlT2JqZWN0OmNkLF9fbWV0YWRhdGE6SmYsX19wYXJhbTpYZixfX3JlYWQ6YmEsX19yZXN0OllmLF9fc3ByZWFkOm5kLF9fc3ByZWFkQXJyYXlzOmlkLF9fdmFsdWVzOmVzfSkscW49eWEoZGQpLHRzPXt9LFhyPXt9LEVhO2Z1bmN0aW9uIHBkKCl7aWYoRWEpcmV0dXJuIFhyO0VhPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KFhyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxYci5kZWxheT12b2lkIDA7ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3IFByb21pc2Uocj0+e3NldFRpbWVvdXQoKCk9PntyKCEwKX0sZSl9KX1yZXR1cm4gWHIuZGVsYXk9dCxYcn12YXIgY3I9e30scnM9e30sdXI9e30sdmE7ZnVuY3Rpb24gZ2QoKXtyZXR1cm4gdmF8fCh2YT0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1ciwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdXIuT05FX1RIT1VTQU5EPXVyLk9ORV9IVU5EUkVEPXZvaWQgMCx1ci5PTkVfSFVORFJFRD0xMDAsdXIuT05FX1RIT1VTQU5EPTFlMyksdXJ9dmFyIG5zPXt9LF9hO2Z1bmN0aW9uIHlkKCl7cmV0dXJuIF9hfHwoX2E9MSxmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5PTkVfWUVBUj10LkZPVVJfV0VFS1M9dC5USFJFRV9XRUVLUz10LlRXT19XRUVLUz10Lk9ORV9XRUVLPXQuVEhJUlRZX0RBWVM9dC5TRVZFTl9EQVlTPXQuRklWRV9EQVlTPXQuVEhSRUVfREFZUz10Lk9ORV9EQVk9dC5UV0VOVFlfRk9VUl9IT1VSUz10LlRXRUxWRV9IT1VSUz10LlNJWF9IT1VSUz10LlRIUkVFX0hPVVJTPXQuT05FX0hPVVI9dC5TSVhUWV9NSU5VVEVTPXQuVEhJUlRZX01JTlVURVM9dC5URU5fTUlOVVRFUz10LkZJVkVfTUlOVVRFUz10Lk9ORV9NSU5VVEU9dC5TSVhUWV9TRUNPTkRTPXQuVEhJUlRZX1NFQ09ORFM9dC5URU5fU0VDT05EUz10LkZJVkVfU0VDT05EUz10Lk9ORV9TRUNPTkQ9dm9pZCAwLHQuT05FX1NFQ09ORD0xLHQuRklWRV9TRUNPTkRTPTUsdC5URU5fU0VDT05EUz0xMCx0LlRISVJUWV9TRUNPTkRTPTMwLHQuU0lYVFlfU0VDT05EUz02MCx0Lk9ORV9NSU5VVEU9dC5TSVhUWV9TRUNPTkRTLHQuRklWRV9NSU5VVEVTPXQuT05FX01JTlVURSo1LHQuVEVOX01JTlVURVM9dC5PTkVfTUlOVVRFKjEwLHQuVEhJUlRZX01JTlVURVM9dC5PTkVfTUlOVVRFKjMwLHQuU0lYVFlfTUlOVVRFUz10Lk9ORV9NSU5VVEUqNjAsdC5PTkVfSE9VUj10LlNJWFRZX01JTlVURVMsdC5USFJFRV9IT1VSUz10Lk9ORV9IT1VSKjMsdC5TSVhfSE9VUlM9dC5PTkVfSE9VUio2LHQuVFdFTFZFX0hPVVJTPXQuT05FX0hPVVIqMTIsdC5UV0VOVFlfRk9VUl9IT1VSUz10Lk9ORV9IT1VSKjI0LHQuT05FX0RBWT10LlRXRU5UWV9GT1VSX0hPVVJTLHQuVEhSRUVfREFZUz10Lk9ORV9EQVkqMyx0LkZJVkVfREFZUz10Lk9ORV9EQVkqNSx0LlNFVkVOX0RBWVM9dC5PTkVfREFZKjcsdC5USElSVFlfREFZUz10Lk9ORV9EQVkqMzAsdC5PTkVfV0VFSz10LlNFVkVOX0RBWVMsdC5UV09fV0VFS1M9dC5PTkVfV0VFSyoyLHQuVEhSRUVfV0VFS1M9dC5PTkVfV0VFSyozLHQuRk9VUl9XRUVLUz10Lk9ORV9XRUVLKjQsdC5PTkVfWUVBUj10Lk9ORV9EQVkqMzY1fShucykpLG5zfXZhciB4YTtmdW5jdGlvbiBTYSgpe3JldHVybiB4YXx8KHhhPTEsZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGU9cW47ZS5fX2V4cG9ydFN0YXIoZ2QoKSx0KSxlLl9fZXhwb3J0U3Rhcih5ZCgpLHQpfShycykpLHJzfXZhciBJYTtmdW5jdGlvbiB3ZCgpe2lmKElhKXJldHVybiBjcjtJYT0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjciwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksY3IuZnJvbU1pbGlzZWNvbmRzPWNyLnRvTWlsaXNlY29uZHM9dm9pZCAwO2NvbnN0IHQ9U2EoKTtmdW5jdGlvbiBlKG4pe3JldHVybiBuKnQuT05FX1RIT1VTQU5EfWNyLnRvTWlsaXNlY29uZHM9ZTtmdW5jdGlvbiByKG4pe3JldHVybiBNYXRoLmZsb29yKG4vdC5PTkVfVEhPVVNBTkQpfXJldHVybiBjci5mcm9tTWlsaXNlY29uZHM9cixjcn12YXIgRGE7ZnVuY3Rpb24gbWQoKXtyZXR1cm4gRGF8fChEYT0xLGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBlPXFuO2UuX19leHBvcnRTdGFyKHBkKCksdCksZS5fX2V4cG9ydFN0YXIod2QoKSx0KX0odHMpKSx0c312YXIgTnI9e30sQWE7ZnVuY3Rpb24gYmQoKXtpZihBYSlyZXR1cm4gTnI7QWE9MSxPYmplY3QuZGVmaW5lUHJvcGVydHkoTnIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE5yLldhdGNoPXZvaWQgMDtjbGFzcyB0e2NvbnN0cnVjdG9yKCl7dGhpcy50aW1lc3RhbXBzPW5ldyBNYXB9c3RhcnQocil7aWYodGhpcy50aW1lc3RhbXBzLmhhcyhyKSl0aHJvdyBuZXcgRXJyb3IoYFdhdGNoIGFscmVhZHkgc3RhcnRlZCBmb3IgbGFiZWw6ICR7cn1gKTt0aGlzLnRpbWVzdGFtcHMuc2V0KHIse3N0YXJ0ZWQ6RGF0ZS5ub3coKX0pfXN0b3Aocil7Y29uc3Qgbj10aGlzLmdldChyKTtpZih0eXBlb2Ygbi5lbGFwc2VkPCJ1Iil0aHJvdyBuZXcgRXJyb3IoYFdhdGNoIGFscmVhZHkgc3RvcHBlZCBmb3IgbGFiZWw6ICR7cn1gKTtjb25zdCBpPURhdGUubm93KCktbi5zdGFydGVkO3RoaXMudGltZXN0YW1wcy5zZXQocix7c3RhcnRlZDpuLnN0YXJ0ZWQsZWxhcHNlZDppfSl9Z2V0KHIpe2NvbnN0IG49dGhpcy50aW1lc3RhbXBzLmdldChyKTtpZih0eXBlb2Ygbj4idSIpdGhyb3cgbmV3IEVycm9yKGBObyB0aW1lc3RhbXAgZm91bmQgZm9yIGxhYmVsOiAke3J9YCk7cmV0dXJuIG59ZWxhcHNlZChyKXtjb25zdCBuPXRoaXMuZ2V0KHIpO3JldHVybiBuLmVsYXBzZWR8fERhdGUubm93KCktbi5zdGFydGVkfX1yZXR1cm4gTnIuV2F0Y2g9dCxOci5kZWZhdWx0PXQsTnJ9dmFyIGlzPXt9LEpyPXt9LE9hO2Z1bmN0aW9uIEVkKCl7aWYoT2EpcmV0dXJuIEpyO09hPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KEpyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxKci5JV2F0Y2g9dm9pZCAwO2NsYXNzIHR7fXJldHVybiBKci5JV2F0Y2g9dCxKcn12YXIgVGE7ZnVuY3Rpb24gdmQoKXtyZXR1cm4gVGF8fChUYT0xLGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxxbi5fX2V4cG9ydFN0YXIoRWQoKSx0KX0oaXMpKSxpc312YXIgQmE7ZnVuY3Rpb24gX2QoKXtyZXR1cm4gQmF8fChCYT0xLGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBlPXFuO2UuX19leHBvcnRTdGFyKG1kKCksdCksZS5fX2V4cG9ydFN0YXIoYmQoKSx0KSxlLl9fZXhwb3J0U3Rhcih2ZCgpLHQpLGUuX19leHBvcnRTdGFyKFNhKCksdCl9KFhpKSksWGl9dmFyIE09X2QoKTtjbGFzcyBscnt9bGV0IHhkPWNsYXNzIGV4dGVuZHMgbHJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKX19O2NvbnN0IFJhPU0uRklWRV9TRUNPTkRTLGhyPXtwdWxzZToiaGVhcnRiZWF0X3B1bHNlIn07Y2xhc3Mgc3MgZXh0ZW5kcyB4ZHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLmV2ZW50cz1uZXcgWGUuRXZlbnRFbWl0dGVyLHRoaXMuaW50ZXJ2YWw9UmEsdGhpcy5pbnRlcnZhbD1lPy5pbnRlcnZhbHx8UmF9c3RhdGljIGFzeW5jIGluaXQoZSl7Y29uc3Qgcj1uZXcgc3MoZSk7cmV0dXJuIGF3YWl0IHIuaW5pdCgpLHJ9YXN5bmMgaW5pdCgpe2F3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpfXN0b3AoKXtjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxSZWYpfW9uKGUscil7dGhpcy5ldmVudHMub24oZSxyKX1vbmNlKGUscil7dGhpcy5ldmVudHMub25jZShlLHIpfW9mZihlLHIpe3RoaXMuZXZlbnRzLm9mZihlLHIpfXJlbW92ZUxpc3RlbmVyKGUscil7dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoZSxyKX1hc3luYyBpbml0aWFsaXplKCl7dGhpcy5pbnRlcnZhbFJlZj1zZXRJbnRlcnZhbCgoKT0+dGhpcy5wdWxzZSgpLE0udG9NaWxpc2Vjb25kcyh0aGlzLmludGVydmFsKSl9cHVsc2UoKXt0aGlzLmV2ZW50cy5lbWl0KGhyLnB1bHNlKX19Y29uc3QgU2Q9LyIoPzpffFxcdTB7Mn01W0ZmXSl7Mn0oPzpwfFxcdTB7Mn03MCkoPzpyfFxcdTB7Mn03MikoPzpvfFxcdTB7Mn02W0ZmXSkoPzp0fFxcdTB7Mn03NCkoPzpvfFxcdTB7Mn02W0ZmXSkoPzpffFxcdTB7Mn01W0ZmXSl7Mn0iXHMqOi8sSWQ9LyIoPzpjfFxcdTAwNjMpKD86b3xcXHUwMDZbRmZdKSg/Om58XFx1MDA2W0VlXSkoPzpzfFxcdTAwNzMpKD86dHxcXHUwMDc0KSg/OnJ8XFx1MDA3MikoPzp1fFxcdTAwNzUpKD86Y3xcXHUwMDYzKSg/OnR8XFx1MDA3NCkoPzpvfFxcdTAwNltGZl0pKD86cnxcXHUwMDcyKSJccyo6LyxEZD0vXlxzKlsiW3tdfF5ccyotP1xkezEsMTZ9KFwuXGR7MSwxN30pPyhbRWVdWystXT9cZCspP1xzKiQvO2Z1bmN0aW9uIEFkKHQsZSl7aWYodD09PSJfX3Byb3RvX18ifHx0PT09ImNvbnN0cnVjdG9yIiYmZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYicHJvdG90eXBlImluIGUpe09kKHQpO3JldHVybn1yZXR1cm4gZX1mdW5jdGlvbiBPZCh0KXtjb25zb2xlLndhcm4oYFtkZXN0cl0gRHJvcHBpbmcgIiR7dH0iIGtleSB0byBwcmV2ZW50IHByb3RvdHlwZSBwb2xsdXRpb24uYCl9ZnVuY3Rpb24gem4odCxlPXt9KXtpZih0eXBlb2YgdCE9InN0cmluZyIpcmV0dXJuIHQ7aWYodFswXT09PSciJyYmdFt0Lmxlbmd0aC0xXT09PSciJyYmdC5pbmRleE9mKCJcXCIpPT09LTEpcmV0dXJuIHQuc2xpY2UoMSwtMSk7Y29uc3Qgcj10LnRyaW0oKTtpZihyLmxlbmd0aDw9OSlzd2l0Y2goci50b0xvd2VyQ2FzZSgpKXtjYXNlInRydWUiOnJldHVybiEwO2Nhc2UiZmFsc2UiOnJldHVybiExO2Nhc2UidW5kZWZpbmVkIjpyZXR1cm47Y2FzZSJudWxsIjpyZXR1cm4gbnVsbDtjYXNlIm5hbiI6cmV0dXJuIE51bWJlci5OYU47Y2FzZSJpbmZpbml0eSI6cmV0dXJuIE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtjYXNlIi1pbmZpbml0eSI6cmV0dXJuIE51bWJlci5ORUdBVElWRV9JTkZJTklUWX1pZighRGQudGVzdCh0KSl7aWYoZS5zdHJpY3QpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJbZGVzdHJdIEludmFsaWQgSlNPTiIpO3JldHVybiB0fXRyeXtpZihTZC50ZXN0KHQpfHxJZC50ZXN0KHQpKXtpZihlLnN0cmljdCl0aHJvdyBuZXcgRXJyb3IoIltkZXN0cl0gUG9zc2libGUgcHJvdG90eXBlIHBvbGx1dGlvbiIpO3JldHVybiBKU09OLnBhcnNlKHQsQWQpfXJldHVybiBKU09OLnBhcnNlKHQpfWNhdGNoKG4pe2lmKGUuc3RyaWN0KXRocm93IG47cmV0dXJuIHR9fWZ1bmN0aW9uIFRkKHQpe3JldHVybiF0fHx0eXBlb2YgdC50aGVuIT0iZnVuY3Rpb24iP1Byb21pc2UucmVzb2x2ZSh0KTp0fWZ1bmN0aW9uIGZlKHQsLi4uZSl7dHJ5e3JldHVybiBUZCh0KC4uLmUpKX1jYXRjaChyKXtyZXR1cm4gUHJvbWlzZS5yZWplY3Qocil9fWZ1bmN0aW9uIEJkKHQpe2NvbnN0IGU9dHlwZW9mIHQ7cmV0dXJuIHQ9PT1udWxsfHxlIT09Im9iamVjdCImJmUhPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIFJkKHQpe2NvbnN0IGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3JldHVybiFlfHxlLmlzUHJvdG90eXBlT2YoT2JqZWN0KX1mdW5jdGlvbiBqbih0KXtpZihCZCh0KSlyZXR1cm4gU3RyaW5nKHQpO2lmKFJkKHQpfHxBcnJheS5pc0FycmF5KHQpKXJldHVybiBKU09OLnN0cmluZ2lmeSh0KTtpZih0eXBlb2YgdC50b0pTT049PSJmdW5jdGlvbiIpcmV0dXJuIGpuKHQudG9KU09OKCkpO3Rocm93IG5ldyBFcnJvcigiW3Vuc3RvcmFnZV0gQ2Fubm90IHN0cmluZ2lmeSB2YWx1ZSEiKX1jb25zdCBvcz0iYmFzZTY0OiI7ZnVuY3Rpb24gTmQodCl7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIj90Om9zK0NkKHQpfWZ1bmN0aW9uIFBkKHQpe3JldHVybiB0eXBlb2YgdCE9InN0cmluZyJ8fCF0LnN0YXJ0c1dpdGgob3MpP3Q6JGQodC5zbGljZShvcy5sZW5ndGgpKX1mdW5jdGlvbiAkZCh0KXtyZXR1cm4gZ2xvYmFsVGhpcy5CdWZmZXI/QnVmZmVyLmZyb20odCwiYmFzZTY0Iik6VWludDhBcnJheS5mcm9tKGdsb2JhbFRoaXMuYXRvYih0KSxlPT5lLmNvZGVQb2ludEF0KDApKX1mdW5jdGlvbiBDZCh0KXtyZXR1cm4gZ2xvYmFsVGhpcy5CdWZmZXI/QnVmZmVyLmZyb20odCkudG9TdHJpbmcoImJhc2U2NCIpOmdsb2JhbFRoaXMuYnRvYShTdHJpbmcuZnJvbUNvZGVQb2ludCguLi50KSl9ZnVuY3Rpb24gUmUodCl7cmV0dXJuIHQmJnQuc3BsaXQoIj8iKVswXT8ucmVwbGFjZSgvWy9cXF0vZywiOiIpLnJlcGxhY2UoLzorL2csIjoiKS5yZXBsYWNlKC9eOnw6JC9nLCIiKXx8IiJ9ZnVuY3Rpb24gVWQoLi4udCl7cmV0dXJuIFJlKHQuam9pbigiOiIpKX1mdW5jdGlvbiBLbih0KXtyZXR1cm4gdD1SZSh0KSx0P3QrIjoiOiIifWZ1bmN0aW9uIExkKHQsZSl7aWYoZT09PXZvaWQgMClyZXR1cm4hMDtsZXQgcj0wLG49dC5pbmRleE9mKCI6Iik7Zm9yKDtuPi0xOylyKyssbj10LmluZGV4T2YoIjoiLG4rMSk7cmV0dXJuIHI8PWV9ZnVuY3Rpb24ga2QodCxlKXtyZXR1cm4gZT90LnN0YXJ0c1dpdGgoZSkmJnRbdC5sZW5ndGgtMV0hPT0iJCI6dFt0Lmxlbmd0aC0xXSE9PSIkIn1mdW5jdGlvbiBaUyh0KXtyZXR1cm4gdH1jb25zdCBNZD0ibWVtb3J5IixGZD0oKT0+e2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm57bmFtZTpNZCxnZXRJbnN0YW5jZTooKT0+dCxoYXNJdGVtKGUpe3JldHVybiB0LmhhcyhlKX0sZ2V0SXRlbShlKXtyZXR1cm4gdC5nZXQoZSk/P251bGx9LGdldEl0ZW1SYXcoZSl7cmV0dXJuIHQuZ2V0KGUpPz9udWxsfSxzZXRJdGVtKGUscil7dC5zZXQoZSxyKX0sc2V0SXRlbVJhdyhlLHIpe3Quc2V0KGUscil9LHJlbW92ZUl0ZW0oZSl7dC5kZWxldGUoZSl9LGdldEtleXMoKXtyZXR1cm5bLi4udC5rZXlzKCldfSxjbGVhcigpe3QuY2xlYXIoKX0sZGlzcG9zZSgpe3QuY2xlYXIoKX19fTtmdW5jdGlvbiBxZCh0PXt9KXtjb25zdCBlPXttb3VudHM6eyIiOnQuZHJpdmVyfHxGZCgpfSxtb3VudHBvaW50czpbIiJdLHdhdGNoaW5nOiExLHdhdGNoTGlzdGVuZXJzOltdLHVud2F0Y2g6e319LHI9dT0+e2Zvcihjb25zdCBsIG9mIGUubW91bnRwb2ludHMpaWYodS5zdGFydHNXaXRoKGwpKXJldHVybntiYXNlOmwscmVsYXRpdmVLZXk6dS5zbGljZShsLmxlbmd0aCksZHJpdmVyOmUubW91bnRzW2xdfTtyZXR1cm57YmFzZToiIixyZWxhdGl2ZUtleTp1LGRyaXZlcjplLm1vdW50c1siIl19fSxuPSh1LGwpPT5lLm1vdW50cG9pbnRzLmZpbHRlcihoPT5oLnN0YXJ0c1dpdGgodSl8fGwmJnUuc3RhcnRzV2l0aChoKSkubWFwKGg9Pih7cmVsYXRpdmVCYXNlOnUubGVuZ3RoPmgubGVuZ3RoP3Uuc2xpY2UoaC5sZW5ndGgpOnZvaWQgMCxtb3VudHBvaW50OmgsZHJpdmVyOmUubW91bnRzW2hdfSkpLGk9KHUsbCk9PntpZihlLndhdGNoaW5nKXtsPVJlKGwpO2Zvcihjb25zdCBoIG9mIGUud2F0Y2hMaXN0ZW5lcnMpaCh1LGwpfX0scz1hc3luYygpPT57aWYoIWUud2F0Y2hpbmcpe2Uud2F0Y2hpbmc9ITA7Zm9yKGNvbnN0IHUgaW4gZS5tb3VudHMpZS51bndhdGNoW3VdPWF3YWl0IE5hKGUubW91bnRzW3VdLGksdSl9fSxvPWFzeW5jKCk9PntpZihlLndhdGNoaW5nKXtmb3IoY29uc3QgdSBpbiBlLnVud2F0Y2gpYXdhaXQgZS51bndhdGNoW3VdKCk7ZS51bndhdGNoPXt9LGUud2F0Y2hpbmc9ITF9fSxhPSh1LGwsaCk9Pntjb25zdCBmPW5ldyBNYXAscD1kPT57bGV0IGc9Zi5nZXQoZC5iYXNlKTtyZXR1cm4gZ3x8KGc9e2RyaXZlcjpkLmRyaXZlcixiYXNlOmQuYmFzZSxpdGVtczpbXX0sZi5zZXQoZC5iYXNlLGcpKSxnfTtmb3IoY29uc3QgZCBvZiB1KXtjb25zdCBnPXR5cGVvZiBkPT0ic3RyaW5nIix5PVJlKGc/ZDpkLmtleSksdj1nP3ZvaWQgMDpkLnZhbHVlLEE9Z3x8IWQub3B0aW9ucz9sOnsuLi5sLC4uLmQub3B0aW9uc30sdz1yKHkpO3AodykuaXRlbXMucHVzaCh7a2V5OnksdmFsdWU6dixyZWxhdGl2ZUtleTp3LnJlbGF0aXZlS2V5LG9wdGlvbnM6QX0pfXJldHVybiBQcm9taXNlLmFsbChbLi4uZi52YWx1ZXMoKV0ubWFwKGQ9PmgoZCkpKS50aGVuKGQ9PmQuZmxhdCgpKX0sYz17aGFzSXRlbSh1LGw9e30pe3U9UmUodSk7Y29uc3R7cmVsYXRpdmVLZXk6aCxkcml2ZXI6Zn09cih1KTtyZXR1cm4gZmUoZi5oYXNJdGVtLGgsbCl9LGdldEl0ZW0odSxsPXt9KXt1PVJlKHUpO2NvbnN0e3JlbGF0aXZlS2V5OmgsZHJpdmVyOmZ9PXIodSk7cmV0dXJuIGZlKGYuZ2V0SXRlbSxoLGwpLnRoZW4ocD0+em4ocCkpfSxnZXRJdGVtcyh1LGw9e30pe3JldHVybiBhKHUsbCxoPT5oLmRyaXZlci5nZXRJdGVtcz9mZShoLmRyaXZlci5nZXRJdGVtcyxoLml0ZW1zLm1hcChmPT4oe2tleTpmLnJlbGF0aXZlS2V5LG9wdGlvbnM6Zi5vcHRpb25zfSkpLGwpLnRoZW4oZj0+Zi5tYXAocD0+KHtrZXk6VWQoaC5iYXNlLHAua2V5KSx2YWx1ZTp6bihwLnZhbHVlKX0pKSk6UHJvbWlzZS5hbGwoaC5pdGVtcy5tYXAoZj0+ZmUoaC5kcml2ZXIuZ2V0SXRlbSxmLnJlbGF0aXZlS2V5LGYub3B0aW9ucykudGhlbihwPT4oe2tleTpmLmtleSx2YWx1ZTp6bihwKX0pKSkpKX0sZ2V0SXRlbVJhdyh1LGw9e30pe3U9UmUodSk7Y29uc3R7cmVsYXRpdmVLZXk6aCxkcml2ZXI6Zn09cih1KTtyZXR1cm4gZi5nZXRJdGVtUmF3P2ZlKGYuZ2V0SXRlbVJhdyxoLGwpOmZlKGYuZ2V0SXRlbSxoLGwpLnRoZW4ocD0+UGQocCkpfSxhc3luYyBzZXRJdGVtKHUsbCxoPXt9KXtpZihsPT09dm9pZCAwKXJldHVybiBjLnJlbW92ZUl0ZW0odSk7dT1SZSh1KTtjb25zdHtyZWxhdGl2ZUtleTpmLGRyaXZlcjpwfT1yKHUpO3Auc2V0SXRlbSYmKGF3YWl0IGZlKHAuc2V0SXRlbSxmLGpuKGwpLGgpLHAud2F0Y2h8fGkoInVwZGF0ZSIsdSkpfSxhc3luYyBzZXRJdGVtcyh1LGwpe2F3YWl0IGEodSxsLGFzeW5jIGg9PntpZihoLmRyaXZlci5zZXRJdGVtcylyZXR1cm4gZmUoaC5kcml2ZXIuc2V0SXRlbXMsaC5pdGVtcy5tYXAoZj0+KHtrZXk6Zi5yZWxhdGl2ZUtleSx2YWx1ZTpqbihmLnZhbHVlKSxvcHRpb25zOmYub3B0aW9uc30pKSxsKTtoLmRyaXZlci5zZXRJdGVtJiZhd2FpdCBQcm9taXNlLmFsbChoLml0ZW1zLm1hcChmPT5mZShoLmRyaXZlci5zZXRJdGVtLGYucmVsYXRpdmVLZXksam4oZi52YWx1ZSksZi5vcHRpb25zKSkpfSl9LGFzeW5jIHNldEl0ZW1SYXcodSxsLGg9e30pe2lmKGw9PT12b2lkIDApcmV0dXJuIGMucmVtb3ZlSXRlbSh1LGgpO3U9UmUodSk7Y29uc3R7cmVsYXRpdmVLZXk6Zixkcml2ZXI6cH09cih1KTtpZihwLnNldEl0ZW1SYXcpYXdhaXQgZmUocC5zZXRJdGVtUmF3LGYsbCxoKTtlbHNlIGlmKHAuc2V0SXRlbSlhd2FpdCBmZShwLnNldEl0ZW0sZixOZChsKSxoKTtlbHNlIHJldHVybjtwLndhdGNofHxpKCJ1cGRhdGUiLHUpfSxhc3luYyByZW1vdmVJdGVtKHUsbD17fSl7dHlwZW9mIGw9PSJib29sZWFuIiYmKGw9e3JlbW92ZU1ldGE6bH0pLHU9UmUodSk7Y29uc3R7cmVsYXRpdmVLZXk6aCxkcml2ZXI6Zn09cih1KTtmLnJlbW92ZUl0ZW0mJihhd2FpdCBmZShmLnJlbW92ZUl0ZW0saCxsKSwobC5yZW1vdmVNZXRhfHxsLnJlbW92ZU1hdGEpJiZhd2FpdCBmZShmLnJlbW92ZUl0ZW0saCsiJCIsbCksZi53YXRjaHx8aSgicmVtb3ZlIix1KSl9LGFzeW5jIGdldE1ldGEodSxsPXt9KXt0eXBlb2YgbD09ImJvb2xlYW4iJiYobD17bmF0aXZlT25seTpsfSksdT1SZSh1KTtjb25zdHtyZWxhdGl2ZUtleTpoLGRyaXZlcjpmfT1yKHUpLHA9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihmLmdldE1ldGEmJk9iamVjdC5hc3NpZ24ocCxhd2FpdCBmZShmLmdldE1ldGEsaCxsKSksIWwubmF0aXZlT25seSl7Y29uc3QgZD1hd2FpdCBmZShmLmdldEl0ZW0saCsiJCIsbCkudGhlbihnPT56bihnKSk7ZCYmdHlwZW9mIGQ9PSJvYmplY3QiJiYodHlwZW9mIGQuYXRpbWU9PSJzdHJpbmciJiYoZC5hdGltZT1uZXcgRGF0ZShkLmF0aW1lKSksdHlwZW9mIGQubXRpbWU9PSJzdHJpbmciJiYoZC5tdGltZT1uZXcgRGF0ZShkLm10aW1lKSksT2JqZWN0LmFzc2lnbihwLGQpKX1yZXR1cm4gcH0sc2V0TWV0YSh1LGwsaD17fSl7cmV0dXJuIHRoaXMuc2V0SXRlbSh1KyIkIixsLGgpfSxyZW1vdmVNZXRhKHUsbD17fSl7cmV0dXJuIHRoaXMucmVtb3ZlSXRlbSh1KyIkIixsKX0sYXN5bmMgZ2V0S2V5cyh1LGw9e30pe3U9S24odSk7Y29uc3QgaD1uKHUsITApO2xldCBmPVtdO2NvbnN0IHA9W107bGV0IGQ9ITA7Zm9yKGNvbnN0IHkgb2YgaCl7eS5kcml2ZXIuZmxhZ3M/Lm1heERlcHRofHwoZD0hMSk7Y29uc3Qgdj1hd2FpdCBmZSh5LmRyaXZlci5nZXRLZXlzLHkucmVsYXRpdmVCYXNlLGwpO2Zvcihjb25zdCBBIG9mIHYpe2NvbnN0IHc9eS5tb3VudHBvaW50K1JlKEEpO2Yuc29tZShtPT53LnN0YXJ0c1dpdGgobSkpfHxwLnB1c2godyl9Zj1beS5tb3VudHBvaW50LC4uLmYuZmlsdGVyKEE9PiFBLnN0YXJ0c1dpdGgoeS5tb3VudHBvaW50KSldfWNvbnN0IGc9bC5tYXhEZXB0aCE9PXZvaWQgMCYmIWQ7cmV0dXJuIHAuZmlsdGVyKHk9PighZ3x8TGQoeSxsLm1heERlcHRoKSkmJmtkKHksdSkpfSxhc3luYyBjbGVhcih1LGw9e30pe3U9S24odSksYXdhaXQgUHJvbWlzZS5hbGwobih1LCExKS5tYXAoYXN5bmMgaD0+e2lmKGguZHJpdmVyLmNsZWFyKXJldHVybiBmZShoLmRyaXZlci5jbGVhcixoLnJlbGF0aXZlQmFzZSxsKTtpZihoLmRyaXZlci5yZW1vdmVJdGVtKXtjb25zdCBmPWF3YWl0IGguZHJpdmVyLmdldEtleXMoaC5yZWxhdGl2ZUJhc2V8fCIiLGwpO3JldHVybiBQcm9taXNlLmFsbChmLm1hcChwPT5oLmRyaXZlci5yZW1vdmVJdGVtKHAsbCkpKX19KSl9LGFzeW5jIGRpc3Bvc2UoKXthd2FpdCBQcm9taXNlLmFsbChPYmplY3QudmFsdWVzKGUubW91bnRzKS5tYXAodT0+UGEodSkpKX0sYXN5bmMgd2F0Y2godSl7cmV0dXJuIGF3YWl0IHMoKSxlLndhdGNoTGlzdGVuZXJzLnB1c2godSksYXN5bmMoKT0+e2Uud2F0Y2hMaXN0ZW5lcnM9ZS53YXRjaExpc3RlbmVycy5maWx0ZXIobD0+bCE9PXUpLGUud2F0Y2hMaXN0ZW5lcnMubGVuZ3RoPT09MCYmYXdhaXQgbygpfX0sYXN5bmMgdW53YXRjaCgpe2Uud2F0Y2hMaXN0ZW5lcnM9W10sYXdhaXQgbygpfSxtb3VudCh1LGwpe2lmKHU9S24odSksdSYmZS5tb3VudHNbdV0pdGhyb3cgbmV3IEVycm9yKGBhbHJlYWR5IG1vdW50ZWQgYXQgJHt1fWApO3JldHVybiB1JiYoZS5tb3VudHBvaW50cy5wdXNoKHUpLGUubW91bnRwb2ludHMuc29ydCgoaCxmKT0+Zi5sZW5ndGgtaC5sZW5ndGgpKSxlLm1vdW50c1t1XT1sLGUud2F0Y2hpbmcmJlByb21pc2UucmVzb2x2ZShOYShsLGksdSkpLnRoZW4oaD0+e2UudW53YXRjaFt1XT1ofSkuY2F0Y2goY29uc29sZS5lcnJvciksY30sYXN5bmMgdW5tb3VudCh1LGw9ITApe3U9S24odSksISghdXx8IWUubW91bnRzW3VdKSYmKGUud2F0Y2hpbmcmJnUgaW4gZS51bndhdGNoJiYoZS51bndhdGNoW3VdPy4oKSxkZWxldGUgZS51bndhdGNoW3VdKSxsJiZhd2FpdCBQYShlLm1vdW50c1t1XSksZS5tb3VudHBvaW50cz1lLm1vdW50cG9pbnRzLmZpbHRlcihoPT5oIT09dSksZGVsZXRlIGUubW91bnRzW3VdKX0sZ2V0TW91bnQodT0iIil7dT1SZSh1KSsiOiI7Y29uc3QgbD1yKHUpO3JldHVybntkcml2ZXI6bC5kcml2ZXIsYmFzZTpsLmJhc2V9fSxnZXRNb3VudHModT0iIixsPXt9KXtyZXR1cm4gdT1SZSh1KSxuKHUsbC5wYXJlbnRzKS5tYXAoZj0+KHtkcml2ZXI6Zi5kcml2ZXIsYmFzZTpmLm1vdW50cG9pbnR9KSl9LGtleXM6KHUsbD17fSk9PmMuZ2V0S2V5cyh1LGwpLGdldDoodSxsPXt9KT0+Yy5nZXRJdGVtKHUsbCksc2V0Oih1LGwsaD17fSk9PmMuc2V0SXRlbSh1LGwsaCksaGFzOih1LGw9e30pPT5jLmhhc0l0ZW0odSxsKSxkZWw6KHUsbD17fSk9PmMucmVtb3ZlSXRlbSh1LGwpLHJlbW92ZToodSxsPXt9KT0+Yy5yZW1vdmVJdGVtKHUsbCl9O3JldHVybiBjfWZ1bmN0aW9uIE5hKHQsZSxyKXtyZXR1cm4gdC53YXRjaD90LndhdGNoKChuLGkpPT5lKG4scitpKSk6KCk9Pnt9fWFzeW5jIGZ1bmN0aW9uIFBhKHQpe3R5cGVvZiB0LmRpc3Bvc2U9PSJmdW5jdGlvbiImJmF3YWl0IGZlKHQuZGlzcG9zZSl9ZnVuY3Rpb24gZnIodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlLHIpPT57dC5vbmNvbXBsZXRlPXQub25zdWNjZXNzPSgpPT5lKHQucmVzdWx0KSx0Lm9uYWJvcnQ9dC5vbmVycm9yPSgpPT5yKHQuZXJyb3IpfSl9ZnVuY3Rpb24gJGEodCxlKXtsZXQgcjtjb25zdCBuPSgpPT57aWYocilyZXR1cm4gcjtjb25zdCBpPWluZGV4ZWREQi5vcGVuKHQpO3JldHVybiBpLm9udXBncmFkZW5lZWRlZD0oKT0+aS5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoZSkscj1mcihpKSxyLnRoZW4ocz0+e3Mub25jbG9zZT0oKT0+cj12b2lkIDB9LCgpPT57fSkscn07cmV0dXJuKGkscyk9Pm4oKS50aGVuKG89PnMoby50cmFuc2FjdGlvbihlLGkpLm9iamVjdFN0b3JlKGUpKSl9bGV0IGFzO2Z1bmN0aW9uIFFyKCl7cmV0dXJuIGFzfHwoYXM9JGEoImtleXZhbC1zdG9yZSIsImtleXZhbCIpKSxhc31mdW5jdGlvbiBDYSh0LGU9UXIoKSl7cmV0dXJuIGUoInJlYWRvbmx5IixyPT5mcihyLmdldCh0KSkpfWZ1bmN0aW9uIHpkKHQsZSxyPVFyKCkpe3JldHVybiByKCJyZWFkd3JpdGUiLG49PihuLnB1dChlLHQpLGZyKG4udHJhbnNhY3Rpb24pKSl9ZnVuY3Rpb24gamQodCxlPVFyKCkpe3JldHVybiBlKCJyZWFkd3JpdGUiLHI9PihyLmRlbGV0ZSh0KSxmcihyLnRyYW5zYWN0aW9uKSkpfWZ1bmN0aW9uIEtkKHQ9UXIoKSl7cmV0dXJuIHQoInJlYWR3cml0ZSIsZT0+KGUuY2xlYXIoKSxmcihlLnRyYW5zYWN0aW9uKSkpfWZ1bmN0aW9uIFZkKHQsZSl7cmV0dXJuIHQub3BlbkN1cnNvcigpLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3RoaXMucmVzdWx0JiYoZSh0aGlzLnJlc3VsdCksdGhpcy5yZXN1bHQuY29udGludWUoKSl9LGZyKHQudHJhbnNhY3Rpb24pfWZ1bmN0aW9uIEhkKHQ9UXIoKSl7cmV0dXJuIHQoInJlYWRvbmx5IixlPT57aWYoZS5nZXRBbGxLZXlzKXJldHVybiBmcihlLmdldEFsbEtleXMoKSk7Y29uc3Qgcj1bXTtyZXR1cm4gVmQoZSxuPT5yLnB1c2gobi5rZXkpKS50aGVuKCgpPT5yKX0pfWNvbnN0IFdkPXQ9PkpTT04uc3RyaW5naWZ5KHQsKGUscik9PnR5cGVvZiByPT0iYmlnaW50Ij9yLnRvU3RyaW5nKCkrIm4iOnIpLEdkPXQ9Pntjb25zdCBlPS8oW1xbOl0pPyhcZHsxNyx9fCg/Ols5XSg/OlsxLTldMDcxOTkyNTQ3NDA5OTF8MFsxLTldNzE5OTI1NDc0MDk5MXwwMFs4LTldMTk5MjU0NzQwOTkxfDAwN1syLTldOTkyNTQ3NDA5OTF8MDA3MTk5WzMtOV01NDc0MDk5MXwwMDcxOTkyWzYtOV00NzQwOTkxfDAwNzE5OTI1WzUtOV03NDA5OTF8MDA3MTk5MjU0WzgtOV00MDk5MXwwMDcxOTkyNTQ3WzUtOV0wOTkxfDAwNzE5OTI1NDc0WzEtOV05OTF8MDA3MTk5MjU0NzQwOTlbMi05XSkpKShbLFx9XF1dKS9nLHI9dC5yZXBsYWNlKGUsJyQxIiQybiIkMycpO3JldHVybiBKU09OLnBhcnNlKHIsKG4saSk9PnR5cGVvZiBpPT0ic3RyaW5nIiYmaS5tYXRjaCgvXlxkK24kLyk/QmlnSW50KGkuc3Vic3RyaW5nKDAsaS5sZW5ndGgtMSkpOmkpfTtmdW5jdGlvbiBQcih0KXtpZih0eXBlb2YgdCE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2FmZSBqc29uIHBhcnNlIHZhbHVlIG9mIHR5cGUgJHt0eXBlb2YgdH1gKTt0cnl7cmV0dXJuIEdkKHQpfWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiBlbih0KXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciP3Q6V2QodCl8fCIifWNvbnN0IFlkPSJpZGIta2V5dmFsIjt2YXIgWmQ9KHQ9e30pPT57Y29uc3QgZT10LmJhc2UmJnQuYmFzZS5sZW5ndGg+MD9gJHt0LmJhc2V9OmA6IiIscj1pPT5lK2k7bGV0IG47cmV0dXJuIHQuZGJOYW1lJiZ0LnN0b3JlTmFtZSYmKG49JGEodC5kYk5hbWUsdC5zdG9yZU5hbWUpKSx7bmFtZTpZZCxvcHRpb25zOnQsYXN5bmMgaGFzSXRlbShpKXtyZXR1cm4hKHR5cGVvZiBhd2FpdCBDYShyKGkpLG4pPiJ1Iil9LGFzeW5jIGdldEl0ZW0oaSl7cmV0dXJuIGF3YWl0IENhKHIoaSksbik/P251bGx9LHNldEl0ZW0oaSxzKXtyZXR1cm4gemQocihpKSxzLG4pfSxyZW1vdmVJdGVtKGkpe3JldHVybiBqZChyKGkpLG4pfSxnZXRLZXlzKCl7cmV0dXJuIEhkKG4pfSxjbGVhcigpe3JldHVybiBLZChuKX19fTtjb25zdCBYZD0iV0FMTEVUX0NPTk5FQ1RfVjJfSU5ERVhFRF9EQiIsSmQ9ImtleXZhbHVlc3RvcmFnZSI7bGV0IFFkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pbmRleGVkRGI9cWQoe2RyaXZlcjpaZCh7ZGJOYW1lOlhkLHN0b3JlTmFtZTpKZH0pfSl9YXN5bmMgZ2V0S2V5cygpe3JldHVybiB0aGlzLmluZGV4ZWREYi5nZXRLZXlzKCl9YXN5bmMgZ2V0RW50cmllcygpe3JldHVybihhd2FpdCB0aGlzLmluZGV4ZWREYi5nZXRJdGVtcyhhd2FpdCB0aGlzLmluZGV4ZWREYi5nZXRLZXlzKCkpKS5tYXAoZT0+W2Uua2V5LGUudmFsdWVdKX1hc3luYyBnZXRJdGVtKGUpe2NvbnN0IHI9YXdhaXQgdGhpcy5pbmRleGVkRGIuZ2V0SXRlbShlKTtpZihyIT09bnVsbClyZXR1cm4gcn1hc3luYyBzZXRJdGVtKGUscil7YXdhaXQgdGhpcy5pbmRleGVkRGIuc2V0SXRlbShlLGVuKHIpKX1hc3luYyByZW1vdmVJdGVtKGUpe2F3YWl0IHRoaXMuaW5kZXhlZERiLnJlbW92ZUl0ZW0oZSl9fTt2YXIgY3M9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93OnR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp0eXBlb2Ygc2VsZjwidSI/c2VsZjp7fSxWbj17ZXhwb3J0czp7fX07KGZ1bmN0aW9uKCl7bGV0IHQ7ZnVuY3Rpb24gZSgpe310PWUsdC5wcm90b3R5cGUuZ2V0SXRlbT1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5oYXNPd25Qcm9wZXJ0eShyKT9TdHJpbmcodGhpc1tyXSk6bnVsbH0sdC5wcm90b3R5cGUuc2V0SXRlbT1mdW5jdGlvbihyLG4pe3RoaXNbcl09U3RyaW5nKG4pfSx0LnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKHIpe2RlbGV0ZSB0aGlzW3JdfSx0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2NvbnN0IHI9dGhpcztPYmplY3Qua2V5cyhyKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3Jbbl09dm9pZCAwLGRlbGV0ZSByW25dfSl9LHQucHJvdG90eXBlLmtleT1mdW5jdGlvbihyKXtyZXR1cm4gcj1yfHwwLE9iamVjdC5rZXlzKHRoaXMpW3JdfSx0LnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fKCJsZW5ndGgiLGZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMpLmxlbmd0aH0pLHR5cGVvZiBjczwidSImJmNzLmxvY2FsU3RvcmFnZT9Wbi5leHBvcnRzPWNzLmxvY2FsU3RvcmFnZTp0eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93LmxvY2FsU3RvcmFnZT9Wbi5leHBvcnRzPXdpbmRvdy5sb2NhbFN0b3JhZ2U6Vm4uZXhwb3J0cz1uZXcgZX0pKCk7ZnVuY3Rpb24gZXAodCl7dmFyIGU7cmV0dXJuW3RbMF0sUHIoKGU9dFsxXSkhPW51bGw/ZToiIildfWxldCB0cD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubG9jYWxTdG9yYWdlPVZuLmV4cG9ydHN9YXN5bmMgZ2V0S2V5cygpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmxvY2FsU3RvcmFnZSl9YXN5bmMgZ2V0RW50cmllcygpe3JldHVybiBPYmplY3QuZW50cmllcyh0aGlzLmxvY2FsU3RvcmFnZSkubWFwKGVwKX1hc3luYyBnZXRJdGVtKGUpe2NvbnN0IHI9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTtpZihyIT09bnVsbClyZXR1cm4gUHIocil9YXN5bmMgc2V0SXRlbShlLHIpe3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSxlbihyKSl9YXN5bmMgcmVtb3ZlSXRlbShlKXt0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpfX07Y29uc3QgcnA9IndjX3N0b3JhZ2VfdmVyc2lvbiIsVWE9MSxucD1hc3luYyh0LGUscik9Pntjb25zdCBuPXJwLGk9YXdhaXQgZS5nZXRJdGVtKG4pO2lmKGkmJmk+PVVhKXtyKGUpO3JldHVybn1jb25zdCBzPWF3YWl0IHQuZ2V0S2V5cygpO2lmKCFzLmxlbmd0aCl7cihlKTtyZXR1cm59Y29uc3Qgbz1bXTtmb3IoO3MubGVuZ3RoOyl7Y29uc3QgYT1zLnNoaWZ0KCk7aWYoIWEpY29udGludWU7Y29uc3QgYz1hLnRvTG93ZXJDYXNlKCk7aWYoYy5pbmNsdWRlcygid2NAIil8fGMuaW5jbHVkZXMoIndhbGxldGNvbm5lY3QiKXx8Yy5pbmNsdWRlcygid2NfIil8fGMuaW5jbHVkZXMoIndhbGxldF9jb25uZWN0Iikpe2NvbnN0IHU9YXdhaXQgdC5nZXRJdGVtKGEpO2F3YWl0IGUuc2V0SXRlbShhLHUpLG8ucHVzaChhKX19YXdhaXQgZS5zZXRJdGVtKG4sVWEpLHIoZSksaXAodCxvKX0saXA9YXN5bmModCxlKT0+e2UubGVuZ3RoJiZlLmZvckVhY2goYXN5bmMgcj0+e2F3YWl0IHQucmVtb3ZlSXRlbShyKX0pfTtsZXQgc3A9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuc2V0SW5pdGlhbGl6ZWQ9cj0+e3RoaXMuc3RvcmFnZT1yLHRoaXMuaW5pdGlhbGl6ZWQ9ITB9O2NvbnN0IGU9bmV3IHRwO3RoaXMuc3RvcmFnZT1lO3RyeXtjb25zdCByPW5ldyBRZDtucChlLHIsdGhpcy5zZXRJbml0aWFsaXplZCl9Y2F0Y2h7dGhpcy5pbml0aWFsaXplZD0hMH19YXN5bmMgZ2V0S2V5cygpe3JldHVybiBhd2FpdCB0aGlzLmluaXRpYWxpemUoKSx0aGlzLnN0b3JhZ2UuZ2V0S2V5cygpfWFzeW5jIGdldEVudHJpZXMoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplKCksdGhpcy5zdG9yYWdlLmdldEVudHJpZXMoKX1hc3luYyBnZXRJdGVtKGUpe3JldHVybiBhd2FpdCB0aGlzLmluaXRpYWxpemUoKSx0aGlzLnN0b3JhZ2UuZ2V0SXRlbShlKX1hc3luYyBzZXRJdGVtKGUscil7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpLHRoaXMuc3RvcmFnZS5zZXRJdGVtKGUscil9YXN5bmMgcmVtb3ZlSXRlbShlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplKCksdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0oZSl9YXN5bmMgaW5pdGlhbGl6ZSgpe3RoaXMuaW5pdGlhbGl6ZWR8fGF3YWl0IG5ldyBQcm9taXNlKGU9Pntjb25zdCByPXNldEludGVydmFsKCgpPT57dGhpcy5pbml0aWFsaXplZCYmKGNsZWFySW50ZXJ2YWwociksZSgpKX0sMjApfSl9fTt2YXIgbHQ9e2V4cG9ydHM6e319O2Z1bmN0aW9uIG9wKHQpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCl9Y2F0Y2h7cmV0dXJuJyJbQ2lyY3VsYXJdIid9fXZhciBhcD1jcDtmdW5jdGlvbiBjcCh0LGUscil7dmFyIG49ciYmci5zdHJpbmdpZnl8fG9wLGk9MTtpZih0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsKXt2YXIgcz1lLmxlbmd0aCtpO2lmKHM9PT0xKXJldHVybiB0O3ZhciBvPW5ldyBBcnJheShzKTtvWzBdPW4odCk7Zm9yKHZhciBhPTE7YTxzO2ErKylvW2FdPW4oZVthXSk7cmV0dXJuIG8uam9pbigiICIpfWlmKHR5cGVvZiB0IT0ic3RyaW5nIilyZXR1cm4gdDt2YXIgYz1lLmxlbmd0aDtpZihjPT09MClyZXR1cm4gdDtmb3IodmFyIHU9IiIsbD0xLWksaD0tMSxmPXQmJnQubGVuZ3RofHwwLHA9MDtwPGY7KXtpZih0LmNoYXJDb2RlQXQocCk9PT0zNyYmcCsxPGYpe3N3aXRjaChoPWg+LTE/aDowLHQuY2hhckNvZGVBdChwKzEpKXtjYXNlIDEwMDpjYXNlIDEwMjppZihsPj1jfHxlW2xdPT1udWxsKWJyZWFrO2g8cCYmKHUrPXQuc2xpY2UoaCxwKSksdSs9TnVtYmVyKGVbbF0pLGg9cCsyLHArKzticmVhaztjYXNlIDEwNTppZihsPj1jfHxlW2xdPT1udWxsKWJyZWFrO2g8cCYmKHUrPXQuc2xpY2UoaCxwKSksdSs9TWF0aC5mbG9vcihOdW1iZXIoZVtsXSkpLGg9cCsyLHArKzticmVhaztjYXNlIDc5OmNhc2UgMTExOmNhc2UgMTA2OmlmKGw+PWN8fGVbbF09PT12b2lkIDApYnJlYWs7aDxwJiYodSs9dC5zbGljZShoLHApKTt2YXIgZD10eXBlb2YgZVtsXTtpZihkPT09InN0cmluZyIpe3UrPSInIitlW2xdKyInIixoPXArMixwKys7YnJlYWt9aWYoZD09PSJmdW5jdGlvbiIpe3UrPWVbbF0ubmFtZXx8Ijxhbm9ueW1vdXM+IixoPXArMixwKys7YnJlYWt9dSs9bihlW2xdKSxoPXArMixwKys7YnJlYWs7Y2FzZSAxMTU6aWYobD49YylicmVhaztoPHAmJih1Kz10LnNsaWNlKGgscCkpLHUrPVN0cmluZyhlW2xdKSxoPXArMixwKys7YnJlYWs7Y2FzZSAzNzpoPHAmJih1Kz10LnNsaWNlKGgscCkpLHUrPSIlIixoPXArMixwKyssbC0tO2JyZWFrfSsrbH0rK3B9cmV0dXJuIGg9PT0tMT90OihoPGYmJih1Kz10LnNsaWNlKGgpKSx1KX1jb25zdCBMYT1hcDtsdC5leHBvcnRzPWJ0O2NvbnN0IHRuPXhwKCkuY29uc29sZXx8e30sdXA9e21hcEh0dHBSZXF1ZXN0OkhuLG1hcEh0dHBSZXNwb25zZTpIbix3cmFwUmVxdWVzdFNlcmlhbGl6ZXI6ZHMsd3JhcFJlc3BvbnNlU2VyaWFsaXplcjpkcyx3cmFwRXJyb3JTZXJpYWxpemVyOmRzLHJlcTpIbixyZXM6SG4sZXJyOk1hLGVycldpdGhDYXVzZTpNYX07ZnVuY3Rpb24gTXQodCxlKXtyZXR1cm4gdD09PSJzaWxlbnQiPzEvMDplLmxldmVscy52YWx1ZXNbdF19Y29uc3QgdXM9U3ltYm9sKCJwaW5vLmxvZ0Z1bmNzIiksbHM9U3ltYm9sKCJwaW5vLmhpZXJhcmNoeSIpLGxwPXtlcnJvcjoibG9nIixmYXRhbDoiZXJyb3IiLHdhcm46ImVycm9yIixpbmZvOiJsb2ciLGRlYnVnOiJsb2ciLHRyYWNlOiJsb2cifTtmdW5jdGlvbiBrYSh0LGUpe2NvbnN0IHI9e2xvZ2dlcjplLHBhcmVudDp0W2xzXX07ZVtsc109cn1mdW5jdGlvbiBocCh0LGUscil7Y29uc3Qgbj17fTtlLmZvckVhY2goaT0+e25baV09cltpXT9yW2ldOnRuW2ldfHx0bltscFtpXXx8ImxvZyJdfHwkcn0pLHRbdXNdPW59ZnVuY3Rpb24gZnAodCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90LmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gciE9PSIhc3RkU2VyaWFsaXplcnMuZXJyIn0pOnQ9PT0hMD9PYmplY3Qua2V5cyhlKTohMX1mdW5jdGlvbiBidCh0KXt0PXR8fHt9LHQuYnJvd3Nlcj10LmJyb3dzZXJ8fHt9O2NvbnN0IGU9dC5icm93c2VyLnRyYW5zbWl0O2lmKGUmJnR5cGVvZiBlLnNlbmQhPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoInBpbm86IHRyYW5zbWl0IG9wdGlvbiBtdXN0IGhhdmUgYSBzZW5kIGZ1bmN0aW9uIik7Y29uc3Qgcj10LmJyb3dzZXIud3JpdGV8fHRuO3QuYnJvd3Nlci53cml0ZSYmKHQuYnJvd3Nlci5hc09iamVjdD0hMCk7Y29uc3Qgbj10LnNlcmlhbGl6ZXJzfHx7fSxpPWZwKHQuYnJvd3Nlci5zZXJpYWxpemUsbik7bGV0IHM9dC5icm93c2VyLnNlcmlhbGl6ZTtBcnJheS5pc0FycmF5KHQuYnJvd3Nlci5zZXJpYWxpemUpJiZ0LmJyb3dzZXIuc2VyaWFsaXplLmluZGV4T2YoIiFzdGRTZXJpYWxpemVycy5lcnIiKT4tMSYmKHM9ITEpO2NvbnN0IG89T2JqZWN0LmtleXModC5jdXN0b21MZXZlbHN8fHt9KSxhPVsiZXJyb3IiLCJmYXRhbCIsIndhcm4iLCJpbmZvIiwiZGVidWciLCJ0cmFjZSJdLmNvbmNhdChvKTt0eXBlb2Ygcj09ImZ1bmN0aW9uIiYmYS5mb3JFYWNoKGZ1bmN0aW9uKGcpe3JbZ109cn0pLCh0LmVuYWJsZWQ9PT0hMXx8dC5icm93c2VyLmRpc2FibGVkKSYmKHQubGV2ZWw9InNpbGVudCIpO2NvbnN0IGM9dC5sZXZlbHx8ImluZm8iLHU9T2JqZWN0LmNyZWF0ZShyKTt1LmxvZ3x8KHUubG9nPSRyKSxocCh1LGEsciksa2Eoe30sdSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsImxldmVsVmFsIix7Z2V0Omh9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodSwibGV2ZWwiLHtnZXQ6ZixzZXQ6cH0pO2NvbnN0IGw9e3RyYW5zbWl0OmUsc2VyaWFsaXplOmksYXNPYmplY3Q6dC5icm93c2VyLmFzT2JqZWN0LGFzT2JqZWN0QmluZGluZ3NPbmx5OnQuYnJvd3Nlci5hc09iamVjdEJpbmRpbmdzT25seSxmb3JtYXR0ZXJzOnQuYnJvd3Nlci5mb3JtYXR0ZXJzLGxldmVsczphLHRpbWVzdGFtcDpFcCh0KSxtZXNzYWdlS2V5OnQubWVzc2FnZUtleXx8Im1zZyIsb25DaGlsZDp0Lm9uQ2hpbGR8fCRyfTt1LmxldmVscz1kcCh0KSx1LmxldmVsPWMsdS5pc0xldmVsRW5hYmxlZD1mdW5jdGlvbihnKXtyZXR1cm4gdGhpcy5sZXZlbHMudmFsdWVzW2ddP3RoaXMubGV2ZWxzLnZhbHVlc1tnXT49dGhpcy5sZXZlbHMudmFsdWVzW3RoaXMubGV2ZWxdOiExfSx1LnNldE1heExpc3RlbmVycz11LmdldE1heExpc3RlbmVycz11LmVtaXQ9dS5hZGRMaXN0ZW5lcj11Lm9uPXUucHJlcGVuZExpc3RlbmVyPXUub25jZT11LnByZXBlbmRPbmNlTGlzdGVuZXI9dS5yZW1vdmVMaXN0ZW5lcj11LnJlbW92ZUFsbExpc3RlbmVycz11Lmxpc3RlbmVycz11Lmxpc3RlbmVyQ291bnQ9dS5ldmVudE5hbWVzPXUud3JpdGU9dS5mbHVzaD0kcix1LnNlcmlhbGl6ZXJzPW4sdS5fc2VyaWFsaXplPWksdS5fc3RkRXJyU2VyaWFsaXplPXMsdS5jaGlsZD1mdW5jdGlvbiguLi5nKXtyZXR1cm4gZC5jYWxsKHRoaXMsbCwuLi5nKX0sZSYmKHUuX2xvZ0V2ZW50PWZzKCkpO2Z1bmN0aW9uIGgoKXtyZXR1cm4gTXQodGhpcy5sZXZlbCx0aGlzKX1mdW5jdGlvbiBmKCl7cmV0dXJuIHRoaXMuX2xldmVsfWZ1bmN0aW9uIHAoZyl7aWYoZyE9PSJzaWxlbnQiJiYhdGhpcy5sZXZlbHMudmFsdWVzW2ddKXRocm93IEVycm9yKCJ1bmtub3duIGxldmVsICIrZyk7dGhpcy5fbGV2ZWw9Zyxkcih0aGlzLGwsdSwiZXJyb3IiKSxkcih0aGlzLGwsdSwiZmF0YWwiKSxkcih0aGlzLGwsdSwid2FybiIpLGRyKHRoaXMsbCx1LCJpbmZvIiksZHIodGhpcyxsLHUsImRlYnVnIiksZHIodGhpcyxsLHUsInRyYWNlIiksby5mb3JFYWNoKHk9Pntkcih0aGlzLGwsdSx5KX0pfWZ1bmN0aW9uIGQoZyx5LHYpe2lmKCF5KXRocm93IG5ldyBFcnJvcigibWlzc2luZyBiaW5kaW5ncyBmb3IgY2hpbGQgUGlubyIpO3Y9dnx8e30saSYmeS5zZXJpYWxpemVycyYmKHYuc2VyaWFsaXplcnM9eS5zZXJpYWxpemVycyk7Y29uc3QgQT12LnNlcmlhbGl6ZXJzO2lmKGkmJkEpe3ZhciB3PU9iamVjdC5hc3NpZ24oe30sbixBKSxtPXQuYnJvd3Nlci5zZXJpYWxpemU9PT0hMD9PYmplY3Qua2V5cyh3KTppO2RlbGV0ZSB5LnNlcmlhbGl6ZXJzLGhzKFt5XSxtLHcsdGhpcy5fc3RkRXJyU2VyaWFsaXplKX1mdW5jdGlvbiBfKFQpe3RoaXMuX2NoaWxkTGV2ZWw9KFQuX2NoaWxkTGV2ZWx8MCkrMSx0aGlzLmJpbmRpbmdzPXksdyYmKHRoaXMuc2VyaWFsaXplcnM9dyx0aGlzLl9zZXJpYWxpemU9bSksZSYmKHRoaXMuX2xvZ0V2ZW50PWZzKFtdLmNvbmNhdChULl9sb2dFdmVudC5iaW5kaW5ncyx5KSkpfV8ucHJvdG90eXBlPXRoaXM7Y29uc3QgeD1uZXcgXyh0aGlzKTtyZXR1cm4ga2EodGhpcyx4KSx4LmNoaWxkPWZ1bmN0aW9uKC4uLlQpe3JldHVybiBkLmNhbGwodGhpcyxnLC4uLlQpfSx4LmxldmVsPXYubGV2ZWx8fHRoaXMubGV2ZWwsZy5vbkNoaWxkKHgpLHh9cmV0dXJuIHV9ZnVuY3Rpb24gZHAodCl7Y29uc3QgZT10LmN1c3RvbUxldmVsc3x8e30scj1PYmplY3QuYXNzaWduKHt9LGJ0LmxldmVscy52YWx1ZXMsZSksbj1PYmplY3QuYXNzaWduKHt9LGJ0LmxldmVscy5sYWJlbHMscHAoZSkpO3JldHVybnt2YWx1ZXM6cixsYWJlbHM6bn19ZnVuY3Rpb24gcHAodCl7Y29uc3QgZT17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihyKXtlW3Rbcl1dPXJ9KSxlfWJ0LmxldmVscz17dmFsdWVzOntmYXRhbDo2MCxlcnJvcjo1MCx3YXJuOjQwLGluZm86MzAsZGVidWc6MjAsdHJhY2U6MTB9LGxhYmVsczp7MTA6InRyYWNlIiwyMDoiZGVidWciLDMwOiJpbmZvIiw0MDoid2FybiIsNTA6ImVycm9yIiw2MDoiZmF0YWwifX0sYnQuc3RkU2VyaWFsaXplcnM9dXAsYnQuc3RkVGltZUZ1bmN0aW9ucz1PYmplY3QuYXNzaWduKHt9LHtudWxsVGltZTpGYSxlcG9jaFRpbWU6cWEsdW5peFRpbWU6dnAsaXNvVGltZTpfcH0pO2Z1bmN0aW9uIGdwKHQpe2NvbnN0IGU9W107dC5iaW5kaW5ncyYmZS5wdXNoKHQuYmluZGluZ3MpO2xldCByPXRbbHNdO2Zvcig7ci5wYXJlbnQ7KXI9ci5wYXJlbnQsci5sb2dnZXIuYmluZGluZ3MmJmUucHVzaChyLmxvZ2dlci5iaW5kaW5ncyk7cmV0dXJuIGUucmV2ZXJzZSgpfWZ1bmN0aW9uIGRyKHQsZSxyLG4pe2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4se3ZhbHVlOk10KHQubGV2ZWwscik+TXQobixyKT8kcjpyW3VzXVtuXSx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHRbbl09PT0kcil7aWYoIWUudHJhbnNtaXQpcmV0dXJuO2NvbnN0IHM9ZS50cmFuc21pdC5sZXZlbHx8dC5sZXZlbCxvPU10KHMscik7aWYoTXQobixyKTxvKXJldHVybn10W25dPXdwKHQsZSxyLG4pO2NvbnN0IGk9Z3AodCk7aS5sZW5ndGghPT0wJiYodFtuXT15cChpLHRbbl0pKX1mdW5jdGlvbiB5cCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHRoaXMsWy4uLnQsLi4uYXJndW1lbnRzXSl9fWZ1bmN0aW9uIHdwKHQsZSxyLG4pe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBzPWUudGltZXN0YW1wKCksbz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksYT1PYmplY3QuZ2V0UHJvdG90eXBlT2YmJk9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKT09PXRuP3RuOnRoaXM7Zm9yKHZhciBjPTA7YzxvLmxlbmd0aDtjKyspb1tjXT1hcmd1bWVudHNbY107dmFyIHU9ITE7aWYoZS5zZXJpYWxpemUmJihocyhvLHRoaXMuX3NlcmlhbGl6ZSx0aGlzLnNlcmlhbGl6ZXJzLHRoaXMuX3N0ZEVyclNlcmlhbGl6ZSksdT0hMCksZS5hc09iamVjdHx8ZS5mb3JtYXR0ZXJzP2kuY2FsbChhLC4uLm1wKHRoaXMsbixvLHMsZSkpOmkuYXBwbHkoYSxvKSxlLnRyYW5zbWl0KXtjb25zdCBsPWUudHJhbnNtaXQubGV2ZWx8fHQuX2xldmVsLGg9TXQobCxyKSxmPU10KG4scik7aWYoZjxoKXJldHVybjticCh0aGlzLHt0czpzLG1ldGhvZExldmVsOm4sbWV0aG9kVmFsdWU6Zix0cmFuc21pdFZhbHVlOnIubGV2ZWxzLnZhbHVlc1tlLnRyYW5zbWl0LmxldmVsfHx0Ll9sZXZlbF0sc2VuZDplLnRyYW5zbWl0LnNlbmQsdmFsOk10KHQuX2xldmVsLHIpfSxvLHUpfX19KHRbdXNdW25dKX1mdW5jdGlvbiBtcCh0LGUscixuLGkpe2NvbnN0e2xldmVsOnMsbG9nOm89aD0+aH09aS5mb3JtYXR0ZXJzfHx7fSxhPXIuc2xpY2UoKTtsZXQgYz1hWzBdO2NvbnN0IHU9e307bGV0IGw9KHQuX2NoaWxkTGV2ZWx8MCkrMTtpZihsPDEmJihsPTEpLG4mJih1LnRpbWU9bikscyl7Y29uc3QgaD1zKGUsdC5sZXZlbHMudmFsdWVzW2VdKTtPYmplY3QuYXNzaWduKHUsaCl9ZWxzZSB1LmxldmVsPXQubGV2ZWxzLnZhbHVlc1tlXTtpZihpLmFzT2JqZWN0QmluZGluZ3NPbmx5KXtpZihjIT09bnVsbCYmdHlwZW9mIGM9PSJvYmplY3QiKWZvcig7bC0tJiZ0eXBlb2YgYVswXT09Im9iamVjdCI7KU9iamVjdC5hc3NpZ24odSxhLnNoaWZ0KCkpO3JldHVybltvKHUpLC4uLmFdfWVsc2V7aWYoYyE9PW51bGwmJnR5cGVvZiBjPT0ib2JqZWN0Iil7Zm9yKDtsLS0mJnR5cGVvZiBhWzBdPT0ib2JqZWN0IjspT2JqZWN0LmFzc2lnbih1LGEuc2hpZnQoKSk7Yz1hLmxlbmd0aD9MYShhLnNoaWZ0KCksYSk6dm9pZCAwfWVsc2UgdHlwZW9mIGM9PSJzdHJpbmciJiYoYz1MYShhLnNoaWZ0KCksYSkpO3JldHVybiBjIT09dm9pZCAwJiYodVtpLm1lc3NhZ2VLZXldPWMpLFtvKHUpXX19ZnVuY3Rpb24gaHModCxlLHIsbil7Zm9yKGNvbnN0IGkgaW4gdClpZihuJiZ0W2ldaW5zdGFuY2VvZiBFcnJvcil0W2ldPWJ0LnN0ZFNlcmlhbGl6ZXJzLmVycih0W2ldKTtlbHNlIGlmKHR5cGVvZiB0W2ldPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodFtpXSkmJmUpZm9yKGNvbnN0IHMgaW4gdFtpXSllLmluZGV4T2Yocyk+LTEmJnMgaW4gciYmKHRbaV1bc109cltzXSh0W2ldW3NdKSl9ZnVuY3Rpb24gYnAodCxlLHIsbj0hMSl7Y29uc3QgaT1lLnNlbmQscz1lLnRzLG89ZS5tZXRob2RMZXZlbCxhPWUubWV0aG9kVmFsdWUsYz1lLnZhbCx1PXQuX2xvZ0V2ZW50LmJpbmRpbmdzO258fGhzKHIsdC5fc2VyaWFsaXplfHxPYmplY3Qua2V5cyh0LnNlcmlhbGl6ZXJzKSx0LnNlcmlhbGl6ZXJzLHQuX3N0ZEVyclNlcmlhbGl6ZT09PXZvaWQgMD8hMDp0Ll9zdGRFcnJTZXJpYWxpemUpLHQuX2xvZ0V2ZW50LnRzPXMsdC5fbG9nRXZlbnQubWVzc2FnZXM9ci5maWx0ZXIoZnVuY3Rpb24obCl7cmV0dXJuIHUuaW5kZXhPZihsKT09PS0xfSksdC5fbG9nRXZlbnQubGV2ZWwubGFiZWw9byx0Ll9sb2dFdmVudC5sZXZlbC52YWx1ZT1hLGkobyx0Ll9sb2dFdmVudCxjKSx0Ll9sb2dFdmVudD1mcyh1KX1mdW5jdGlvbiBmcyh0KXtyZXR1cm57dHM6MCxtZXNzYWdlczpbXSxiaW5kaW5nczp0fHxbXSxsZXZlbDp7bGFiZWw6IiIsdmFsdWU6MH19fWZ1bmN0aW9uIE1hKHQpe2NvbnN0IGU9e3R5cGU6dC5jb25zdHJ1Y3Rvci5uYW1lLG1zZzp0Lm1lc3NhZ2Usc3RhY2s6dC5zdGFja307Zm9yKGNvbnN0IHIgaW4gdCllW3JdPT09dm9pZCAwJiYoZVtyXT10W3JdKTtyZXR1cm4gZX1mdW5jdGlvbiBFcCh0KXtyZXR1cm4gdHlwZW9mIHQudGltZXN0YW1wPT0iZnVuY3Rpb24iP3QudGltZXN0YW1wOnQudGltZXN0YW1wPT09ITE/RmE6cWF9ZnVuY3Rpb24gSG4oKXtyZXR1cm57fX1mdW5jdGlvbiBkcyh0KXtyZXR1cm4gdH1mdW5jdGlvbiAkcigpe31mdW5jdGlvbiBGYSgpe3JldHVybiExfWZ1bmN0aW9uIHFhKCl7cmV0dXJuIERhdGUubm93KCl9ZnVuY3Rpb24gdnAoKXtyZXR1cm4gTWF0aC5yb3VuZChEYXRlLm5vdygpLzFlMyl9ZnVuY3Rpb24gX3AoKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKX1mdW5jdGlvbiB4cCgpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIHR5cGVvZiBlPCJ1IiYmZX10cnl7cmV0dXJuIHR5cGVvZiBnbG9iYWxUaGlzPCJ1Inx8T2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsImdsb2JhbFRoaXMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2xvYmFsVGhpcyx0aGlzLmdsb2JhbFRoaXM9dGhpc30sY29uZmlndXJhYmxlOiEwfSksZ2xvYmFsVGhpc31jYXRjaHtyZXR1cm4gdChzZWxmKXx8dCh3aW5kb3cpfHx0KHRoaXMpfHx7fX19bHQuZXhwb3J0cy5kZWZhdWx0PWJ0LGx0LmV4cG9ydHMucGlubz1idDtjb25zdCBTcD17bGV2ZWw6ImluZm8ifSxXbj0iY3VzdG9tX2NvbnRleHQiLHBzPTFlMyoxMDI0O3ZhciBJcD1PYmplY3QuZGVmaW5lUHJvcGVydHksRHA9KHQsZSxyKT0+ZSBpbiB0P0lwKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cn0pOnRbZV09cixGdD0odCxlLHIpPT5EcCh0LHR5cGVvZiBlIT0ic3ltYm9sIj9lKyIiOmUscik7bGV0IEFwPWNsYXNze2NvbnN0cnVjdG9yKGUpe0Z0KHRoaXMsIm5vZGVWYWx1ZSIpLEZ0KHRoaXMsInNpemVJbkJ5dGVzIiksRnQodGhpcywibmV4dCIpLHRoaXMubm9kZVZhbHVlPWUsdGhpcy5zaXplSW5CeXRlcz1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodGhpcy5ub2RlVmFsdWUpLmxlbmd0aCx0aGlzLm5leHQ9bnVsbH1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5ub2RlVmFsdWV9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5zaXplSW5CeXRlc319LHphPWNsYXNze2NvbnN0cnVjdG9yKGUpe0Z0KHRoaXMsImxlbmd0aEluTm9kZXMiKSxGdCh0aGlzLCJzaXplSW5CeXRlcyIpLEZ0KHRoaXMsImhlYWQiKSxGdCh0aGlzLCJ0YWlsIiksRnQodGhpcywibWF4U2l6ZUluQnl0ZXMiKSx0aGlzLmhlYWQ9bnVsbCx0aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aEluTm9kZXM9MCx0aGlzLm1heFNpemVJbkJ5dGVzPWUsdGhpcy5zaXplSW5CeXRlcz0wfWFwcGVuZChlKXtjb25zdCByPW5ldyBBcChlKTtpZihyLnNpemU+dGhpcy5tYXhTaXplSW5CeXRlcyl0aHJvdyBuZXcgRXJyb3IoYFtMaW5rZWRMaXN0XSBWYWx1ZSB0b28gYmlnIHRvIGluc2VydCBpbnRvIGxpc3Q6ICR7ZX0gd2l0aCBzaXplICR7ci5zaXplfWApO2Zvcig7dGhpcy5zaXplK3Iuc2l6ZT50aGlzLm1heFNpemVJbkJ5dGVzOyl0aGlzLnNoaWZ0KCk7dGhpcy5oZWFkPyh0aGlzLnRhaWwmJih0aGlzLnRhaWwubmV4dD1yKSx0aGlzLnRhaWw9cik6KHRoaXMuaGVhZD1yLHRoaXMudGFpbD1yKSx0aGlzLmxlbmd0aEluTm9kZXMrKyx0aGlzLnNpemVJbkJ5dGVzKz1yLnNpemV9c2hpZnQoKXtpZighdGhpcy5oZWFkKXJldHVybjtjb25zdCBlPXRoaXMuaGVhZDt0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQsdGhpcy5oZWFkfHwodGhpcy50YWlsPW51bGwpLHRoaXMubGVuZ3RoSW5Ob2Rlcy0tLHRoaXMuc2l6ZUluQnl0ZXMtPWUuc2l6ZX10b0FycmF5KCl7Y29uc3QgZT1bXTtsZXQgcj10aGlzLmhlYWQ7Zm9yKDtyIT09bnVsbDspZS5wdXNoKHIudmFsdWUpLHI9ci5uZXh0O3JldHVybiBlfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5sZW5ndGhJbk5vZGVzfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuc2l6ZUluQnl0ZXN9dG9PcmRlcmVkQXJyYXkoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzKX1bU3ltYm9sLml0ZXJhdG9yXSgpe2xldCBlPXRoaXMuaGVhZDtyZXR1cm57bmV4dDooKT0+e2lmKCFlKXJldHVybntkb25lOiEwLHZhbHVlOm51bGx9O2NvbnN0IHI9ZS52YWx1ZTtyZXR1cm4gZT1lLm5leHQse2RvbmU6ITEsdmFsdWU6cn19fX19O2NvbnN0IE9wPXQ9PkpTT04uc3RyaW5naWZ5KHQsKGUscik9PnR5cGVvZiByPT0iYmlnaW50Ij9yLnRvU3RyaW5nKCkrIm4iOnIpO2Z1bmN0aW9uIGphKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyI/dDpPcCh0KXx8IiJ9dmFyIFRwPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxCcD0odCxlLHIpPT5lIGluIHQ/VHAodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yLEduPSh0LGUscik9PkJwKHQsdHlwZW9mIGUhPSJzeW1ib2wiP2UrIiI6ZSxyKTtsZXQgS2E9Y2xhc3N7Y29uc3RydWN0b3IoZSxyPXBzKXtHbih0aGlzLCJsb2dzIiksR24odGhpcywibGV2ZWwiKSxHbih0aGlzLCJsZXZlbFZhbHVlIiksR24odGhpcywiTUFYX0xPR19TSVpFX0lOX0JZVEVTIiksdGhpcy5sZXZlbD1lPz8iZXJyb3IiLHRoaXMubGV2ZWxWYWx1ZT1sdC5leHBvcnRzLmxldmVscy52YWx1ZXNbdGhpcy5sZXZlbF0sdGhpcy5NQVhfTE9HX1NJWkVfSU5fQllURVM9cix0aGlzLmxvZ3M9bmV3IHphKHRoaXMuTUFYX0xPR19TSVpFX0lOX0JZVEVTKX1mb3J3YXJkVG9Db25zb2xlKGUscil7cj09PWx0LmV4cG9ydHMubGV2ZWxzLnZhbHVlcy5lcnJvcj9jb25zb2xlLmVycm9yKGUpOnI9PT1sdC5leHBvcnRzLmxldmVscy52YWx1ZXMud2Fybj9jb25zb2xlLndhcm4oZSk6cj09PWx0LmV4cG9ydHMubGV2ZWxzLnZhbHVlcy5kZWJ1Zz9jb25zb2xlLmRlYnVnKGUpOnI9PT1sdC5leHBvcnRzLmxldmVscy52YWx1ZXMudHJhY2U/Y29uc29sZS50cmFjZShlKTpjb25zb2xlLmxvZyhlKX1hcHBlbmRUb0xvZ3MoZSl7dGhpcy5sb2dzLmFwcGVuZChqYSh7dGltZXN0YW1wOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxsb2c6ZX0pKTtjb25zdCByPXR5cGVvZiBlPT0ic3RyaW5nIj9KU09OLnBhcnNlKGUpLmxldmVsOmUubGV2ZWw7cj49dGhpcy5sZXZlbFZhbHVlJiZ0aGlzLmZvcndhcmRUb0NvbnNvbGUoZSxyKX1nZXRMb2dzKCl7cmV0dXJuIHRoaXMubG9nc31jbGVhckxvZ3MoKXt0aGlzLmxvZ3M9bmV3IHphKHRoaXMuTUFYX0xPR19TSVpFX0lOX0JZVEVTKX1nZXRMb2dBcnJheSgpe3JldHVybiBBcnJheS5mcm9tKHRoaXMubG9ncyl9bG9nc1RvQmxvYihlKXtjb25zdCByPXRoaXMuZ2V0TG9nQXJyYXkoKTtyZXR1cm4gci5wdXNoKGphKHtleHRyYU1ldGFkYXRhOmV9KSksbmV3IEJsb2Iocix7dHlwZToiYXBwbGljYXRpb24vanNvbiJ9KX19O3ZhciBScD1PYmplY3QuZGVmaW5lUHJvcGVydHksTnA9KHQsZSxyKT0+ZSBpbiB0P1JwKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cn0pOnRbZV09cixQcD0odCxlLHIpPT5OcCh0LGUrIiIscik7bGV0ICRwPWNsYXNze2NvbnN0cnVjdG9yKGUscj1wcyl7UHAodGhpcywiYmFzZUNodW5rTG9nZ2VyIiksdGhpcy5iYXNlQ2h1bmtMb2dnZXI9bmV3IEthKGUscil9d3JpdGUoZSl7dGhpcy5iYXNlQ2h1bmtMb2dnZXIuYXBwZW5kVG9Mb2dzKGUpfWdldExvZ3MoKXtyZXR1cm4gdGhpcy5iYXNlQ2h1bmtMb2dnZXIuZ2V0TG9ncygpfWNsZWFyTG9ncygpe3RoaXMuYmFzZUNodW5rTG9nZ2VyLmNsZWFyTG9ncygpfWdldExvZ0FycmF5KCl7cmV0dXJuIHRoaXMuYmFzZUNodW5rTG9nZ2VyLmdldExvZ0FycmF5KCl9bG9nc1RvQmxvYihlKXtyZXR1cm4gdGhpcy5iYXNlQ2h1bmtMb2dnZXIubG9nc1RvQmxvYihlKX1kb3dubG9hZExvZ3NCbG9iSW5Ccm93c2VyKGUpe2NvbnN0IHI9VVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLmxvZ3NUb0Jsb2IoZSkpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO24uaHJlZj1yLG4uZG93bmxvYWQ9YHdhbGxldGNvbm5lY3QtbG9ncy0ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0udHh0YCxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG4pLG4uY2xpY2soKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKG4pLFVSTC5yZXZva2VPYmplY3RVUkwocil9fTt2YXIgQ3A9T2JqZWN0LmRlZmluZVByb3BlcnR5LFVwPSh0LGUscik9PmUgaW4gdD9DcCh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsTHA9KHQsZSxyKT0+VXAodCxlKyIiLHIpO2xldCBrcD1jbGFzc3tjb25zdHJ1Y3RvcihlLHI9cHMpe0xwKHRoaXMsImJhc2VDaHVua0xvZ2dlciIpLHRoaXMuYmFzZUNodW5rTG9nZ2VyPW5ldyBLYShlLHIpfXdyaXRlKGUpe3RoaXMuYmFzZUNodW5rTG9nZ2VyLmFwcGVuZFRvTG9ncyhlKX1nZXRMb2dzKCl7cmV0dXJuIHRoaXMuYmFzZUNodW5rTG9nZ2VyLmdldExvZ3MoKX1jbGVhckxvZ3MoKXt0aGlzLmJhc2VDaHVua0xvZ2dlci5jbGVhckxvZ3MoKX1nZXRMb2dBcnJheSgpe3JldHVybiB0aGlzLmJhc2VDaHVua0xvZ2dlci5nZXRMb2dBcnJheSgpfWxvZ3NUb0Jsb2IoZSl7cmV0dXJuIHRoaXMuYmFzZUNodW5rTG9nZ2VyLmxvZ3NUb0Jsb2IoZSl9fTt2YXIgTXA9T2JqZWN0LmRlZmluZVByb3BlcnR5LEZwPU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLHFwPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLFZhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsenA9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxqcD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLEhhPSh0LGUscik9PmUgaW4gdD9NcCh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIscXQ9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKXpwLmNhbGwoZSxyKSYmSGEodCxyLGVbcl0pO2lmKFZhKWZvcih2YXIgciBvZiBWYShlKSlqcC5jYWxsKGUscikmJkhhKHQscixlW3JdKTtyZXR1cm4gdH0senQ9KHQsZSk9PkZwKHQscXAoZSkpO2Z1bmN0aW9uIEtwKHQpe3JldHVybiB6dChxdCh7fSx0KSx7bGV2ZWw6dD8ubGV2ZWx8fFNwLmxldmVsfSl9ZnVuY3Rpb24gVnAodCxlLHI9V24pe3JldHVybiB0W3JdPWUsdH1mdW5jdGlvbiBOZSh0LGU9V24pe3JldHVybiB0W2VdfHwiIn1mdW5jdGlvbiBIcCh0LGUscj1Xbil7Y29uc3Qgbj1OZSh0LHIpO3JldHVybiBuLnRyaW0oKT9gJHtufS8ke2V9YDplfWZ1bmN0aW9uIE1lKHQsZSxyPVduKXtjb25zdCBuPUhwKHQsZSxyKSxpPXQuY2hpbGQoe2NvbnRleHQ6bn0pO3JldHVybiBWcChpLG4scil9ZnVuY3Rpb24gV3AodCl7dmFyIGUscjtjb25zdCBuPW5ldyAkcCgoZT10Lm9wdHMpPT1udWxsP3ZvaWQgMDplLmxldmVsLHQubWF4U2l6ZUluQnl0ZXMpO3JldHVybntsb2dnZXI6bHQuZXhwb3J0cyh6dChxdCh7fSx0Lm9wdHMpLHtsZXZlbDoidHJhY2UiLGJyb3dzZXI6enQocXQoe30sKHI9dC5vcHRzKT09bnVsbD92b2lkIDA6ci5icm93c2VyKSx7d3JpdGU6aT0+bi53cml0ZShpKX0pfSkpLGNodW5rTG9nZ2VyQ29udHJvbGxlcjpufX1mdW5jdGlvbiBHcCh0KXt2YXIgZSxyO2NvbnN0IG49bmV3IGtwKChlPXQub3B0cyk9PW51bGw/dm9pZCAwOmUubGV2ZWwsdC5tYXhTaXplSW5CeXRlcyk7cmV0dXJue2xvZ2dlcjpsdC5leHBvcnRzKHp0KHF0KHt9LHQub3B0cykse2xldmVsOiJ0cmFjZSIsYnJvd3Nlcjp6dChxdCh7fSwocj10Lm9wdHMpPT1udWxsP3ZvaWQgMDpyLmJyb3dzZXIpLHt3cml0ZTppPT5uLndyaXRlKGkpfSl9KSxuKSxjaHVua0xvZ2dlckNvbnRyb2xsZXI6bn19ZnVuY3Rpb24gV2EodCl7dmFyIGU7aWYodHlwZW9mIHQubG9nZ2VyT3ZlcnJpZGU8InUiJiZ0eXBlb2YgdC5sb2dnZXJPdmVycmlkZSE9InN0cmluZyIpcmV0dXJue2xvZ2dlcjp0LmxvZ2dlck92ZXJyaWRlLGNodW5rTG9nZ2VyQ29udHJvbGxlcjpudWxsfTtjb25zdCByPXp0KHF0KHt9LHQub3B0cykse2xldmVsOnR5cGVvZiB0LmxvZ2dlck92ZXJyaWRlPT0ic3RyaW5nIj90LmxvZ2dlck92ZXJyaWRlOihlPXQub3B0cyk9PW51bGw/dm9pZCAwOmUubGV2ZWx9KTtyZXR1cm4gdHlwZW9mIHdpbmRvdzwidSI/V3AoenQocXQoe30sdCkse29wdHM6cn0pKTpHcCh6dChxdCh7fSx0KSx7b3B0czpyfSkpfWNsYXNzIFlwIGV4dGVuZHMgbHJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLm9wdHM9ZSx0aGlzLnByb3RvY29sPSJ3YyIsdGhpcy52ZXJzaW9uPTJ9fWNsYXNzIFpwIGV4dGVuZHMgbHJ7Y29uc3RydWN0b3IoZSxyKXtzdXBlcigpLHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXIsdGhpcy5yZWNvcmRzPW5ldyBNYXB9fWxldCBYcD1jbGFzc3tjb25zdHJ1Y3RvcihlLHIpe3RoaXMubG9nZ2VyPWUsdGhpcy5jb3JlPXJ9fSxKcD1jbGFzcyBleHRlbmRzIGxye2NvbnN0cnVjdG9yKGUscil7c3VwZXIoKSx0aGlzLnJlbGF5ZXI9ZSx0aGlzLmxvZ2dlcj1yfX07Y2xhc3MgUXAgZXh0ZW5kcyBscntjb25zdHJ1Y3RvcihlKXtzdXBlcigpfX1sZXQgZWc9Y2xhc3N7Y29uc3RydWN0b3IoZSxyLG4saSl7dGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLm5hbWU9bn19LHRnPWNsYXNzIGV4dGVuZHMgbHJ7Y29uc3RydWN0b3IoZSxyKXtzdXBlcigpLHRoaXMucmVsYXllcj1lLHRoaXMubG9nZ2VyPXJ9fSxyZz1jbGFzcyBleHRlbmRzIGxye2NvbnN0cnVjdG9yKGUscil7c3VwZXIoKSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yfX0sbmc9Y2xhc3N7Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXIsdGhpcy5zdG9yZT1ufX0saWc9Y2xhc3N7Y29uc3RydWN0b3IoZSxyKXt0aGlzLnByb2plY3RJZD1lLHRoaXMubG9nZ2VyPXJ9fSxzZz1jbGFzc3tjb25zdHJ1Y3RvcihlLHIsbil7dGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLnRlbGVtZXRyeUVuYWJsZWQ9bn19LG9nPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0cz1lLHRoaXMucHJvdG9jb2w9IndjIix0aGlzLnZlcnNpb249Mn19LGFnPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuY2xpZW50PWV9fTtmdW5jdGlvbiBjZyh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fEFycmF5QnVmZmVyLmlzVmlldyh0KSYmdC5jb25zdHJ1Y3Rvci5uYW1lPT09IlVpbnQ4QXJyYXkifWZ1bmN0aW9uIEdhKHQsLi4uZSl7aWYoIWNnKHQpKXRocm93IG5ldyBFcnJvcigiVWludDhBcnJheSBleHBlY3RlZCIpO2lmKGUubGVuZ3RoPjAmJiFlLmluY2x1ZGVzKHQubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIlVpbnQ4QXJyYXkgZXhwZWN0ZWQgb2YgbGVuZ3RoICIrZSsiLCBnb3QgbGVuZ3RoPSIrdC5sZW5ndGgpfWZ1bmN0aW9uIFlhKHQsZT0hMCl7aWYodC5kZXN0cm95ZWQpdGhyb3cgbmV3IEVycm9yKCJIYXNoIGluc3RhbmNlIGhhcyBiZWVuIGRlc3Ryb3llZCIpO2lmKGUmJnQuZmluaXNoZWQpdGhyb3cgbmV3IEVycm9yKCJIYXNoI2RpZ2VzdCgpIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkIil9ZnVuY3Rpb24gdWcodCxlKXtHYSh0KTtjb25zdCByPWUub3V0cHV0TGVuO2lmKHQubGVuZ3RoPHIpdGhyb3cgbmV3IEVycm9yKCJkaWdlc3RJbnRvKCkgZXhwZWN0cyBvdXRwdXQgYnVmZmVyIG9mIGxlbmd0aCBhdCBsZWFzdCAiK3IpfWNvbnN0IENyPXR5cGVvZiBnbG9iYWxUaGlzPT0ib2JqZWN0IiYmImNyeXB0byJpbiBnbG9iYWxUaGlzP2dsb2JhbFRoaXMuY3J5cHRvOnZvaWQgMDsvKiEgbm9ibGUtaGFzaGVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovY29uc3QgZ3M9dD0+bmV3IERhdGFWaWV3KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpO2Z1bmN0aW9uIGxnKHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoInV0ZjhUb0J5dGVzIGV4cGVjdGVkIHN0cmluZywgZ290ICIrdHlwZW9mIHQpO3JldHVybiBuZXcgVWludDhBcnJheShuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCkpfWZ1bmN0aW9uIFphKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyImJih0PWxnKHQpKSxHYSh0KSx0fWNsYXNzIGhne2Nsb25lKCl7cmV0dXJuIHRoaXMuX2Nsb25lSW50bygpfX1mdW5jdGlvbiBmZyh0KXtjb25zdCBlPW49PnQoKS51cGRhdGUoWmEobikpLmRpZ2VzdCgpLHI9dCgpO3JldHVybiBlLm91dHB1dExlbj1yLm91dHB1dExlbixlLmJsb2NrTGVuPXIuYmxvY2tMZW4sZS5jcmVhdGU9KCk9PnQoKSxlfWZ1bmN0aW9uIFhhKHQ9MzIpe2lmKENyJiZ0eXBlb2YgQ3IuZ2V0UmFuZG9tVmFsdWVzPT0iZnVuY3Rpb24iKXJldHVybiBDci5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkodCkpO2lmKENyJiZ0eXBlb2YgQ3IucmFuZG9tQnl0ZXM9PSJmdW5jdGlvbiIpcmV0dXJuIENyLnJhbmRvbUJ5dGVzKHQpO3Rocm93IG5ldyBFcnJvcigiY3J5cHRvLmdldFJhbmRvbVZhbHVlcyBtdXN0IGJlIGRlZmluZWQiKX1mdW5jdGlvbiBkZyh0LGUscixuKXtpZih0eXBlb2YgdC5zZXRCaWdVaW50NjQ9PSJmdW5jdGlvbiIpcmV0dXJuIHQuc2V0QmlnVWludDY0KGUscixuKTtjb25zdCBpPUJpZ0ludCgzMikscz1CaWdJbnQoNDI5NDk2NzI5NSksbz1OdW1iZXIocj4+aSZzKSxhPU51bWJlcihyJnMpLGM9bj80OjAsdT1uPzA6NDt0LnNldFVpbnQzMihlK2MsbyxuKSx0LnNldFVpbnQzMihlK3UsYSxuKX1jbGFzcyBwZyBleHRlbmRzIGhne2NvbnN0cnVjdG9yKGUscixuLGkpe3N1cGVyKCksdGhpcy5ibG9ja0xlbj1lLHRoaXMub3V0cHV0TGVuPXIsdGhpcy5wYWRPZmZzZXQ9bix0aGlzLmlzTEU9aSx0aGlzLmZpbmlzaGVkPSExLHRoaXMubGVuZ3RoPTAsdGhpcy5wb3M9MCx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheShlKSx0aGlzLnZpZXc9Z3ModGhpcy5idWZmZXIpfXVwZGF0ZShlKXtZYSh0aGlzKTtjb25zdHt2aWV3OnIsYnVmZmVyOm4sYmxvY2tMZW46aX09dGhpcztlPVphKGUpO2NvbnN0IHM9ZS5sZW5ndGg7Zm9yKGxldCBvPTA7bzxzOyl7Y29uc3QgYT1NYXRoLm1pbihpLXRoaXMucG9zLHMtbyk7aWYoYT09PWkpe2NvbnN0IGM9Z3MoZSk7Zm9yKDtpPD1zLW87bys9aSl0aGlzLnByb2Nlc3MoYyxvKTtjb250aW51ZX1uLnNldChlLnN1YmFycmF5KG8sbythKSx0aGlzLnBvcyksdGhpcy5wb3MrPWEsbys9YSx0aGlzLnBvcz09PWkmJih0aGlzLnByb2Nlc3MociwwKSx0aGlzLnBvcz0wKX1yZXR1cm4gdGhpcy5sZW5ndGgrPWUubGVuZ3RoLHRoaXMucm91bmRDbGVhbigpLHRoaXN9ZGlnZXN0SW50byhlKXtZYSh0aGlzKSx1ZyhlLHRoaXMpLHRoaXMuZmluaXNoZWQ9ITA7Y29uc3R7YnVmZmVyOnIsdmlldzpuLGJsb2NrTGVuOmksaXNMRTpzfT10aGlzO2xldHtwb3M6b309dGhpcztyW28rK109MTI4LHRoaXMuYnVmZmVyLnN1YmFycmF5KG8pLmZpbGwoMCksdGhpcy5wYWRPZmZzZXQ+aS1vJiYodGhpcy5wcm9jZXNzKG4sMCksbz0wKTtmb3IobGV0IGg9bztoPGk7aCsrKXJbaF09MDtkZyhuLGktOCxCaWdJbnQodGhpcy5sZW5ndGgqOCkscyksdGhpcy5wcm9jZXNzKG4sMCk7Y29uc3QgYT1ncyhlKSxjPXRoaXMub3V0cHV0TGVuO2lmKGMlNCl0aHJvdyBuZXcgRXJyb3IoIl9zaGEyOiBvdXRwdXRMZW4gc2hvdWxkIGJlIGFsaWduZWQgdG8gMzJiaXQiKTtjb25zdCB1PWMvNCxsPXRoaXMuZ2V0KCk7aWYodT5sLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIl9zaGEyOiBvdXRwdXRMZW4gYmlnZ2VyIHRoYW4gc3RhdGUiKTtmb3IobGV0IGg9MDtoPHU7aCsrKWEuc2V0VWludDMyKDQqaCxsW2hdLHMpfWRpZ2VzdCgpe2NvbnN0e2J1ZmZlcjplLG91dHB1dExlbjpyfT10aGlzO3RoaXMuZGlnZXN0SW50byhlKTtjb25zdCBuPWUuc2xpY2UoMCxyKTtyZXR1cm4gdGhpcy5kZXN0cm95KCksbn1fY2xvbmVJbnRvKGUpe2V8fChlPW5ldyB0aGlzLmNvbnN0cnVjdG9yKSxlLnNldCguLi50aGlzLmdldCgpKTtjb25zdHtibG9ja0xlbjpyLGJ1ZmZlcjpuLGxlbmd0aDppLGZpbmlzaGVkOnMsZGVzdHJveWVkOm8scG9zOmF9PXRoaXM7cmV0dXJuIGUubGVuZ3RoPWksZS5wb3M9YSxlLmZpbmlzaGVkPXMsZS5kZXN0cm95ZWQ9byxpJXImJmUuYnVmZmVyLnNldChuKSxlfX1jb25zdCBZbj1CaWdJbnQoMioqMzItMSkseXM9QmlnSW50KDMyKTtmdW5jdGlvbiBKYSh0LGU9ITEpe3JldHVybiBlP3toOk51bWJlcih0JlluKSxsOk51bWJlcih0Pj55cyZZbil9OntoOk51bWJlcih0Pj55cyZZbil8MCxsOk51bWJlcih0JlluKXwwfX1mdW5jdGlvbiBnZyh0LGU9ITEpe2xldCByPW5ldyBVaW50MzJBcnJheSh0Lmxlbmd0aCksbj1uZXcgVWludDMyQXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXtjb25zdHtoOnMsbDpvfT1KYSh0W2ldLGUpO1tyW2ldLG5baV1dPVtzLG9dfXJldHVybltyLG5dfWNvbnN0IHlnPSh0LGUpPT5CaWdJbnQodD4+PjApPDx5c3xCaWdJbnQoZT4+PjApLHdnPSh0LGUscik9PnQ+Pj5yLG1nPSh0LGUscik9PnQ8PDMyLXJ8ZT4+PnIsYmc9KHQsZSxyKT0+dD4+PnJ8ZTw8MzItcixFZz0odCxlLHIpPT50PDwzMi1yfGU+Pj5yLHZnPSh0LGUscik9PnQ8PDY0LXJ8ZT4+PnItMzIsX2c9KHQsZSxyKT0+dD4+PnItMzJ8ZTw8NjQtcix4Zz0odCxlKT0+ZSxTZz0odCxlKT0+dCxJZz0odCxlLHIpPT50PDxyfGU+Pj4zMi1yLERnPSh0LGUscik9PmU8PHJ8dD4+PjMyLXIsQWc9KHQsZSxyKT0+ZTw8ci0zMnx0Pj4+NjQtcixPZz0odCxlLHIpPT50PDxyLTMyfGU+Pj42NC1yO2Z1bmN0aW9uIFRnKHQsZSxyLG4pe2NvbnN0IGk9KGU+Pj4wKSsobj4+PjApO3JldHVybntoOnQrcisoaS8yKiozMnwwKXwwLGw6aXwwfX1jb25zdCBCZz0odCxlLHIpPT4odD4+PjApKyhlPj4+MCkrKHI+Pj4wKSxSZz0odCxlLHIsbik9PmUrcituKyh0LzIqKjMyfDApfDAsTmc9KHQsZSxyLG4pPT4odD4+PjApKyhlPj4+MCkrKHI+Pj4wKSsobj4+PjApLFBnPSh0LGUscixuLGkpPT5lK3IrbitpKyh0LzIqKjMyfDApfDAsJGc9KHQsZSxyLG4saSk9Pih0Pj4+MCkrKGU+Pj4wKSsocj4+PjApKyhuPj4+MCkrKGk+Pj4wKSxDZz0odCxlLHIsbixpLHMpPT5lK3IrbitpK3MrKHQvMioqMzJ8MCl8MCxZPXtmcm9tQmlnOkphLHNwbGl0OmdnLHRvQmlnOnlnLHNoclNIOndnLHNoclNMOm1nLHJvdHJTSDpiZyxyb3RyU0w6RWcscm90ckJIOnZnLHJvdHJCTDpfZyxyb3RyMzJIOnhnLHJvdHIzMkw6U2cscm90bFNIOklnLHJvdGxTTDpEZyxyb3RsQkg6QWcscm90bEJMOk9nLGFkZDpUZyxhZGQzTDpCZyxhZGQzSDpSZyxhZGQ0TDpOZyxhZGQ0SDpQZyxhZGQ1SDpDZyxhZGQ1TDokZ30sW1VnLExnXT1ZLnNwbGl0KFsiMHg0MjhhMmY5OGQ3MjhhZTIyIiwiMHg3MTM3NDQ5MTIzZWY2NWNkIiwiMHhiNWMwZmJjZmVjNGQzYjJmIiwiMHhlOWI1ZGJhNTgxODlkYmJjIiwiMHgzOTU2YzI1YmYzNDhiNTM4IiwiMHg1OWYxMTFmMWI2MDVkMDE5IiwiMHg5MjNmODJhNGFmMTk0ZjliIiwiMHhhYjFjNWVkNWRhNmQ4MTE4IiwiMHhkODA3YWE5OGEzMDMwMjQyIiwiMHgxMjgzNWIwMTQ1NzA2ZmJlIiwiMHgyNDMxODViZTRlZTRiMjhjIiwiMHg1NTBjN2RjM2Q1ZmZiNGUyIiwiMHg3MmJlNWQ3NGYyN2I4OTZmIiwiMHg4MGRlYjFmZTNiMTY5NmIxIiwiMHg5YmRjMDZhNzI1YzcxMjM1IiwiMHhjMTliZjE3NGNmNjkyNjk0IiwiMHhlNDliNjljMTllZjE0YWQyIiwiMHhlZmJlNDc4NjM4NGYyNWUzIiwiMHgwZmMxOWRjNjhiOGNkNWI1IiwiMHgyNDBjYTFjYzc3YWM5YzY1IiwiMHgyZGU5MmM2ZjU5MmIwMjc1IiwiMHg0YTc0ODRhYTZlYTZlNDgzIiwiMHg1Y2IwYTlkY2JkNDFmYmQ0IiwiMHg3NmY5ODhkYTgzMTE1M2I1IiwiMHg5ODNlNTE1MmVlNjZkZmFiIiwiMHhhODMxYzY2ZDJkYjQzMjEwIiwiMHhiMDAzMjdjODk4ZmIyMTNmIiwiMHhiZjU5N2ZjN2JlZWYwZWU0IiwiMHhjNmUwMGJmMzNkYTg4ZmMyIiwiMHhkNWE3OTE0NzkzMGFhNzI1IiwiMHgwNmNhNjM1MWUwMDM4MjZmIiwiMHgxNDI5Mjk2NzBhMGU2ZTcwIiwiMHgyN2I3MGE4NTQ2ZDIyZmZjIiwiMHgyZTFiMjEzODVjMjZjOTI2IiwiMHg0ZDJjNmRmYzVhYzQyYWVkIiwiMHg1MzM4MGQxMzlkOTViM2RmIiwiMHg2NTBhNzM1NDhiYWY2M2RlIiwiMHg3NjZhMGFiYjNjNzdiMmE4IiwiMHg4MWMyYzkyZTQ3ZWRhZWU2IiwiMHg5MjcyMmM4NTE0ODIzNTNiIiwiMHhhMmJmZThhMTRjZjEwMzY0IiwiMHhhODFhNjY0YmJjNDIzMDAxIiwiMHhjMjRiOGI3MGQwZjg5NzkxIiwiMHhjNzZjNTFhMzA2NTRiZTMwIiwiMHhkMTkyZTgxOWQ2ZWY1MjE4IiwiMHhkNjk5MDYyNDU1NjVhOTEwIiwiMHhmNDBlMzU4NTU3NzEyMDJhIiwiMHgxMDZhYTA3MDMyYmJkMWI4IiwiMHgxOWE0YzExNmI4ZDJkMGM4IiwiMHgxZTM3NmMwODUxNDFhYjUzIiwiMHgyNzQ4Nzc0Y2RmOGVlYjk5IiwiMHgzNGIwYmNiNWUxOWI0OGE4IiwiMHgzOTFjMGNiM2M1Yzk1YTYzIiwiMHg0ZWQ4YWE0YWUzNDE4YWNiIiwiMHg1YjljY2E0Zjc3NjNlMzczIiwiMHg2ODJlNmZmM2Q2YjJiOGEzIiwiMHg3NDhmODJlZTVkZWZiMmZjIiwiMHg3OGE1NjM2ZjQzMTcyZjYwIiwiMHg4NGM4NzgxNGExZjBhYjcyIiwiMHg4Y2M3MDIwODFhNjQzOWVjIiwiMHg5MGJlZmZmYTIzNjMxZTI4IiwiMHhhNDUwNmNlYmRlODJiZGU5IiwiMHhiZWY5YTNmN2IyYzY3OTE1IiwiMHhjNjcxNzhmMmUzNzI1MzJiIiwiMHhjYTI3M2VjZWVhMjY2MTljIiwiMHhkMTg2YjhjNzIxYzBjMjA3IiwiMHhlYWRhN2RkNmNkZTBlYjFlIiwiMHhmNTdkNGY3ZmVlNmVkMTc4IiwiMHgwNmYwNjdhYTcyMTc2ZmJhIiwiMHgwYTYzN2RjNWEyYzg5OGE2IiwiMHgxMTNmOTgwNGJlZjkwZGFlIiwiMHgxYjcxMGIzNTEzMWM0NzFiIiwiMHgyOGRiNzdmNTIzMDQ3ZDg0IiwiMHgzMmNhYWI3YjQwYzcyNDkzIiwiMHgzYzllYmUwYTE1YzliZWJjIiwiMHg0MzFkNjdjNDljMTAwZDRjIiwiMHg0Y2M1ZDRiZWNiM2U0MmI2IiwiMHg1OTdmMjk5Y2ZjNjU3ZTJhIiwiMHg1ZmNiNmZhYjNhZDZmYWVjIiwiMHg2YzQ0MTk4YzRhNDc1ODE3Il0ubWFwKHQ9PkJpZ0ludCh0KSkpLGp0PW5ldyBVaW50MzJBcnJheSg4MCksS3Q9bmV3IFVpbnQzMkFycmF5KDgwKTtsZXQga2c9Y2xhc3MgZXh0ZW5kcyBwZ3tjb25zdHJ1Y3Rvcigpe3N1cGVyKDEyOCw2NCwxNiwhMSksdGhpcy5BaD0xNzc5MDMzNzAzLHRoaXMuQWw9LTIwNTczMTU3Nix0aGlzLkJoPS0xMTUwODMzMDE5LHRoaXMuQmw9LTIwNjcwOTM3MDEsdGhpcy5DaD0xMDEzOTA0MjQyLHRoaXMuQ2w9LTIzNzkxNTczLHRoaXMuRGg9LTE1MjE0ODY1MzQsdGhpcy5EbD0xNTk1NzUwMTI5LHRoaXMuRWg9MTM1OTg5MzExOSx0aGlzLkVsPS0xMzc3NDAyMTU5LHRoaXMuRmg9LTE2OTQxNDQzNzIsdGhpcy5GbD03MjU1MTExOTksdGhpcy5HaD01Mjg3MzQ2MzUsdGhpcy5HbD0tNzk1Nzc3NDksdGhpcy5IaD0xNTQxNDU5MjI1LHRoaXMuSGw9MzI3MDMzMjA5fWdldCgpe2NvbnN0e0FoOmUsQWw6cixCaDpuLEJsOmksQ2g6cyxDbDpvLERoOmEsRGw6YyxFaDp1LEVsOmwsRmg6aCxGbDpmLEdoOnAsR2w6ZCxIaDpnLEhsOnl9PXRoaXM7cmV0dXJuW2UscixuLGkscyxvLGEsYyx1LGwsaCxmLHAsZCxnLHldfXNldChlLHIsbixpLHMsbyxhLGMsdSxsLGgsZixwLGQsZyx5KXt0aGlzLkFoPWV8MCx0aGlzLkFsPXJ8MCx0aGlzLkJoPW58MCx0aGlzLkJsPWl8MCx0aGlzLkNoPXN8MCx0aGlzLkNsPW98MCx0aGlzLkRoPWF8MCx0aGlzLkRsPWN8MCx0aGlzLkVoPXV8MCx0aGlzLkVsPWx8MCx0aGlzLkZoPWh8MCx0aGlzLkZsPWZ8MCx0aGlzLkdoPXB8MCx0aGlzLkdsPWR8MCx0aGlzLkhoPWd8MCx0aGlzLkhsPXl8MH1wcm9jZXNzKGUscil7Zm9yKGxldCB3PTA7dzwxNjt3Kysscis9NClqdFt3XT1lLmdldFVpbnQzMihyKSxLdFt3XT1lLmdldFVpbnQzMihyKz00KTtmb3IobGV0IHc9MTY7dzw4MDt3Kyspe2NvbnN0IG09anRbdy0xNV18MCxfPUt0W3ctMTVdfDAseD1ZLnJvdHJTSChtLF8sMSleWS5yb3RyU0gobSxfLDgpXlkuc2hyU0gobSxfLDcpLFQ9WS5yb3RyU0wobSxfLDEpXlkucm90clNMKG0sXyw4KV5ZLnNoclNMKG0sXyw3KSxCPWp0W3ctMl18MCxQPUt0W3ctMl18MCxVPVkucm90clNIKEIsUCwxOSleWS5yb3RyQkgoQixQLDYxKV5ZLnNoclNIKEIsUCw2KSxMPVkucm90clNMKEIsUCwxOSleWS5yb3RyQkwoQixQLDYxKV5ZLnNoclNMKEIsUCw2KSxDPVkuYWRkNEwoVCxMLEt0W3ctN10sS3Rbdy0xNl0pLFM9WS5hZGQ0SChDLHgsVSxqdFt3LTddLGp0W3ctMTZdKTtqdFt3XT1TfDAsS3Rbd109Q3wwfWxldHtBaDpuLEFsOmksQmg6cyxCbDpvLENoOmEsQ2w6YyxEaDp1LERsOmwsRWg6aCxFbDpmLEZoOnAsRmw6ZCxHaDpnLEdsOnksSGg6dixIbDpBfT10aGlzO2ZvcihsZXQgdz0wO3c8ODA7dysrKXtjb25zdCBtPVkucm90clNIKGgsZiwxNCleWS5yb3RyU0goaCxmLDE4KV5ZLnJvdHJCSChoLGYsNDEpLF89WS5yb3RyU0woaCxmLDE0KV5ZLnJvdHJTTChoLGYsMTgpXlkucm90ckJMKGgsZiw0MSkseD1oJnBefmgmZyxUPWYmZF5+ZiZ5LEI9WS5hZGQ1TChBLF8sVCxMZ1t3XSxLdFt3XSksUD1ZLmFkZDVIKEIsdixtLHgsVWdbd10sanRbd10pLFU9QnwwLEw9WS5yb3RyU0gobixpLDI4KV5ZLnJvdHJCSChuLGksMzQpXlkucm90ckJIKG4saSwzOSksQz1ZLnJvdHJTTChuLGksMjgpXlkucm90ckJMKG4saSwzNCleWS5yb3RyQkwobixpLDM5KSxTPW4mc15uJmFecyZhLFI9aSZvXmkmY15vJmM7dj1nfDAsQT15fDAsZz1wfDAseT1kfDAscD1ofDAsZD1mfDAse2gsbDpmfT1ZLmFkZCh1fDAsbHwwLFB8MCxVfDApLHU9YXwwLGw9Y3wwLGE9c3wwLGM9b3wwLHM9bnwwLG89aXwwO2NvbnN0IGI9WS5hZGQzTChVLEMsUik7bj1ZLmFkZDNIKGIsUCxMLFMpLGk9YnwwfSh7aDpuLGw6aX09WS5hZGQodGhpcy5BaHwwLHRoaXMuQWx8MCxufDAsaXwwKSkse2g6cyxsOm99PVkuYWRkKHRoaXMuQmh8MCx0aGlzLkJsfDAsc3wwLG98MCkse2g6YSxsOmN9PVkuYWRkKHRoaXMuQ2h8MCx0aGlzLkNsfDAsYXwwLGN8MCkse2g6dSxsfT1ZLmFkZCh0aGlzLkRofDAsdGhpcy5EbHwwLHV8MCxsfDApLHtoLGw6Zn09WS5hZGQodGhpcy5FaHwwLHRoaXMuRWx8MCxofDAsZnwwKSx7aDpwLGw6ZH09WS5hZGQodGhpcy5GaHwwLHRoaXMuRmx8MCxwfDAsZHwwKSx7aDpnLGw6eX09WS5hZGQodGhpcy5HaHwwLHRoaXMuR2x8MCxnfDAseXwwKSx7aDp2LGw6QX09WS5hZGQodGhpcy5IaHwwLHRoaXMuSGx8MCx2fDAsQXwwKSx0aGlzLnNldChuLGkscyxvLGEsYyx1LGwsaCxmLHAsZCxnLHksdixBKX1yb3VuZENsZWFuKCl7anQuZmlsbCgwKSxLdC5maWxsKDApfWRlc3Ryb3koKXt0aGlzLmJ1ZmZlci5maWxsKDApLHRoaXMuc2V0KDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDApfX07Y29uc3QgTWc9ZmcoKCk9Pm5ldyBrZyk7LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2NvbnN0IHdzPUJpZ0ludCgwKSxRYT1CaWdJbnQoMSksRmc9QmlnSW50KDIpO2Z1bmN0aW9uIG1zKHQpe3JldHVybiB0IGluc3RhbmNlb2YgVWludDhBcnJheXx8QXJyYXlCdWZmZXIuaXNWaWV3KHQpJiZ0LmNvbnN0cnVjdG9yLm5hbWU9PT0iVWludDhBcnJheSJ9ZnVuY3Rpb24gYnModCl7aWYoIW1zKHQpKXRocm93IG5ldyBFcnJvcigiVWludDhBcnJheSBleHBlY3RlZCIpfWZ1bmN0aW9uIEVzKHQsZSl7aWYodHlwZW9mIGUhPSJib29sZWFuIil0aHJvdyBuZXcgRXJyb3IodCsiIGJvb2xlYW4gZXhwZWN0ZWQsIGdvdCAiK2UpfWNvbnN0IHFnPUFycmF5LmZyb20oe2xlbmd0aDoyNTZ9LCh0LGUpPT5lLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpO2Z1bmN0aW9uIHZzKHQpe2JzKHQpO2xldCBlPSIiO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKWUrPXFnW3Rbcl1dO3JldHVybiBlfWZ1bmN0aW9uIGVjKHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoImhleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCAiK3R5cGVvZiB0KTtyZXR1cm4gdD09PSIiP3dzOkJpZ0ludCgiMHgiK3QpfWNvbnN0IEV0PXtfMDo0OCxfOTo1NyxBOjY1LEY6NzAsYTo5NyxmOjEwMn07ZnVuY3Rpb24gdGModCl7aWYodD49RXQuXzAmJnQ8PUV0Ll85KXJldHVybiB0LUV0Ll8wO2lmKHQ+PUV0LkEmJnQ8PUV0LkYpcmV0dXJuIHQtKEV0LkEtMTApO2lmKHQ+PUV0LmEmJnQ8PUV0LmYpcmV0dXJuIHQtKEV0LmEtMTApfWZ1bmN0aW9uIHJjKHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoImhleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCAiK3R5cGVvZiB0KTtjb25zdCBlPXQubGVuZ3RoLHI9ZS8yO2lmKGUlMil0aHJvdyBuZXcgRXJyb3IoImhleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCB1bnBhZGRlZCBoZXggb2YgbGVuZ3RoICIrZSk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShyKTtmb3IobGV0IGk9MCxzPTA7aTxyO2krKyxzKz0yKXtjb25zdCBvPXRjKHQuY2hhckNvZGVBdChzKSksYT10Yyh0LmNoYXJDb2RlQXQocysxKSk7aWYobz09PXZvaWQgMHx8YT09PXZvaWQgMCl7Y29uc3QgYz10W3NdK3RbcysxXTt0aHJvdyBuZXcgRXJyb3IoJ2hleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCBub24taGV4IGNoYXJhY3RlciAiJytjKyciIGF0IGluZGV4ICcrcyl9bltpXT1vKjE2K2F9cmV0dXJuIG59ZnVuY3Rpb24gemcodCl7cmV0dXJuIGVjKHZzKHQpKX1mdW5jdGlvbiBabih0KXtyZXR1cm4gYnModCksZWModnMoVWludDhBcnJheS5mcm9tKHQpLnJldmVyc2UoKSkpfWZ1bmN0aW9uIG5jKHQsZSl7cmV0dXJuIHJjKHQudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KGUqMiwiMCIpKX1mdW5jdGlvbiBfcyh0LGUpe3JldHVybiBuYyh0LGUpLnJldmVyc2UoKX1mdW5jdGlvbiB2dCh0LGUscil7bGV0IG47aWYodHlwZW9mIGU9PSJzdHJpbmciKXRyeXtuPXJjKGUpfWNhdGNoKHMpe3Rocm93IG5ldyBFcnJvcih0KyIgbXVzdCBiZSBoZXggc3RyaW5nIG9yIFVpbnQ4QXJyYXksIGNhdXNlOiAiK3MpfWVsc2UgaWYobXMoZSkpbj1VaW50OEFycmF5LmZyb20oZSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IodCsiIG11c3QgYmUgaGV4IHN0cmluZyBvciBVaW50OEFycmF5Iik7Y29uc3QgaT1uLmxlbmd0aDtpZih0eXBlb2Ygcj09Im51bWJlciImJmkhPT1yKXRocm93IG5ldyBFcnJvcih0KyIgb2YgbGVuZ3RoICIrcisiIGV4cGVjdGVkLCBnb3QgIitpKTtyZXR1cm4gbn1mdW5jdGlvbiBpYyguLi50KXtsZXQgZT0wO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBpPXRbbl07YnMoaSksZSs9aS5sZW5ndGh9Y29uc3Qgcj1uZXcgVWludDhBcnJheShlKTtmb3IobGV0IG49MCxpPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IHM9dFtuXTtyLnNldChzLGkpLGkrPXMubGVuZ3RofXJldHVybiByfWNvbnN0IHhzPXQ9PnR5cGVvZiB0PT0iYmlnaW50IiYmd3M8PXQ7ZnVuY3Rpb24gamcodCxlLHIpe3JldHVybiB4cyh0KSYmeHMoZSkmJnhzKHIpJiZlPD10JiZ0PHJ9ZnVuY3Rpb24gcm4odCxlLHIsbil7aWYoIWpnKGUscixuKSl0aHJvdyBuZXcgRXJyb3IoImV4cGVjdGVkIHZhbGlkICIrdCsiOiAiK3IrIiA8PSBuIDwgIituKyIsIGdvdCAiK2UpfWZ1bmN0aW9uIEtnKHQpe2xldCBlO2ZvcihlPTA7dD53czt0Pj49UWEsZSs9MSk7cmV0dXJuIGV9Y29uc3QgVmc9dD0+KEZnPDxCaWdJbnQodC0xKSktUWEsSGc9e2JpZ2ludDp0PT50eXBlb2YgdD09ImJpZ2ludCIsZnVuY3Rpb246dD0+dHlwZW9mIHQ9PSJmdW5jdGlvbiIsYm9vbGVhbjp0PT50eXBlb2YgdD09ImJvb2xlYW4iLHN0cmluZzp0PT50eXBlb2YgdD09InN0cmluZyIsc3RyaW5nT3JVaW50OEFycmF5OnQ9PnR5cGVvZiB0PT0ic3RyaW5nInx8bXModCksaXNTYWZlSW50ZWdlcjp0PT5OdW1iZXIuaXNTYWZlSW50ZWdlcih0KSxhcnJheTp0PT5BcnJheS5pc0FycmF5KHQpLGZpZWxkOih0LGUpPT5lLkZwLmlzVmFsaWQodCksaGFzaDp0PT50eXBlb2YgdD09ImZ1bmN0aW9uIiYmTnVtYmVyLmlzU2FmZUludGVnZXIodC5vdXRwdXRMZW4pfTtmdW5jdGlvbiBTcyh0LGUscj17fSl7Y29uc3Qgbj0oaSxzLG8pPT57Y29uc3QgYT1IZ1tzXTtpZih0eXBlb2YgYSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdmFsaWRhdG9yIGZ1bmN0aW9uIik7Y29uc3QgYz10W2ldO2lmKCEobyYmYz09PXZvaWQgMCkmJiFhKGMsdCkpdGhyb3cgbmV3IEVycm9yKCJwYXJhbSAiK1N0cmluZyhpKSsiIGlzIGludmFsaWQuIEV4cGVjdGVkICIrcysiLCBnb3QgIitjKX07Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyhlKSluKGkscywhMSk7Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyhyKSluKGkscywhMCk7cmV0dXJuIHR9ZnVuY3Rpb24gc2ModCl7Y29uc3QgZT1uZXcgV2Vha01hcDtyZXR1cm4ociwuLi5uKT0+e2NvbnN0IGk9ZS5nZXQocik7aWYoaSE9PXZvaWQgMClyZXR1cm4gaTtjb25zdCBzPXQociwuLi5uKTtyZXR1cm4gZS5zZXQocixzKSxzfX1jb25zdCBkZT1CaWdJbnQoMCksaWU9QmlnSW50KDEpLHByPUJpZ0ludCgyKSxXZz1CaWdJbnQoMyksSXM9QmlnSW50KDQpLG9jPUJpZ0ludCg1KSxhYz1CaWdJbnQoOCk7ZnVuY3Rpb24gY2UodCxlKXtjb25zdCByPXQlZTtyZXR1cm4gcj49ZGU/cjplK3J9ZnVuY3Rpb24gR2codCxlLHIpe2lmKGU8ZGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cG9uZW50LCBuZWdhdGl2ZXMgdW5zdXBwb3J0ZWQiKTtpZihyPD1kZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgbW9kdWx1cyIpO2lmKHI9PT1pZSlyZXR1cm4gZGU7bGV0IG49aWU7Zm9yKDtlPmRlOyllJmllJiYobj1uKnQlciksdD10KnQlcixlPj49aWU7cmV0dXJuIG59ZnVuY3Rpb24gaHQodCxlLHIpe2xldCBuPXQ7Zm9yKDtlLS0gPmRlOyluKj1uLG4lPXI7cmV0dXJuIG59ZnVuY3Rpb24gY2ModCxlKXtpZih0PT09ZGUpdGhyb3cgbmV3IEVycm9yKCJpbnZlcnQ6IGV4cGVjdGVkIG5vbi16ZXJvIG51bWJlciIpO2lmKGU8PWRlKXRocm93IG5ldyBFcnJvcigiaW52ZXJ0OiBleHBlY3RlZCBwb3NpdGl2ZSBtb2R1bHVzLCBnb3QgIitlKTtsZXQgcj1jZSh0LGUpLG49ZSxpPWRlLHM9aWU7Zm9yKDtyIT09ZGU7KXtjb25zdCBvPW4vcixhPW4lcixjPWktcypvO249cixyPWEsaT1zLHM9Y31pZihuIT09aWUpdGhyb3cgbmV3IEVycm9yKCJpbnZlcnQ6IGRvZXMgbm90IGV4aXN0Iik7cmV0dXJuIGNlKGksZSl9ZnVuY3Rpb24gWWcodCl7Y29uc3QgZT0odC1pZSkvcHI7bGV0IHIsbixpO2ZvcihyPXQtaWUsbj0wO3IlcHI9PT1kZTtyLz1wcixuKyspO2ZvcihpPXByO2k8dCYmR2coaSxlLHQpIT09dC1pZTtpKyspaWYoaT4xZTMpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBzcXVhcmUgcm9vdDogbGlrZWx5IG5vbi1wcmltZSBQIik7aWYobj09PTEpe2NvbnN0IG89KHQraWUpL0lzO3JldHVybiBmdW5jdGlvbihhLGMpe2NvbnN0IHU9YS5wb3coYyxvKTtpZighYS5lcWwoYS5zcXIodSksYykpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBzcXVhcmUgcm9vdCIpO3JldHVybiB1fX1jb25zdCBzPShyK2llKS9wcjtyZXR1cm4gZnVuY3Rpb24obyxhKXtpZihvLnBvdyhhLGUpPT09by5uZWcoby5PTkUpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QiKTtsZXQgYz1uLHU9by5wb3coby5tdWwoby5PTkUsaSksciksbD1vLnBvdyhhLHMpLGg9by5wb3coYSxyKTtmb3IoOyFvLmVxbChoLG8uT05FKTspe2lmKG8uZXFsKGgsby5aRVJPKSlyZXR1cm4gby5aRVJPO2xldCBmPTE7Zm9yKGxldCBkPW8uc3FyKGgpO2Y8YyYmIW8uZXFsKGQsby5PTkUpO2YrKylkPW8uc3FyKGQpO2NvbnN0IHA9by5wb3codSxpZTw8QmlnSW50KGMtZi0xKSk7dT1vLnNxcihwKSxsPW8ubXVsKGwscCksaD1vLm11bChoLHUpLGM9Zn1yZXR1cm4gbH19ZnVuY3Rpb24gWmcodCl7aWYodCVJcz09PVdnKXtjb25zdCBlPSh0K2llKS9JcztyZXR1cm4gZnVuY3Rpb24ocixuKXtjb25zdCBpPXIucG93KG4sZSk7aWYoIXIuZXFsKHIuc3FyKGkpLG4pKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QiKTtyZXR1cm4gaX19aWYodCVhYz09PW9jKXtjb25zdCBlPSh0LW9jKS9hYztyZXR1cm4gZnVuY3Rpb24ocixuKXtjb25zdCBpPXIubXVsKG4scHIpLHM9ci5wb3coaSxlKSxvPXIubXVsKG4scyksYT1yLm11bChyLm11bChvLHByKSxzKSxjPXIubXVsKG8sci5zdWIoYSxyLk9ORSkpO2lmKCFyLmVxbChyLnNxcihjKSxuKSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIHNxdWFyZSByb290Iik7cmV0dXJuIGN9fXJldHVybiBZZyh0KX1jb25zdCBYZz0odCxlKT0+KGNlKHQsZSkmaWUpPT09aWUsSmc9WyJjcmVhdGUiLCJpc1ZhbGlkIiwiaXMwIiwibmVnIiwiaW52Iiwic3FydCIsInNxciIsImVxbCIsImFkZCIsInN1YiIsIm11bCIsInBvdyIsImRpdiIsImFkZE4iLCJzdWJOIiwibXVsTiIsInNxck4iXTtmdW5jdGlvbiBRZyh0KXtjb25zdCBlPXtPUkRFUjoiYmlnaW50IixNQVNLOiJiaWdpbnQiLEJZVEVTOiJpc1NhZmVJbnRlZ2VyIixCSVRTOiJpc1NhZmVJbnRlZ2VyIn0scj1KZy5yZWR1Y2UoKG4saSk9PihuW2ldPSJmdW5jdGlvbiIsbiksZSk7cmV0dXJuIFNzKHQscil9ZnVuY3Rpb24gZXkodCxlLHIpe2lmKHI8ZGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cG9uZW50LCBuZWdhdGl2ZXMgdW5zdXBwb3J0ZWQiKTtpZihyPT09ZGUpcmV0dXJuIHQuT05FO2lmKHI9PT1pZSlyZXR1cm4gZTtsZXQgbj10Lk9ORSxpPWU7Zm9yKDtyPmRlOylyJmllJiYobj10Lm11bChuLGkpKSxpPXQuc3FyKGkpLHI+Pj1pZTtyZXR1cm4gbn1mdW5jdGlvbiB0eSh0LGUpe2NvbnN0IHI9bmV3IEFycmF5KGUubGVuZ3RoKSxuPWUucmVkdWNlKChzLG8sYSk9PnQuaXMwKG8pP3M6KHJbYV09cyx0Lm11bChzLG8pKSx0Lk9ORSksaT10LmludihuKTtyZXR1cm4gZS5yZWR1Y2VSaWdodCgocyxvLGEpPT50LmlzMChvKT9zOihyW2FdPXQubXVsKHMsclthXSksdC5tdWwocyxvKSksaSkscn1mdW5jdGlvbiB1Yyh0LGUpe2NvbnN0IHI9ZSE9PXZvaWQgMD9lOnQudG9TdHJpbmcoMikubGVuZ3RoLG49TWF0aC5jZWlsKHIvOCk7cmV0dXJue25CaXRMZW5ndGg6cixuQnl0ZUxlbmd0aDpufX1mdW5jdGlvbiBsYyh0LGUscj0hMSxuPXt9KXtpZih0PD1kZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZmllbGQ6IGV4cGVjdGVkIE9SREVSID4gMCwgZ290ICIrdCk7Y29uc3R7bkJpdExlbmd0aDppLG5CeXRlTGVuZ3RoOnN9PXVjKHQsZSk7aWYocz4yMDQ4KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmaWVsZDogZXhwZWN0ZWQgT1JERVIgb2YgPD0gMjA0OCBieXRlcyIpO2xldCBvO2NvbnN0IGE9T2JqZWN0LmZyZWV6ZSh7T1JERVI6dCxpc0xFOnIsQklUUzppLEJZVEVTOnMsTUFTSzpWZyhpKSxaRVJPOmRlLE9ORTppZSxjcmVhdGU6Yz0+Y2UoYyx0KSxpc1ZhbGlkOmM9PntpZih0eXBlb2YgYyE9ImJpZ2ludCIpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZpZWxkIGVsZW1lbnQ6IGV4cGVjdGVkIGJpZ2ludCwgZ290ICIrdHlwZW9mIGMpO3JldHVybiBkZTw9YyYmYzx0fSxpczA6Yz0+Yz09PWRlLGlzT2RkOmM9PihjJmllKT09PWllLG5lZzpjPT5jZSgtYyx0KSxlcWw6KGMsdSk9PmM9PT11LHNxcjpjPT5jZShjKmMsdCksYWRkOihjLHUpPT5jZShjK3UsdCksc3ViOihjLHUpPT5jZShjLXUsdCksbXVsOihjLHUpPT5jZShjKnUsdCkscG93OihjLHUpPT5leShhLGMsdSksZGl2OihjLHUpPT5jZShjKmNjKHUsdCksdCksc3FyTjpjPT5jKmMsYWRkTjooYyx1KT0+Yyt1LHN1Yk46KGMsdSk9PmMtdSxtdWxOOihjLHUpPT5jKnUsaW52OmM9PmNjKGMsdCksc3FydDpuLnNxcnR8fChjPT4ob3x8KG89WmcodCkpLG8oYSxjKSkpLGludmVydEJhdGNoOmM9PnR5KGEsYyksY21vdjooYyx1LGwpPT5sP3U6Yyx0b0J5dGVzOmM9PnI/X3MoYyxzKTpuYyhjLHMpLGZyb21CeXRlczpjPT57aWYoYy5sZW5ndGghPT1zKXRocm93IG5ldyBFcnJvcigiRmllbGQuZnJvbUJ5dGVzOiBleHBlY3RlZCAiK3MrIiBieXRlcywgZ290ICIrYy5sZW5ndGgpO3JldHVybiByP1puKGMpOnpnKGMpfX0pO3JldHVybiBPYmplY3QuZnJlZXplKGEpfWNvbnN0IGhjPUJpZ0ludCgwKSxYbj1CaWdJbnQoMSk7ZnVuY3Rpb24gRHModCxlKXtjb25zdCByPWUubmVnYXRlKCk7cmV0dXJuIHQ/cjplfWZ1bmN0aW9uIGZjKHQsZSl7aWYoIU51bWJlci5pc1NhZmVJbnRlZ2VyKHQpfHx0PD0wfHx0PmUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHdpbmRvdyBzaXplLCBleHBlY3RlZCBbMS4uIitlKyJdLCBnb3QgVz0iK3QpfWZ1bmN0aW9uIEFzKHQsZSl7ZmModCxlKTtjb25zdCByPU1hdGguY2VpbChlL3QpKzEsbj0yKioodC0xKTtyZXR1cm57d2luZG93czpyLHdpbmRvd1NpemU6bn19ZnVuY3Rpb24gcnkodCxlKXtpZighQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgRXJyb3IoImFycmF5IGV4cGVjdGVkIik7dC5mb3JFYWNoKChyLG4pPT57aWYoIShyIGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50IGF0IGluZGV4ICIrbil9KX1mdW5jdGlvbiBueSh0LGUpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBFcnJvcigiYXJyYXkgb2Ygc2NhbGFycyBleHBlY3RlZCIpO3QuZm9yRWFjaCgocixuKT0+e2lmKCFlLmlzVmFsaWQocikpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNjYWxhciBhdCBpbmRleCAiK24pfSl9Y29uc3QgT3M9bmV3IFdlYWtNYXAsZGM9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gVHModCl7cmV0dXJuIGRjLmdldCh0KXx8MX1mdW5jdGlvbiBpeSh0LGUpe3JldHVybntjb25zdFRpbWVOZWdhdGU6RHMsaGFzUHJlY29tcHV0ZXMocil7cmV0dXJuIFRzKHIpIT09MX0sdW5zYWZlTGFkZGVyKHIsbixpPXQuWkVSTyl7bGV0IHM9cjtmb3IoO24+aGM7KW4mWG4mJihpPWkuYWRkKHMpKSxzPXMuZG91YmxlKCksbj4+PVhuO3JldHVybiBpfSxwcmVjb21wdXRlV2luZG93KHIsbil7Y29uc3R7d2luZG93czppLHdpbmRvd1NpemU6c309QXMobixlKSxvPVtdO2xldCBhPXIsYz1hO2ZvcihsZXQgdT0wO3U8aTt1Kyspe2M9YSxvLnB1c2goYyk7Zm9yKGxldCBsPTE7bDxzO2wrKyljPWMuYWRkKGEpLG8ucHVzaChjKTthPWMuZG91YmxlKCl9cmV0dXJuIG99LHdOQUYocixuLGkpe2NvbnN0e3dpbmRvd3M6cyx3aW5kb3dTaXplOm99PUFzKHIsZSk7bGV0IGE9dC5aRVJPLGM9dC5CQVNFO2NvbnN0IHU9QmlnSW50KDIqKnItMSksbD0yKipyLGg9QmlnSW50KHIpO2ZvcihsZXQgZj0wO2Y8cztmKyspe2NvbnN0IHA9ZipvO2xldCBkPU51bWJlcihpJnUpO2k+Pj1oLGQ+byYmKGQtPWwsaSs9WG4pO2NvbnN0IGc9cCx5PXArTWF0aC5hYnMoZCktMSx2PWYlMiE9PTAsQT1kPDA7ZD09PTA/Yz1jLmFkZChEcyh2LG5bZ10pKTphPWEuYWRkKERzKEEsblt5XSkpfXJldHVybntwOmEsZjpjfX0sd05BRlVuc2FmZShyLG4saSxzPXQuWkVSTyl7Y29uc3R7d2luZG93czpvLHdpbmRvd1NpemU6YX09QXMocixlKSxjPUJpZ0ludCgyKipyLTEpLHU9MioqcixsPUJpZ0ludChyKTtmb3IobGV0IGg9MDtoPG87aCsrKXtjb25zdCBmPWgqYTtpZihpPT09aGMpYnJlYWs7bGV0IHA9TnVtYmVyKGkmYyk7aWYoaT4+PWwscD5hJiYocC09dSxpKz1YbikscD09PTApY29udGludWU7bGV0IGQ9bltmK01hdGguYWJzKHApLTFdO3A8MCYmKGQ9ZC5uZWdhdGUoKSkscz1zLmFkZChkKX1yZXR1cm4gc30sZ2V0UHJlY29tcHV0ZXMocixuLGkpe2xldCBzPU9zLmdldChuKTtyZXR1cm4gc3x8KHM9dGhpcy5wcmVjb21wdXRlV2luZG93KG4sciksciE9PTEmJk9zLnNldChuLGkocykpKSxzfSx3TkFGQ2FjaGVkKHIsbixpKXtjb25zdCBzPVRzKHIpO3JldHVybiB0aGlzLndOQUYocyx0aGlzLmdldFByZWNvbXB1dGVzKHMscixpKSxuKX0sd05BRkNhY2hlZFVuc2FmZShyLG4saSxzKXtjb25zdCBvPVRzKHIpO3JldHVybiBvPT09MT90aGlzLnVuc2FmZUxhZGRlcihyLG4scyk6dGhpcy53TkFGVW5zYWZlKG8sdGhpcy5nZXRQcmVjb21wdXRlcyhvLHIsaSksbixzKX0sc2V0V2luZG93U2l6ZShyLG4pe2ZjKG4sZSksZGMuc2V0KHIsbiksT3MuZGVsZXRlKHIpfX19ZnVuY3Rpb24gc3kodCxlLHIsbil7aWYocnkocix0KSxueShuLGUpLHIubGVuZ3RoIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJhcnJheXMgb2YgcG9pbnRzIGFuZCBzY2FsYXJzIG11c3QgaGF2ZSBlcXVhbCBsZW5ndGgiKTtjb25zdCBpPXQuWkVSTyxzPUtnKEJpZ0ludChyLmxlbmd0aCkpLG89cz4xMj9zLTM6cz40P3MtMjpzPzI6MSxhPSgxPDxvKS0xLGM9bmV3IEFycmF5KGErMSkuZmlsbChpKSx1PU1hdGguZmxvb3IoKGUuQklUUy0xKS9vKSpvO2xldCBsPWk7Zm9yKGxldCBoPXU7aD49MDtoLT1vKXtjLmZpbGwoaSk7Zm9yKGxldCBwPTA7cDxuLmxlbmd0aDtwKyspe2NvbnN0IGQ9bltwXSxnPU51bWJlcihkPj5CaWdJbnQoaCkmQmlnSW50KGEpKTtjW2ddPWNbZ10uYWRkKHJbcF0pfWxldCBmPWk7Zm9yKGxldCBwPWMubGVuZ3RoLTEsZD1pO3A+MDtwLS0pZD1kLmFkZChjW3BdKSxmPWYuYWRkKGQpO2lmKGw9bC5hZGQoZiksaCE9PTApZm9yKGxldCBwPTA7cDxvO3ArKylsPWwuZG91YmxlKCl9cmV0dXJuIGx9ZnVuY3Rpb24gb3kodCl7cmV0dXJuIFFnKHQuRnApLFNzKHQse246ImJpZ2ludCIsaDoiYmlnaW50IixHeDoiZmllbGQiLEd5OiJmaWVsZCJ9LHtuQml0TGVuZ3RoOiJpc1NhZmVJbnRlZ2VyIixuQnl0ZUxlbmd0aDoiaXNTYWZlSW50ZWdlciJ9KSxPYmplY3QuZnJlZXplKHsuLi51Yyh0Lm4sdC5uQml0TGVuZ3RoKSwuLi50LHA6dC5GcC5PUkRFUn0pfWNvbnN0IEplPUJpZ0ludCgwKSxQZT1CaWdJbnQoMSksSm49QmlnSW50KDIpLGF5PUJpZ0ludCg4KSxjeT17emlwMjE1OiEwfTtmdW5jdGlvbiB1eSh0KXtjb25zdCBlPW95KHQpO3JldHVybiBTcyh0LHtoYXNoOiJmdW5jdGlvbiIsYToiYmlnaW50IixkOiJiaWdpbnQiLHJhbmRvbUJ5dGVzOiJmdW5jdGlvbiJ9LHthZGp1c3RTY2FsYXJCeXRlczoiZnVuY3Rpb24iLGRvbWFpbjoiZnVuY3Rpb24iLHV2UmF0aW86ImZ1bmN0aW9uIixtYXBUb0N1cnZlOiJmdW5jdGlvbiJ9KSxPYmplY3QuZnJlZXplKHsuLi5lfSl9ZnVuY3Rpb24gbHkodCl7Y29uc3QgZT11eSh0KSx7RnA6cixuLHByZWhhc2g6aSxoYXNoOnMscmFuZG9tQnl0ZXM6byxuQnl0ZUxlbmd0aDphLGg6Y309ZSx1PUpuPDxCaWdJbnQoYSo4KS1QZSxsPXIuY3JlYXRlLGg9bGMoZS5uLGUubkJpdExlbmd0aCksZj1lLnV2UmF0aW98fCgoYixFKT0+e3RyeXtyZXR1cm57aXNWYWxpZDohMCx2YWx1ZTpyLnNxcnQoYipyLmludihFKSl9fWNhdGNoe3JldHVybntpc1ZhbGlkOiExLHZhbHVlOkplfX19KSxwPWUuYWRqdXN0U2NhbGFyQnl0ZXN8fChiPT5iKSxkPWUuZG9tYWlufHwoKGIsRSxEKT0+e2lmKEVzKCJwaGZsYWciLEQpLEUubGVuZ3RofHxEKXRocm93IG5ldyBFcnJvcigiQ29udGV4dHMvcHJlLWhhc2ggYXJlIG5vdCBzdXBwb3J0ZWQiKTtyZXR1cm4gYn0pO2Z1bmN0aW9uIGcoYixFKXtybigiY29vcmRpbmF0ZSAiK2IsRSxKZSx1KX1mdW5jdGlvbiB5KGIpe2lmKCEoYiBpbnN0YW5jZW9mIHcpKXRocm93IG5ldyBFcnJvcigiRXh0ZW5kZWRQb2ludCBleHBlY3RlZCIpfWNvbnN0IHY9c2MoKGIsRSk9Pntjb25zdHtleDpELGV5Ok8sZXo6SX09YixOPWIuaXMwKCk7RT09bnVsbCYmKEU9Tj9heTpyLmludihJKSk7Y29uc3QgJD1sKEQqRSksaz1sKE8qRSksej1sKEkqRSk7aWYoTilyZXR1cm57eDpKZSx5OlBlfTtpZih6IT09UGUpdGhyb3cgbmV3IEVycm9yKCJpbnZaIHdhcyBpbnZhbGlkIik7cmV0dXJue3g6JCx5Omt9fSksQT1zYyhiPT57Y29uc3R7YTpFLGQ6RH09ZTtpZihiLmlzMCgpKXRocm93IG5ldyBFcnJvcigiYmFkIHBvaW50OiBaRVJPIik7Y29uc3R7ZXg6TyxleTpJLGV6Ok4sZXQ6JH09YixrPWwoTypPKSx6PWwoSSpJKSxqPWwoTipOKSxxPWwoaipqKSxWPWwoaypFKSxXPWwoaipsKFYreikpLEc9bChxK2woRCpsKGsqeikpKTtpZihXIT09Ryl0aHJvdyBuZXcgRXJyb3IoImJhZCBwb2ludDogZXF1YXRpb24gbGVmdCAhPSByaWdodCAoMSkiKTtjb25zdCBIPWwoTypJKSxYPWwoTiokKTtpZihIIT09WCl0aHJvdyBuZXcgRXJyb3IoImJhZCBwb2ludDogZXF1YXRpb24gbGVmdCAhPSByaWdodCAoMikiKTtyZXR1cm4hMH0pO2NsYXNzIHd7Y29uc3RydWN0b3IoRSxELE8sSSl7dGhpcy5leD1FLHRoaXMuZXk9RCx0aGlzLmV6PU8sdGhpcy5ldD1JLGcoIngiLEUpLGcoInkiLEQpLGcoInoiLE8pLGcoInQiLEkpLE9iamVjdC5mcmVlemUodGhpcyl9Z2V0IHgoKXtyZXR1cm4gdGhpcy50b0FmZmluZSgpLnh9Z2V0IHkoKXtyZXR1cm4gdGhpcy50b0FmZmluZSgpLnl9c3RhdGljIGZyb21BZmZpbmUoRSl7aWYoRSBpbnN0YW5jZW9mIHcpdGhyb3cgbmV3IEVycm9yKCJleHRlbmRlZCBwb2ludCBub3QgYWxsb3dlZCIpO2NvbnN0e3g6RCx5Ok99PUV8fHt9O3JldHVybiBnKCJ4IixEKSxnKCJ5IixPKSxuZXcgdyhELE8sUGUsbChEKk8pKX1zdGF0aWMgbm9ybWFsaXplWihFKXtjb25zdCBEPXIuaW52ZXJ0QmF0Y2goRS5tYXAoTz0+Ty5leikpO3JldHVybiBFLm1hcCgoTyxJKT0+Ty50b0FmZmluZShEW0ldKSkubWFwKHcuZnJvbUFmZmluZSl9c3RhdGljIG1zbShFLEQpe3JldHVybiBzeSh3LGgsRSxEKX1fc2V0V2luZG93U2l6ZShFKXt4LnNldFdpbmRvd1NpemUodGhpcyxFKX1hc3NlcnRWYWxpZGl0eSgpe0EodGhpcyl9ZXF1YWxzKEUpe3koRSk7Y29uc3R7ZXg6RCxleTpPLGV6Okl9PXRoaXMse2V4Ok4sZXk6JCxlejprfT1FLHo9bChEKmspLGo9bChOKkkpLHE9bChPKmspLFY9bCgkKkkpO3JldHVybiB6PT09aiYmcT09PVZ9aXMwKCl7cmV0dXJuIHRoaXMuZXF1YWxzKHcuWkVSTyl9bmVnYXRlKCl7cmV0dXJuIG5ldyB3KGwoLXRoaXMuZXgpLHRoaXMuZXksdGhpcy5leixsKC10aGlzLmV0KSl9ZG91YmxlKCl7Y29uc3R7YTpFfT1lLHtleDpELGV5Ok8sZXo6SX09dGhpcyxOPWwoRCpEKSwkPWwoTypPKSxrPWwoSm4qbChJKkkpKSx6PWwoRSpOKSxqPUQrTyxxPWwobChqKmopLU4tJCksVj16KyQsVz1WLWssRz16LSQsSD1sKHEqVyksWD1sKFYqRyksYWU9bChxKkcpLERlPWwoVypWKTtyZXR1cm4gbmV3IHcoSCxYLERlLGFlKX1hZGQoRSl7eShFKTtjb25zdHthOkQsZDpPfT1lLHtleDpJLGV5Ok4sZXo6JCxldDprfT10aGlzLHtleDp6LGV5OmosZXo6cSxldDpWfT1FO2lmKEQ9PT1CaWdJbnQoLTEpKXtjb25zdCBMZj1sKChOLUkpKihqK3opKSxrZj1sKChOK0kpKihqLXopKSxnYT1sKGtmLUxmKTtpZihnYT09PUplKXJldHVybiB0aGlzLmRvdWJsZSgpO2NvbnN0IE1mPWwoJCpKbipWKSxGZj1sKGsqSm4qcSkscWY9RmYrTWYsemY9a2YrTGYsamY9RmYtTWYsSFM9bChxZipnYSksV1M9bCh6ZipqZiksR1M9bChxZipqZiksWVM9bChnYSp6Zik7cmV0dXJuIG5ldyB3KEhTLFdTLFlTLEdTKX1jb25zdCBXPWwoSSp6KSxHPWwoTipqKSxIPWwoaypPKlYpLFg9bCgkKnEpLGFlPWwoKEkrTikqKHoraiktVy1HKSxEZT1YLUgsQWU9WCtILGF0PWwoRy1EKlcpLGN0PWwoYWUqRGUpLFppPWwoQWUqYXQpLEtTPWwoYWUqYXQpLFZTPWwoRGUqQWUpO3JldHVybiBuZXcgdyhjdCxaaSxWUyxLUyl9c3VidHJhY3QoRSl7cmV0dXJuIHRoaXMuYWRkKEUubmVnYXRlKCkpfXdOQUYoRSl7cmV0dXJuIHgud05BRkNhY2hlZCh0aGlzLEUsdy5ub3JtYWxpemVaKX1tdWx0aXBseShFKXtjb25zdCBEPUU7cm4oInNjYWxhciIsRCxQZSxuKTtjb25zdHtwOk8sZjpJfT10aGlzLndOQUYoRCk7cmV0dXJuIHcubm9ybWFsaXplWihbTyxJXSlbMF19bXVsdGlwbHlVbnNhZmUoRSxEPXcuWkVSTyl7Y29uc3QgTz1FO3JldHVybiBybigic2NhbGFyIixPLEplLG4pLE89PT1KZT9fOnRoaXMuaXMwKCl8fE89PT1QZT90aGlzOngud05BRkNhY2hlZFVuc2FmZSh0aGlzLE8sdy5ub3JtYWxpemVaLEQpfWlzU21hbGxPcmRlcigpe3JldHVybiB0aGlzLm11bHRpcGx5VW5zYWZlKGMpLmlzMCgpfWlzVG9yc2lvbkZyZWUoKXtyZXR1cm4geC51bnNhZmVMYWRkZXIodGhpcyxuKS5pczAoKX10b0FmZmluZShFKXtyZXR1cm4gdih0aGlzLEUpfWNsZWFyQ29mYWN0b3IoKXtjb25zdHtoOkV9PWU7cmV0dXJuIEU9PT1QZT90aGlzOnRoaXMubXVsdGlwbHlVbnNhZmUoRSl9c3RhdGljIGZyb21IZXgoRSxEPSExKXtjb25zdHtkOk8sYTpJfT1lLE49ci5CWVRFUztFPXZ0KCJwb2ludEhleCIsRSxOKSxFcygiemlwMjE1IixEKTtjb25zdCAkPUUuc2xpY2UoKSxrPUVbTi0xXTskW04tMV09ayYtMTI5O2NvbnN0IHo9Wm4oJCksaj1EP3U6ci5PUkRFUjtybigicG9pbnRIZXgueSIseixKZSxqKTtjb25zdCBxPWwoeip6KSxWPWwocS1QZSksVz1sKE8qcS1JKTtsZXR7aXNWYWxpZDpHLHZhbHVlOkh9PWYoVixXKTtpZighRyl0aHJvdyBuZXcgRXJyb3IoIlBvaW50LmZyb21IZXg6IGludmFsaWQgeSBjb29yZGluYXRlIik7Y29uc3QgWD0oSCZQZSk9PT1QZSxhZT0oayYxMjgpIT09MDtpZighRCYmSD09PUplJiZhZSl0aHJvdyBuZXcgRXJyb3IoIlBvaW50LmZyb21IZXg6IHg9MCBhbmQgeF8wPTEiKTtyZXR1cm4gYWUhPT1YJiYoSD1sKC1IKSksdy5mcm9tQWZmaW5lKHt4OkgseTp6fSl9c3RhdGljIGZyb21Qcml2YXRlS2V5KEUpe3JldHVybiBQKEUpLnBvaW50fXRvUmF3Qnl0ZXMoKXtjb25zdHt4OkUseTpEfT10aGlzLnRvQWZmaW5lKCksTz1fcyhELHIuQllURVMpO3JldHVybiBPW08ubGVuZ3RoLTFdfD1FJlBlPzEyODowLE99dG9IZXgoKXtyZXR1cm4gdnModGhpcy50b1Jhd0J5dGVzKCkpfX13LkJBU0U9bmV3IHcoZS5HeCxlLkd5LFBlLGwoZS5HeCplLkd5KSksdy5aRVJPPW5ldyB3KEplLFBlLFBlLEplKTtjb25zdHtCQVNFOm0sWkVSTzpffT13LHg9aXkodyxhKjgpO2Z1bmN0aW9uIFQoYil7cmV0dXJuIGNlKGIsbil9ZnVuY3Rpb24gQihiKXtyZXR1cm4gVChabihiKSl9ZnVuY3Rpb24gUChiKXtjb25zdCBFPXIuQllURVM7Yj12dCgicHJpdmF0ZSBrZXkiLGIsRSk7Y29uc3QgRD12dCgiaGFzaGVkIHByaXZhdGUga2V5IixzKGIpLDIqRSksTz1wKEQuc2xpY2UoMCxFKSksST1ELnNsaWNlKEUsMipFKSxOPUIoTyksJD1tLm11bHRpcGx5KE4pLGs9JC50b1Jhd0J5dGVzKCk7cmV0dXJue2hlYWQ6TyxwcmVmaXg6SSxzY2FsYXI6Tixwb2ludDokLHBvaW50Qnl0ZXM6a319ZnVuY3Rpb24gVShiKXtyZXR1cm4gUChiKS5wb2ludEJ5dGVzfWZ1bmN0aW9uIEwoYj1uZXcgVWludDhBcnJheSwuLi5FKXtjb25zdCBEPWljKC4uLkUpO3JldHVybiBCKHMoZChELHZ0KCJjb250ZXh0IixiKSwhIWkpKSl9ZnVuY3Rpb24gQyhiLEUsRD17fSl7Yj12dCgibWVzc2FnZSIsYiksaSYmKGI9aShiKSk7Y29uc3R7cHJlZml4Ok8sc2NhbGFyOkkscG9pbnRCeXRlczpOfT1QKEUpLCQ9TChELmNvbnRleHQsTyxiKSxrPW0ubXVsdGlwbHkoJCkudG9SYXdCeXRlcygpLHo9TChELmNvbnRleHQsayxOLGIpLGo9VCgkK3oqSSk7cm4oInNpZ25hdHVyZS5zIixqLEplLG4pO2NvbnN0IHE9aWMoayxfcyhqLHIuQllURVMpKTtyZXR1cm4gdnQoInJlc3VsdCIscSxyLkJZVEVTKjIpfWNvbnN0IFM9Y3k7ZnVuY3Rpb24gUihiLEUsRCxPPVMpe2NvbnN0e2NvbnRleHQ6SSx6aXAyMTU6Tn09TywkPXIuQllURVM7Yj12dCgic2lnbmF0dXJlIixiLDIqJCksRT12dCgibWVzc2FnZSIsRSksRD12dCgicHVibGljS2V5IixELCQpLE4hPT12b2lkIDAmJkVzKCJ6aXAyMTUiLE4pLGkmJihFPWkoRSkpO2NvbnN0IGs9Wm4oYi5zbGljZSgkLDIqJCkpO2xldCB6LGoscTt0cnl7ej13LmZyb21IZXgoRCxOKSxqPXcuZnJvbUhleChiLnNsaWNlKDAsJCksTikscT1tLm11bHRpcGx5VW5zYWZlKGspfWNhdGNoe3JldHVybiExfWlmKCFOJiZ6LmlzU21hbGxPcmRlcigpKXJldHVybiExO2NvbnN0IFY9TChJLGoudG9SYXdCeXRlcygpLHoudG9SYXdCeXRlcygpLEUpO3JldHVybiBqLmFkZCh6Lm11bHRpcGx5VW5zYWZlKFYpKS5zdWJ0cmFjdChxKS5jbGVhckNvZmFjdG9yKCkuZXF1YWxzKHcuWkVSTyl9cmV0dXJuIG0uX3NldFdpbmRvd1NpemUoOCkse0NVUlZFOmUsZ2V0UHVibGljS2V5OlUsc2lnbjpDLHZlcmlmeTpSLEV4dGVuZGVkUG9pbnQ6dyx1dGlsczp7Z2V0RXh0ZW5kZWRQdWJsaWNLZXk6UCxyYW5kb21Qcml2YXRlS2V5OigpPT5vKHIuQllURVMpLHByZWNvbXB1dGUoYj04LEU9dy5CQVNFKXtyZXR1cm4gRS5fc2V0V2luZG93U2l6ZShiKSxFLm11bHRpcGx5KEJpZ0ludCgzKSksRX19fX1CaWdJbnQoMCksQmlnSW50KDEpO2NvbnN0IEJzPUJpZ0ludCgiNTc4OTYwNDQ2MTg2NTgwOTc3MTE3ODU0OTI1MDQzNDM5NTM5MjY2MzQ5OTIzMzI4MjAyODIwMTk3Mjg3OTIwMDM5NTY1NjQ4MTk5NDkiKSxwYz1CaWdJbnQoIjE5NjgxMTYxMzc2NzA3NTA1OTU2ODA3MDc5MzA0OTg4NTQyMDE1NDQ2MDY2NTE1OTIzODkwMTYyNzQ0MDIxMDczMTIzODI5Nzg0NzUyIik7QmlnSW50KDApO2NvbnN0IGh5PUJpZ0ludCgxKSxnYz1CaWdJbnQoMik7QmlnSW50KDMpO2NvbnN0IGZ5PUJpZ0ludCg1KSxkeT1CaWdJbnQoOCk7ZnVuY3Rpb24gcHkodCl7Y29uc3QgZT1CaWdJbnQoMTApLHI9QmlnSW50KDIwKSxuPUJpZ0ludCg0MCksaT1CaWdJbnQoODApLHM9QnMsbz10KnQlcyp0JXMsYT1odChvLGdjLHMpKm8lcyxjPWh0KGEsaHkscykqdCVzLHU9aHQoYyxmeSxzKSpjJXMsbD1odCh1LGUscykqdSVzLGg9aHQobCxyLHMpKmwlcyxmPWh0KGgsbixzKSpoJXMscD1odChmLGkscykqZiVzLGQ9aHQocCxpLHMpKmYlcyxnPWh0KGQsZSxzKSp1JXM7cmV0dXJue3Bvd19wXzVfODpodChnLGdjLHMpKnQlcyxiMjpvfX1mdW5jdGlvbiBneSh0KXtyZXR1cm4gdFswXSY9MjQ4LHRbMzFdJj0xMjcsdFszMV18PTY0LHR9ZnVuY3Rpb24geXkodCxlKXtjb25zdCByPUJzLG49Y2UoZSplKmUsciksaT1jZShuKm4qZSxyKSxzPXB5KHQqaSkucG93X3BfNV84O2xldCBvPWNlKHQqbipzLHIpO2NvbnN0IGE9Y2UoZSpvKm8sciksYz1vLHU9Y2UobypwYyxyKSxsPWE9PT10LGg9YT09PWNlKC10LHIpLGY9YT09PWNlKC10KnBjLHIpO3JldHVybiBsJiYobz1jKSwoaHx8ZikmJihvPXUpLFhnKG8scikmJihvPWNlKC1vLHIpKSx7aXNWYWxpZDpsfHxoLHZhbHVlOm99fWNvbnN0IHd5PWxjKEJzLHZvaWQgMCwhMCksbXk9e2E6QmlnSW50KC0xKSxkOkJpZ0ludCgiMzcwOTU3MDU5MzQ2Njk0MzkzNDMxMzgwODM1MDg3NTQ1NjUxODk1NDIxMTM4Nzk4NDMyMTkwMTYzODg3ODU1MzMwODU5NDAyODM1NTUiKSxGcDp3eSxuOkJpZ0ludCgiNzIzNzAwNTU3NzMzMjI2MjIxMzk3MzE4NjU2MzA0Mjk5NDI0MDg1NzExNjM1OTM3OTkwNzYwNjAwMTk1MDkzODI4NTQ1NDI1MDk4OSIpLGg6ZHksR3g6QmlnSW50KCIxNTExMjIyMTM0OTUzNTQwMDc3MjUwMTE1MTQwOTU4ODUzMTUxMTQ1NDAxMjY5MzA0MTg1NzIwNjA0NjExMzI4Mzk0OTg0Nzc2MjIwMiIpLEd5OkJpZ0ludCgiNDYzMTY4MzU2OTQ5MjY0NzgxNjk0MjgzOTQwMDM0NzUxNjMxNDEzMDc5OTM4NjYyNTYyMjU2MTU3ODMwMzM2MDMxNjUyNTE4NTU5NjAiKSxoYXNoOk1nLHJhbmRvbUJ5dGVzOlhhLGFkanVzdFNjYWxhckJ5dGVzOmd5LHV2UmF0aW86eXl9LHljPWx5KG15KSxieT0iRWREU0EiLEV5PSJKV1QiLFFuPSIuIixlaT0iYmFzZTY0dXJsIix3Yz0idXRmOCIsbWM9InV0ZjgiLHZ5PSI6IixfeT0iZGlkIix4eT0ia2V5IixiYz0iYmFzZTU4YnRjIixTeT0ieiIsSXk9IkszNiIsRHk9MzI7ZnVuY3Rpb24gUnModCl7cmV0dXJuIGdsb2JhbFRoaXMuQnVmZmVyIT1udWxsP25ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpOnR9ZnVuY3Rpb24gRWModD0wKXtyZXR1cm4gZ2xvYmFsVGhpcy5CdWZmZXIhPW51bGwmJmdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jVW5zYWZlIT1udWxsP1JzKGdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jVW5zYWZlKHQpKTpuZXcgVWludDhBcnJheSh0KX1mdW5jdGlvbiB2Yyh0LGUpe2V8fChlPXQucmVkdWNlKChpLHMpPT5pK3MubGVuZ3RoLDApKTtjb25zdCByPUVjKGUpO2xldCBuPTA7Zm9yKGNvbnN0IGkgb2YgdClyLnNldChpLG4pLG4rPWkubGVuZ3RoO3JldHVybiBScyhyKX1mdW5jdGlvbiBBeSh0LGUpe2lmKHQubGVuZ3RoPj0yNTUpdGhyb3cgbmV3IFR5cGVFcnJvcigiQWxwaGFiZXQgdG9vIGxvbmciKTtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoMjU2KSxuPTA7bjxyLmxlbmd0aDtuKyspcltuXT0yNTU7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBzPXQuY2hhckF0KGkpLG89cy5jaGFyQ29kZUF0KDApO2lmKHJbb10hPT0yNTUpdGhyb3cgbmV3IFR5cGVFcnJvcihzKyIgaXMgYW1iaWd1b3VzIik7cltvXT1pfXZhciBhPXQubGVuZ3RoLGM9dC5jaGFyQXQoMCksdT1NYXRoLmxvZyhhKS9NYXRoLmxvZygyNTYpLGw9TWF0aC5sb2coMjU2KS9NYXRoLmxvZyhhKTtmdW5jdGlvbiBoKGQpe2lmKGQgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwoQXJyYXlCdWZmZXIuaXNWaWV3KGQpP2Q9bmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsZC5ieXRlT2Zmc2V0LGQuYnl0ZUxlbmd0aCk6QXJyYXkuaXNBcnJheShkKSYmKGQ9VWludDhBcnJheS5mcm9tKGQpKSksIShkIGluc3RhbmNlb2YgVWludDhBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgVWludDhBcnJheSIpO2lmKGQubGVuZ3RoPT09MClyZXR1cm4iIjtmb3IodmFyIGc9MCx5PTAsdj0wLEE9ZC5sZW5ndGg7diE9PUEmJmRbdl09PT0wOyl2KyssZysrO2Zvcih2YXIgdz0oQS12KSpsKzE+Pj4wLG09bmV3IFVpbnQ4QXJyYXkodyk7diE9PUE7KXtmb3IodmFyIF89ZFt2XSx4PTAsVD13LTE7KF8hPT0wfHx4PHkpJiZUIT09LTE7VC0tLHgrKylfKz0yNTYqbVtUXT4+PjAsbVtUXT1fJWE+Pj4wLF89Xy9hPj4+MDtpZihfIT09MCl0aHJvdyBuZXcgRXJyb3IoIk5vbi16ZXJvIGNhcnJ5Iik7eT14LHYrK31mb3IodmFyIEI9dy15O0IhPT13JiZtW0JdPT09MDspQisrO2Zvcih2YXIgUD1jLnJlcGVhdChnKTtCPHc7KytCKVArPXQuY2hhckF0KG1bQl0pO3JldHVybiBQfWZ1bmN0aW9uIGYoZCl7aWYodHlwZW9mIGQhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIFN0cmluZyIpO2lmKGQubGVuZ3RoPT09MClyZXR1cm4gbmV3IFVpbnQ4QXJyYXk7dmFyIGc9MDtpZihkW2ddIT09IiAiKXtmb3IodmFyIHk9MCx2PTA7ZFtnXT09PWM7KXkrKyxnKys7Zm9yKHZhciBBPShkLmxlbmd0aC1nKSp1KzE+Pj4wLHc9bmV3IFVpbnQ4QXJyYXkoQSk7ZFtnXTspe3ZhciBtPXJbZC5jaGFyQ29kZUF0KGcpXTtpZihtPT09MjU1KXJldHVybjtmb3IodmFyIF89MCx4PUEtMTsobSE9PTB8fF88dikmJnghPT0tMTt4LS0sXysrKW0rPWEqd1t4XT4+PjAsd1t4XT1tJTI1Nj4+PjAsbT1tLzI1Nj4+PjA7aWYobSE9PTApdGhyb3cgbmV3IEVycm9yKCJOb24temVybyBjYXJyeSIpO3Y9XyxnKyt9aWYoZFtnXSE9PSIgIil7Zm9yKHZhciBUPUEtdjtUIT09QSYmd1tUXT09PTA7KVQrKztmb3IodmFyIEI9bmV3IFVpbnQ4QXJyYXkoeSsoQS1UKSksUD15O1QhPT1BOylCW1ArK109d1tUKytdO3JldHVybiBCfX19ZnVuY3Rpb24gcChkKXt2YXIgZz1mKGQpO2lmKGcpcmV0dXJuIGc7dGhyb3cgbmV3IEVycm9yKGBOb24tJHtlfSBjaGFyYWN0ZXJgKX1yZXR1cm57ZW5jb2RlOmgsZGVjb2RlVW5zYWZlOmYsZGVjb2RlOnB9fXZhciBPeT1BeSxUeT1PeTtjb25zdCBfYz10PT57aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkmJnQuY29uc3RydWN0b3IubmFtZT09PSJVaW50OEFycmF5IilyZXR1cm4gdDtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIG5ldyBVaW50OEFycmF5KHQpO2lmKEFycmF5QnVmZmVyLmlzVmlldyh0KSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCk7dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHR5cGUsIG11c3QgYmUgYmluYXJ5IHR5cGUiKX0sQnk9dD0+bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHQpLFJ5PXQ9Pm5ldyBUZXh0RGVjb2RlcigpLmRlY29kZSh0KTtsZXQgTnk9Y2xhc3N7Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMubmFtZT1lLHRoaXMucHJlZml4PXIsdGhpcy5iYXNlRW5jb2RlPW59ZW5jb2RlKGUpe2lmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybmAke3RoaXMucHJlZml4fSR7dGhpcy5iYXNlRW5jb2RlKGUpfWA7dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZSwgbXVzdCBiZSBiaW5hcnkgdHlwZSIpfX0sUHk9Y2xhc3N7Y29uc3RydWN0b3IoZSxyLG4pe2lmKHRoaXMubmFtZT1lLHRoaXMucHJlZml4PXIsci5jb2RlUG9pbnRBdCgwKT09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcHJlZml4IGNoYXJhY3RlciIpO3RoaXMucHJlZml4Q29kZVBvaW50PXIuY29kZVBvaW50QXQoMCksdGhpcy5iYXNlRGVjb2RlPW59ZGVjb2RlKGUpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIil7aWYoZS5jb2RlUG9pbnRBdCgwKSE9PXRoaXMucHJlZml4Q29kZVBvaW50KXRocm93IEVycm9yKGBVbmFibGUgdG8gZGVjb2RlIG11bHRpYmFzZSBzdHJpbmcgJHtKU09OLnN0cmluZ2lmeShlKX0sICR7dGhpcy5uYW1lfSBkZWNvZGVyIG9ubHkgc3VwcG9ydHMgaW5wdXRzIHByZWZpeGVkIHdpdGggJHt0aGlzLnByZWZpeH1gKTtyZXR1cm4gdGhpcy5iYXNlRGVjb2RlKGUuc2xpY2UodGhpcy5wcmVmaXgubGVuZ3RoKSl9ZWxzZSB0aHJvdyBFcnJvcigiQ2FuIG9ubHkgbXVsdGliYXNlIGRlY29kZSBzdHJpbmdzIil9b3IoZSl7cmV0dXJuIHhjKHRoaXMsZSl9fSwkeT1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmRlY29kZXJzPWV9b3IoZSl7cmV0dXJuIHhjKHRoaXMsZSl9ZGVjb2RlKGUpe2NvbnN0IHI9ZVswXSxuPXRoaXMuZGVjb2RlcnNbcl07aWYobilyZXR1cm4gbi5kZWNvZGUoZSk7dGhyb3cgUmFuZ2VFcnJvcihgVW5hYmxlIHRvIGRlY29kZSBtdWx0aWJhc2Ugc3RyaW5nICR7SlNPTi5zdHJpbmdpZnkoZSl9LCBvbmx5IGlucHV0cyBwcmVmaXhlZCB3aXRoICR7T2JqZWN0LmtleXModGhpcy5kZWNvZGVycyl9IGFyZSBzdXBwb3J0ZWRgKX19O2NvbnN0IHhjPSh0LGUpPT5uZXcgJHkoey4uLnQuZGVjb2RlcnN8fHtbdC5wcmVmaXhdOnR9LC4uLmUuZGVjb2RlcnN8fHtbZS5wcmVmaXhdOmV9fSk7bGV0IEN5PWNsYXNze2NvbnN0cnVjdG9yKGUscixuLGkpe3RoaXMubmFtZT1lLHRoaXMucHJlZml4PXIsdGhpcy5iYXNlRW5jb2RlPW4sdGhpcy5iYXNlRGVjb2RlPWksdGhpcy5lbmNvZGVyPW5ldyBOeShlLHIsbiksdGhpcy5kZWNvZGVyPW5ldyBQeShlLHIsaSl9ZW5jb2RlKGUpe3JldHVybiB0aGlzLmVuY29kZXIuZW5jb2RlKGUpfWRlY29kZShlKXtyZXR1cm4gdGhpcy5kZWNvZGVyLmRlY29kZShlKX19O2NvbnN0IHRpPSh7bmFtZTp0LHByZWZpeDplLGVuY29kZTpyLGRlY29kZTpufSk9Pm5ldyBDeSh0LGUscixuKSxubj0oe3ByZWZpeDp0LG5hbWU6ZSxhbHBoYWJldDpyfSk9Pntjb25zdHtlbmNvZGU6bixkZWNvZGU6aX09VHkocixlKTtyZXR1cm4gdGkoe3ByZWZpeDp0LG5hbWU6ZSxlbmNvZGU6bixkZWNvZGU6cz0+X2MoaShzKSl9KX0sVXk9KHQsZSxyLG4pPT57Y29uc3QgaT17fTtmb3IobGV0IGw9MDtsPGUubGVuZ3RoOysrbClpW2VbbF1dPWw7bGV0IHM9dC5sZW5ndGg7Zm9yKDt0W3MtMV09PT0iPSI7KS0tcztjb25zdCBvPW5ldyBVaW50OEFycmF5KHMqci84fDApO2xldCBhPTAsYz0wLHU9MDtmb3IobGV0IGw9MDtsPHM7KytsKXtjb25zdCBoPWlbdFtsXV07aWYoaD09PXZvaWQgMCl0aHJvdyBuZXcgU3ludGF4RXJyb3IoYE5vbi0ke259IGNoYXJhY3RlcmApO2M9Yzw8cnxoLGErPXIsYT49OCYmKGEtPTgsb1t1KytdPTI1NSZjPj5hKX1pZihhPj1yfHwyNTUmYzw8OC1hKXRocm93IG5ldyBTeW50YXhFcnJvcigiVW5leHBlY3RlZCBlbmQgb2YgZGF0YSIpO3JldHVybiBvfSxMeT0odCxlLHIpPT57Y29uc3Qgbj1lW2UubGVuZ3RoLTFdPT09Ij0iLGk9KDE8PHIpLTE7bGV0IHM9IiIsbz0wLGE9MDtmb3IobGV0IGM9MDtjPHQubGVuZ3RoOysrYylmb3IoYT1hPDw4fHRbY10sbys9ODtvPnI7KW8tPXIscys9ZVtpJmE+Pm9dO2lmKG8mJihzKz1lW2kmYTw8ci1vXSksbilmb3IoO3MubGVuZ3RoKnImNzspcys9Ij0iO3JldHVybiBzfSx3ZT0oe25hbWU6dCxwcmVmaXg6ZSxiaXRzUGVyQ2hhcjpyLGFscGhhYmV0Om59KT0+dGkoe3ByZWZpeDplLG5hbWU6dCxlbmNvZGUoaSl7cmV0dXJuIEx5KGksbixyKX0sZGVjb2RlKGkpe3JldHVybiBVeShpLG4scix0KX19KSxreT10aSh7cHJlZml4OiJcMCIsbmFtZToiaWRlbnRpdHkiLGVuY29kZTp0PT5SeSh0KSxkZWNvZGU6dD0+QnkodCl9KTt2YXIgTXk9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsaWRlbnRpdHk6a3l9KTtjb25zdCBGeT13ZSh7cHJlZml4OiIwIixuYW1lOiJiYXNlMiIsYWxwaGFiZXQ6IjAxIixiaXRzUGVyQ2hhcjoxfSk7dmFyIHF5PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UyOkZ5fSk7Y29uc3Qgenk9d2Uoe3ByZWZpeDoiNyIsbmFtZToiYmFzZTgiLGFscGhhYmV0OiIwMTIzNDU2NyIsYml0c1BlckNoYXI6M30pO3ZhciBqeT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlODp6eX0pO2NvbnN0IEt5PW5uKHtwcmVmaXg6IjkiLG5hbWU6ImJhc2UxMCIsYWxwaGFiZXQ6IjAxMjM0NTY3ODkifSk7dmFyIFZ5PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UxMDpLeX0pO2NvbnN0IEh5PXdlKHtwcmVmaXg6ImYiLG5hbWU6ImJhc2UxNiIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlhYmNkZWYiLGJpdHNQZXJDaGFyOjR9KSxXeT13ZSh7cHJlZml4OiJGIixuYW1lOiJiYXNlMTZ1cHBlciIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlBQkNERUYiLGJpdHNQZXJDaGFyOjR9KTt2YXIgR3k9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTE2Okh5LGJhc2UxNnVwcGVyOld5fSk7Y29uc3QgWXk9d2Uoe3ByZWZpeDoiYiIsbmFtZToiYmFzZTMyIixhbHBoYWJldDoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoyMzQ1NjciLGJpdHNQZXJDaGFyOjV9KSxaeT13ZSh7cHJlZml4OiJCIixuYW1lOiJiYXNlMzJ1cHBlciIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMjM0NTY3IixiaXRzUGVyQ2hhcjo1fSksWHk9d2Uoe3ByZWZpeDoiYyIsbmFtZToiYmFzZTMycGFkIixhbHBoYWJldDoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoyMzQ1Njc9IixiaXRzUGVyQ2hhcjo1fSksSnk9d2Uoe3ByZWZpeDoiQyIsbmFtZToiYmFzZTMycGFkdXBwZXIiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2Nz0iLGJpdHNQZXJDaGFyOjV9KSxReT13ZSh7cHJlZml4OiJ2IixuYW1lOiJiYXNlMzJoZXgiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1diIsYml0c1BlckNoYXI6NX0pLGUwPXdlKHtwcmVmaXg6IlYiLG5hbWU6ImJhc2UzMmhleHVwcGVyIixhbHBoYWJldDoiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVYiLGJpdHNQZXJDaGFyOjV9KSx0MD13ZSh7cHJlZml4OiJ0IixuYW1lOiJiYXNlMzJoZXhwYWQiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dj0iLGJpdHNQZXJDaGFyOjV9KSxyMD13ZSh7cHJlZml4OiJUIixuYW1lOiJiYXNlMzJoZXhwYWR1cHBlciIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWPSIsYml0c1BlckNoYXI6NX0pLG4wPXdlKHtwcmVmaXg6ImgiLG5hbWU6ImJhc2UzMnoiLGFscGhhYmV0OiJ5Ym5kcmZnOGVqa21jcHF4b3QxdXdpc3phMzQ1aDc2OSIsYml0c1BlckNoYXI6NX0pO3ZhciBpMD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMzI6WXksYmFzZTMydXBwZXI6WnksYmFzZTMycGFkOlh5LGJhc2UzMnBhZHVwcGVyOkp5LGJhc2UzMmhleDpReSxiYXNlMzJoZXh1cHBlcjplMCxiYXNlMzJoZXhwYWQ6dDAsYmFzZTMyaGV4cGFkdXBwZXI6cjAsYmFzZTMyejpuMH0pO2NvbnN0IHMwPW5uKHtwcmVmaXg6ImsiLG5hbWU6ImJhc2UzNiIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiJ9KSxvMD1ubih7cHJlZml4OiJLIixuYW1lOiJiYXNlMzZ1cHBlciIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiJ9KTt2YXIgYTA9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTM2OnMwLGJhc2UzNnVwcGVyOm8wfSk7Y29uc3QgYzA9bm4oe25hbWU6ImJhc2U1OGJ0YyIscHJlZml4OiJ6IixhbHBoYWJldDoiMTIzNDU2Nzg5QUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaYWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5eiJ9KSx1MD1ubih7bmFtZToiYmFzZTU4ZmxpY2tyIixwcmVmaXg6IloiLGFscGhhYmV0OiIxMjM0NTY3ODlhYmNkZWZnaGlqa21ub3BxcnN0dXZ3eHl6QUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaIn0pO3ZhciBsMD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlNThidGM6YzAsYmFzZTU4ZmxpY2tyOnUwfSk7Y29uc3QgaDA9d2Uoe3ByZWZpeDoibSIsbmFtZToiYmFzZTY0IixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsYml0c1BlckNoYXI6Nn0pLGYwPXdlKHtwcmVmaXg6Ik0iLG5hbWU6ImJhc2U2NHBhZCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IixiaXRzUGVyQ2hhcjo2fSksZDA9d2Uoe3ByZWZpeDoidSIsbmFtZToiYmFzZTY0dXJsIixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIsYml0c1BlckNoYXI6Nn0pLHAwPXdlKHtwcmVmaXg6IlUiLG5hbWU6ImJhc2U2NHVybHBhZCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV89IixiaXRzUGVyQ2hhcjo2fSk7dmFyIGcwPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2U2NDpoMCxiYXNlNjRwYWQ6ZjAsYmFzZTY0dXJsOmQwLGJhc2U2NHVybHBhZDpwMH0pO2NvbnN0IFNjPUFycmF5LmZyb20oIlx1ezFGNjgwfVx1ezFGQTkwfVx1MjYwNFx1ezFGNkYwfVx1ezFGMzBDfVx1ezFGMzExfVx1ezFGMzEyfVx1ezFGMzEzfVx1ezFGMzE0fVx1ezFGMzE1fVx1ezFGMzE2fVx1ezFGMzE3fVx1ezFGMzE4fVx1ezFGMzBEfVx1ezFGMzBGfVx1ezFGMzBFfVx1ezFGNDA5fVx1MjYwMFx1ezFGNEJCfVx1ezFGNUE1fVx1ezFGNEJFfVx1ezFGNEJGfVx1ezFGNjAyfVx1Mjc2NFx1ezFGNjBEfVx1ezFGOTIzfVx1ezFGNjBBfVx1ezFGNjRGfVx1ezFGNDk1fVx1ezFGNjJEfVx1ezFGNjE4fVx1ezFGNDREfVx1ezFGNjA1fVx1ezFGNDRGfVx1ezFGNjAxfVx1ezFGNTI1fVx1ezFGOTcwfVx1ezFGNDk0fVx1ezFGNDk2fVx1ezFGNDk5fVx1ezFGNjIyfVx1ezFGOTE0fVx1ezFGNjA2fVx1ezFGNjQ0fVx1ezFGNEFBfVx1ezFGNjA5fVx1MjYzQVx1ezFGNDRDfVx1ezFGOTE3fVx1ezFGNDlDfVx1ezFGNjE0fVx1ezFGNjBFfVx1ezFGNjA3fVx1ezFGMzM5fVx1ezFGOTI2fVx1ezFGMzg5fVx1ezFGNDlFfVx1MjcwQ1x1MjcyOFx1ezFGOTM3fVx1ezFGNjMxfVx1ezFGNjBDfVx1ezFGMzM4fVx1ezFGNjRDfVx1ezFGNjBCfVx1ezFGNDk3fVx1ezFGNDlBfVx1ezFGNjBGfVx1ezFGNDlCfVx1ezFGNjQyfVx1ezFGNDkzfVx1ezFGOTI5fVx1ezFGNjA0fVx1ezFGNjAwfVx1ezFGNUE0fVx1ezFGNjAzfVx1ezFGNEFGfVx1ezFGNjQ4fVx1ezFGNDQ3fVx1ezFGM0I2fVx1ezFGNjEyfVx1ezFGOTJEfVx1Mjc2M1x1ezFGNjFDfVx1ezFGNDhCfVx1ezFGNDQwfVx1ezFGNjJBfVx1ezFGNjExfVx1ezFGNEE1fVx1ezFGNjRCfVx1ezFGNjFFfVx1ezFGNjI5fVx1ezFGNjIxfVx1ezFGOTJBfVx1ezFGNDRBfVx1ezFGOTczfVx1ezFGNjI1fVx1ezFGOTI0fVx1ezFGNDQ5fVx1ezFGNDgzfVx1ezFGNjMzfVx1MjcwQlx1ezFGNjFBfVx1ezFGNjFEfVx1ezFGNjM0fVx1ezFGMzFGfVx1ezFGNjJDfVx1ezFGNjQzfVx1ezFGMzQwfVx1ezFGMzM3fVx1ezFGNjNCfVx1ezFGNjEzfVx1MkI1MFx1MjcwNVx1ezFGOTdBfVx1ezFGMzA4fVx1ezFGNjA4fVx1ezFGOTE4fVx1ezFGNEE2fVx1MjcxNFx1ezFGNjIzfVx1ezFGM0MzfVx1ezFGNDkwfVx1MjYzOVx1ezFGMzhBfVx1ezFGNDk4fVx1ezFGNjIwfVx1MjYxRFx1ezFGNjE1fVx1ezFGMzNBfVx1ezFGMzgyfVx1ezFGMzNCfVx1ezFGNjEwfVx1ezFGNTk1fVx1ezFGNDlEfVx1ezFGNjRBfVx1ezFGNjM5fVx1ezFGNUUzfVx1ezFGNEFCfVx1ezFGNDgwfVx1ezFGNDUxfVx1ezFGM0I1fVx1ezFGOTFFfVx1ezFGNjFCfVx1ezFGNTM0fVx1ezFGNjI0fVx1ezFGMzNDfVx1ezFGNjJCfVx1MjZCRFx1ezFGOTE5fVx1MjYxNVx1ezFGM0M2fVx1ezFGOTJCfVx1ezFGNDQ4fVx1ezFGNjJFfVx1ezFGNjQ2fVx1ezFGMzdCfVx1ezFGMzQzfVx1ezFGNDM2fVx1ezFGNDgxfVx1ezFGNjMyfVx1ezFGMzNGfVx1ezFGOUUxfVx1ezFGMzgxfVx1MjZBMVx1ezFGMzFFfVx1ezFGMzg4fVx1Mjc0Q1x1MjcwQVx1ezFGNDRCfVx1ezFGNjMwfVx1ezFGOTI4fVx1ezFGNjM2fVx1ezFGOTFEfVx1ezFGNkI2fVx1ezFGNEIwfVx1ezFGMzUzfVx1ezFGNEEyfVx1ezFGOTFGfVx1ezFGNjQxfVx1ezFGNkE4fVx1ezFGNEE4fVx1ezFGOTJDfVx1MjcwOFx1ezFGMzgwfVx1ezFGMzdBfVx1ezFGOTEzfVx1ezFGNjE5fVx1ezFGNDlGfVx1ezFGMzMxfVx1ezFGNjE2fVx1ezFGNDc2fVx1ezFGOTc0fVx1MjVCNlx1MjdBMVx1Mjc1M1x1ezFGNDhFfVx1ezFGNEI4fVx1MkIwN1x1ezFGNjI4fVx1ezFGMzFBfVx1ezFGOThCfVx1ezFGNjM3fVx1ezFGNTdBfVx1MjZBMFx1ezFGNjQ1fVx1ezFGNjFGfVx1ezFGNjM1fVx1ezFGNDRFfVx1ezFGOTMyfVx1ezFGOTIwfVx1ezFGOTI3fVx1ezFGNENDfVx1ezFGNTM1fVx1ezFGNDg1fVx1ezFGOUQwfVx1ezFGNDNFfVx1ezFGMzUyfVx1ezFGNjE3fVx1ezFGOTExfVx1ezFGMzBBfVx1ezFGOTJGfVx1ezFGNDM3fVx1MjYwRVx1ezFGNEE3fVx1ezFGNjJGfVx1ezFGNDg2fVx1ezFGNDQ2fVx1ezFGM0E0fVx1ezFGNjQ3fVx1ezFGMzUxfVx1Mjc0NFx1ezFGMzM0fVx1ezFGNEEzfVx1ezFGNDM4fVx1ezFGNDhDfVx1ezFGNENEfVx1ezFGOTQwfVx1ezFGOTIyfVx1ezFGNDQ1fVx1ezFGNEExfVx1ezFGNEE5fVx1ezFGNDUwfVx1ezFGNEY4fVx1ezFGNDdCfVx1ezFGOTEwfVx1ezFGOTJFfVx1ezFGM0JDfVx1ezFGOTc1fVx1ezFGNkE5fVx1ezFGMzRFfVx1ezFGMzRBfVx1ezFGNDdDfVx1ezFGNDhEfVx1ezFGNEUzfVx1ezFGOTQyfSIpLHkwPVNjLnJlZHVjZSgodCxlLHIpPT4odFtyXT1lLHQpLFtdKSx3MD1TYy5yZWR1Y2UoKHQsZSxyKT0+KHRbZS5jb2RlUG9pbnRBdCgwKV09cix0KSxbXSk7ZnVuY3Rpb24gbTAodCl7cmV0dXJuIHQucmVkdWNlKChlLHIpPT4oZSs9eTBbcl0sZSksIiIpfWZ1bmN0aW9uIGIwKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHIgb2YgdCl7Y29uc3Qgbj13MFtyLmNvZGVQb2ludEF0KDApXTtpZihuPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcihgTm9uLWJhc2UyNTZlbW9qaSBjaGFyYWN0ZXI6ICR7cn1gKTtlLnB1c2gobil9cmV0dXJuIG5ldyBVaW50OEFycmF5KGUpfWNvbnN0IEUwPXRpKHtwcmVmaXg6Ilx1ezFGNjgwfSIsbmFtZToiYmFzZTI1NmVtb2ppIixlbmNvZGU6bTAsZGVjb2RlOmIwfSk7dmFyIHYwPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UyNTZlbW9qaTpFMH0pLF8wPURjLEljPTEyOCx4MD0tMTI4LFMwPU1hdGgucG93KDIsMzEpO2Z1bmN0aW9uIERjKHQsZSxyKXtlPWV8fFtdLHI9cnx8MDtmb3IodmFyIG49cjt0Pj1TMDspZVtyKytdPXQmMjU1fEljLHQvPTEyODtmb3IoO3QmeDA7KWVbcisrXT10JjI1NXxJYyx0Pj4+PTc7cmV0dXJuIGVbcl09dHwwLERjLmJ5dGVzPXItbisxLGV9dmFyIEkwPU5zLEQwPTEyOCxBYz0xMjc7ZnVuY3Rpb24gTnModCxuKXt2YXIgcj0wLG49bnx8MCxpPTAscz1uLG8sYT10Lmxlbmd0aDtkb3tpZihzPj1hKXRocm93IE5zLmJ5dGVzPTAsbmV3IFJhbmdlRXJyb3IoIkNvdWxkIG5vdCBkZWNvZGUgdmFyaW50Iik7bz10W3MrK10scis9aTwyOD8obyZBYyk8PGk6KG8mQWMpKk1hdGgucG93KDIsaSksaSs9N313aGlsZShvPj1EMCk7cmV0dXJuIE5zLmJ5dGVzPXMtbixyfXZhciBBMD1NYXRoLnBvdygyLDcpLE8wPU1hdGgucG93KDIsMTQpLFQwPU1hdGgucG93KDIsMjEpLEIwPU1hdGgucG93KDIsMjgpLFIwPU1hdGgucG93KDIsMzUpLE4wPU1hdGgucG93KDIsNDIpLFAwPU1hdGgucG93KDIsNDkpLCQwPU1hdGgucG93KDIsNTYpLEMwPU1hdGgucG93KDIsNjMpLFUwPWZ1bmN0aW9uKHQpe3JldHVybiB0PEEwPzE6dDxPMD8yOnQ8VDA/Mzp0PEIwPzQ6dDxSMD81OnQ8TjA/Njp0PFAwPzc6dDwkMD84OnQ8QzA/OToxMH0sTDA9e2VuY29kZTpfMCxkZWNvZGU6STAsZW5jb2RpbmdMZW5ndGg6VTB9LE9jPUwwO2NvbnN0IFRjPSh0LGUscj0wKT0+KE9jLmVuY29kZSh0LGUsciksZSksQmM9dD0+T2MuZW5jb2RpbmdMZW5ndGgodCksUHM9KHQsZSk9Pntjb25zdCByPWUuYnl0ZUxlbmd0aCxuPUJjKHQpLGk9bitCYyhyKSxzPW5ldyBVaW50OEFycmF5KGkrcik7cmV0dXJuIFRjKHQscywwKSxUYyhyLHMsbikscy5zZXQoZSxpKSxuZXcgazAodCxyLGUscyl9O2NsYXNzIGswe2NvbnN0cnVjdG9yKGUscixuLGkpe3RoaXMuY29kZT1lLHRoaXMuc2l6ZT1yLHRoaXMuZGlnZXN0PW4sdGhpcy5ieXRlcz1pfX1jb25zdCBSYz0oe25hbWU6dCxjb2RlOmUsZW5jb2RlOnJ9KT0+bmV3IE0wKHQsZSxyKTtjbGFzcyBNMHtjb25zdHJ1Y3RvcihlLHIsbil7dGhpcy5uYW1lPWUsdGhpcy5jb2RlPXIsdGhpcy5lbmNvZGU9bn1kaWdlc3QoZSl7aWYoZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2NvbnN0IHI9dGhpcy5lbmNvZGUoZSk7cmV0dXJuIHIgaW5zdGFuY2VvZiBVaW50OEFycmF5P1BzKHRoaXMuY29kZSxyKTpyLnRoZW4obj0+UHModGhpcy5jb2RlLG4pKX1lbHNlIHRocm93IEVycm9yKCJVbmtub3duIHR5cGUsIG11c3QgYmUgYmluYXJ5IHR5cGUiKX19Y29uc3QgTmM9dD0+YXN5bmMgZT0+bmV3IFVpbnQ4QXJyYXkoYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QodCxlKSksRjA9UmMoe25hbWU6InNoYTItMjU2Iixjb2RlOjE4LGVuY29kZTpOYygiU0hBLTI1NiIpfSkscTA9UmMoe25hbWU6InNoYTItNTEyIixjb2RlOjE5LGVuY29kZTpOYygiU0hBLTUxMiIpfSk7dmFyIHowPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLHNoYTI1NjpGMCxzaGE1MTI6cTB9KTtjb25zdCBQYz0wLGowPSJpZGVudGl0eSIsJGM9X2M7dmFyIEswPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGlkZW50aXR5Ontjb2RlOlBjLG5hbWU6ajAsZW5jb2RlOiRjLGRpZ2VzdDp0PT5QcyhQYywkYyh0KSl9fSk7Y29uc3QgQ2M9ey4uLk15LC4uLnF5LC4uLmp5LC4uLlZ5LC4uLkd5LC4uLmkwLC4uLmEwLC4uLmwwLC4uLmcwLC4uLnYwfTsoey4uLnowLC4uLkswfSk7ZnVuY3Rpb24gVWModCxlLHIsbil7cmV0dXJue25hbWU6dCxwcmVmaXg6ZSxlbmNvZGVyOntuYW1lOnQscHJlZml4OmUsZW5jb2RlOnJ9LGRlY29kZXI6e2RlY29kZTpufX19Y29uc3QgTGM9VWMoInV0ZjgiLCJ1Iix0PT4idSIrbmV3IFRleHREZWNvZGVyKCJ1dGY4IikuZGVjb2RlKHQpLHQ9Pm5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0LnN1YnN0cmluZygxKSkpLCRzPVVjKCJhc2NpaSIsImEiLHQ9PntsZXQgZT0iYSI7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspZSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0W3JdKTtyZXR1cm4gZX0sdD0+e3Q9dC5zdWJzdHJpbmcoMSk7Y29uc3QgZT1FYyh0Lmxlbmd0aCk7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspZVtyXT10LmNoYXJDb2RlQXQocik7cmV0dXJuIGV9KSxrYz17dXRmODpMYywidXRmLTgiOkxjLGhleDpDYy5iYXNlMTYsbGF0aW4xOiRzLGFzY2lpOiRzLGJpbmFyeTokcywuLi5DY307ZnVuY3Rpb24gcmkodCxlPSJ1dGY4Iil7Y29uc3Qgcj1rY1tlXTtpZighcil0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGVuY29kaW5nICIke2V9ImApO3JldHVybihlPT09InV0ZjgifHxlPT09InV0Zi04IikmJmdsb2JhbFRoaXMuQnVmZmVyIT1udWxsJiZnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tIT1udWxsP2dsb2JhbFRoaXMuQnVmZmVyLmZyb20odC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCkudG9TdHJpbmcoInV0ZjgiKTpyLmVuY29kZXIuZW5jb2RlKHQpLnN1YnN0cmluZygxKX1mdW5jdGlvbiBVcih0LGU9InV0ZjgiKXtjb25zdCByPWtjW2VdO2lmKCFyKXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZW5jb2RpbmcgIiR7ZX0iYCk7cmV0dXJuKGU9PT0idXRmOCJ8fGU9PT0idXRmLTgiKSYmZ2xvYmFsVGhpcy5CdWZmZXIhPW51bGwmJmdsb2JhbFRoaXMuQnVmZmVyLmZyb20hPW51bGw/UnMoZ2xvYmFsVGhpcy5CdWZmZXIuZnJvbSh0LCJ1dGYtOCIpKTpyLmRlY29kZXIuZGVjb2RlKGAke3IucHJlZml4fSR7dH1gKX1mdW5jdGlvbiBNYyh0KXtyZXR1cm4gUHIocmkoVXIodCxlaSksd2MpKX1mdW5jdGlvbiBuaSh0KXtyZXR1cm4gcmkoVXIoZW4odCksd2MpLGVpKX1mdW5jdGlvbiBGYyh0KXtjb25zdCBlPVVyKEl5LGJjKSxyPVN5K3JpKHZjKFtlLHRdKSxiYyk7cmV0dXJuW195LHh5LHJdLmpvaW4odnkpfWZ1bmN0aW9uIFYwKHQpe3JldHVybiByaSh0LGVpKX1mdW5jdGlvbiBIMCh0KXtyZXR1cm4gVXIodCxlaSl9ZnVuY3Rpb24gVzAodCl7cmV0dXJuIFVyKFtuaSh0LmhlYWRlciksbmkodC5wYXlsb2FkKV0uam9pbihRbiksbWMpfWZ1bmN0aW9uIEcwKHQpe3JldHVybltuaSh0LmhlYWRlciksbmkodC5wYXlsb2FkKSxWMCh0LnNpZ25hdHVyZSldLmpvaW4oUW4pfWZ1bmN0aW9uIENzKHQpe2NvbnN0IGU9dC5zcGxpdChRbikscj1NYyhlWzBdKSxuPU1jKGVbMV0pLGk9SDAoZVsyXSkscz1VcihlLnNsaWNlKDAsMikuam9pbihRbiksbWMpO3JldHVybntoZWFkZXI6cixwYXlsb2FkOm4sc2lnbmF0dXJlOmksZGF0YTpzfX1mdW5jdGlvbiBxYyh0PVhhKER5KSl7Y29uc3QgZT15Yy5nZXRQdWJsaWNLZXkodCk7cmV0dXJue3NlY3JldEtleTp2YyhbdCxlXSkscHVibGljS2V5OmV9fWFzeW5jIGZ1bmN0aW9uIFkwKHQsZSxyLG4saT1NLmZyb21NaWxpc2Vjb25kcyhEYXRlLm5vdygpKSl7Y29uc3Qgcz17YWxnOmJ5LHR5cDpFeX0sbz1GYyhuLnB1YmxpY0tleSksYT1pK3IsYz17aXNzOm8sc3ViOnQsYXVkOmUsaWF0OmksZXhwOmF9LHU9VzAoe2hlYWRlcjpzLHBheWxvYWQ6Y30pLGw9eWMuc2lnbih1LG4uc2VjcmV0S2V5LnNsaWNlKDAsMzIpKTtyZXR1cm4gRzAoe2hlYWRlcjpzLHBheWxvYWQ6YyxzaWduYXR1cmU6bH0pfWZ1bmN0aW9uIFowKHQsZSl7aWYodC5sZW5ndGg+PTI1NSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBbHBoYWJldCB0b28gbG9uZyIpO2Zvcih2YXIgcj1uZXcgVWludDhBcnJheSgyNTYpLG49MDtuPHIubGVuZ3RoO24rKylyW25dPTI1NTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIHM9dC5jaGFyQXQoaSksbz1zLmNoYXJDb2RlQXQoMCk7aWYocltvXSE9PTI1NSl0aHJvdyBuZXcgVHlwZUVycm9yKHMrIiBpcyBhbWJpZ3VvdXMiKTtyW29dPWl9dmFyIGE9dC5sZW5ndGgsYz10LmNoYXJBdCgwKSx1PU1hdGgubG9nKGEpL01hdGgubG9nKDI1NiksbD1NYXRoLmxvZygyNTYpL01hdGgubG9nKGEpO2Z1bmN0aW9uIGgoZCl7aWYoZCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fChBcnJheUJ1ZmZlci5pc1ZpZXcoZCk/ZD1uZXcgVWludDhBcnJheShkLmJ1ZmZlcixkLmJ5dGVPZmZzZXQsZC5ieXRlTGVuZ3RoKTpBcnJheS5pc0FycmF5KGQpJiYoZD1VaW50OEFycmF5LmZyb20oZCkpKSwhKGQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBVaW50OEFycmF5Iik7aWYoZC5sZW5ndGg9PT0wKXJldHVybiIiO2Zvcih2YXIgZz0wLHk9MCx2PTAsQT1kLmxlbmd0aDt2IT09QSYmZFt2XT09PTA7KXYrKyxnKys7Zm9yKHZhciB3PShBLXYpKmwrMT4+PjAsbT1uZXcgVWludDhBcnJheSh3KTt2IT09QTspe2Zvcih2YXIgXz1kW3ZdLHg9MCxUPXctMTsoXyE9PTB8fHg8eSkmJlQhPT0tMTtULS0seCsrKV8rPTI1NiptW1RdPj4+MCxtW1RdPV8lYT4+PjAsXz1fL2E+Pj4wO2lmKF8hPT0wKXRocm93IG5ldyBFcnJvcigiTm9uLXplcm8gY2FycnkiKTt5PXgsdisrfWZvcih2YXIgQj13LXk7QiE9PXcmJm1bQl09PT0wOylCKys7Zm9yKHZhciBQPWMucmVwZWF0KGcpO0I8dzsrK0IpUCs9dC5jaGFyQXQobVtCXSk7cmV0dXJuIFB9ZnVuY3Rpb24gZihkKXtpZih0eXBlb2YgZCE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgU3RyaW5nIik7aWYoZC5sZW5ndGg9PT0wKXJldHVybiBuZXcgVWludDhBcnJheTt2YXIgZz0wO2lmKGRbZ10hPT0iICIpe2Zvcih2YXIgeT0wLHY9MDtkW2ddPT09YzspeSsrLGcrKztmb3IodmFyIEE9KGQubGVuZ3RoLWcpKnUrMT4+PjAsdz1uZXcgVWludDhBcnJheShBKTtkW2ddOyl7dmFyIG09cltkLmNoYXJDb2RlQXQoZyldO2lmKG09PT0yNTUpcmV0dXJuO2Zvcih2YXIgXz0wLHg9QS0xOyhtIT09MHx8Xzx2KSYmeCE9PS0xO3gtLSxfKyspbSs9YSp3W3hdPj4+MCx3W3hdPW0lMjU2Pj4+MCxtPW0vMjU2Pj4+MDtpZihtIT09MCl0aHJvdyBuZXcgRXJyb3IoIk5vbi16ZXJvIGNhcnJ5Iik7dj1fLGcrK31pZihkW2ddIT09IiAiKXtmb3IodmFyIFQ9QS12O1QhPT1BJiZ3W1RdPT09MDspVCsrO2Zvcih2YXIgQj1uZXcgVWludDhBcnJheSh5KyhBLVQpKSxQPXk7VCE9PUE7KUJbUCsrXT13W1QrK107cmV0dXJuIEJ9fX1mdW5jdGlvbiBwKGQpe3ZhciBnPWYoZCk7aWYoZylyZXR1cm4gZzt0aHJvdyBuZXcgRXJyb3IoYE5vbi0ke2V9IGNoYXJhY3RlcmApfXJldHVybntlbmNvZGU6aCxkZWNvZGVVbnNhZmU6ZixkZWNvZGU6cH19dmFyIFgwPVowLEowPVgwO2NvbnN0IFEwPXQ9PntpZih0IGluc3RhbmNlb2YgVWludDhBcnJheSYmdC5jb25zdHJ1Y3Rvci5uYW1lPT09IlVpbnQ4QXJyYXkiKXJldHVybiB0O2lmKHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodCk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpKXJldHVybiBuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKTt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gdHlwZSwgbXVzdCBiZSBiaW5hcnkgdHlwZSIpfSxldz10PT5uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCksdHc9dD0+bmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKHQpO2xldCBydz1jbGFzc3tjb25zdHJ1Y3RvcihlLHIsbil7dGhpcy5uYW1lPWUsdGhpcy5wcmVmaXg9cix0aGlzLmJhc2VFbmNvZGU9bn1lbmNvZGUoZSl7aWYoZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuYCR7dGhpcy5wcmVmaXh9JHt0aGlzLmJhc2VFbmNvZGUoZSl9YDt0aHJvdyBFcnJvcigiVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlIil9fSxudz1jbGFzc3tjb25zdHJ1Y3RvcihlLHIsbil7aWYodGhpcy5uYW1lPWUsdGhpcy5wcmVmaXg9cixyLmNvZGVQb2ludEF0KDApPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBwcmVmaXggY2hhcmFjdGVyIik7dGhpcy5wcmVmaXhDb2RlUG9pbnQ9ci5jb2RlUG9pbnRBdCgwKSx0aGlzLmJhc2VEZWNvZGU9bn1kZWNvZGUoZSl7aWYodHlwZW9mIGU9PSJzdHJpbmciKXtpZihlLmNvZGVQb2ludEF0KDApIT09dGhpcy5wcmVmaXhDb2RlUG9pbnQpdGhyb3cgRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgbXVsdGliYXNlIHN0cmluZyAke0pTT04uc3RyaW5naWZ5KGUpfSwgJHt0aGlzLm5hbWV9IGRlY29kZXIgb25seSBzdXBwb3J0cyBpbnB1dHMgcHJlZml4ZWQgd2l0aCAke3RoaXMucHJlZml4fWApO3JldHVybiB0aGlzLmJhc2VEZWNvZGUoZS5zbGljZSh0aGlzLnByZWZpeC5sZW5ndGgpKX1lbHNlIHRocm93IEVycm9yKCJDYW4gb25seSBtdWx0aWJhc2UgZGVjb2RlIHN0cmluZ3MiKX1vcihlKXtyZXR1cm4gemModGhpcyxlKX19O2NsYXNzIGl3e2NvbnN0cnVjdG9yKGUpe3RoaXMuZGVjb2RlcnM9ZX1vcihlKXtyZXR1cm4gemModGhpcyxlKX1kZWNvZGUoZSl7Y29uc3Qgcj1lWzBdLG49dGhpcy5kZWNvZGVyc1tyXTtpZihuKXJldHVybiBuLmRlY29kZShlKTt0aHJvdyBSYW5nZUVycm9yKGBVbmFibGUgdG8gZGVjb2RlIG11bHRpYmFzZSBzdHJpbmcgJHtKU09OLnN0cmluZ2lmeShlKX0sIG9ubHkgaW5wdXRzIHByZWZpeGVkIHdpdGggJHtPYmplY3Qua2V5cyh0aGlzLmRlY29kZXJzKX0gYXJlIHN1cHBvcnRlZGApfX1jb25zdCB6Yz0odCxlKT0+bmV3IGl3KHsuLi50LmRlY29kZXJzfHx7W3QucHJlZml4XTp0fSwuLi5lLmRlY29kZXJzfHx7W2UucHJlZml4XTplfX0pO2NsYXNzIHN3e2NvbnN0cnVjdG9yKGUscixuLGkpe3RoaXMubmFtZT1lLHRoaXMucHJlZml4PXIsdGhpcy5iYXNlRW5jb2RlPW4sdGhpcy5iYXNlRGVjb2RlPWksdGhpcy5lbmNvZGVyPW5ldyBydyhlLHIsbiksdGhpcy5kZWNvZGVyPW5ldyBudyhlLHIsaSl9ZW5jb2RlKGUpe3JldHVybiB0aGlzLmVuY29kZXIuZW5jb2RlKGUpfWRlY29kZShlKXtyZXR1cm4gdGhpcy5kZWNvZGVyLmRlY29kZShlKX19Y29uc3QgaWk9KHtuYW1lOnQscHJlZml4OmUsZW5jb2RlOnIsZGVjb2RlOm59KT0+bmV3IHN3KHQsZSxyLG4pLHNuPSh7cHJlZml4OnQsbmFtZTplLGFscGhhYmV0OnJ9KT0+e2NvbnN0e2VuY29kZTpuLGRlY29kZTppfT1KMChyLGUpO3JldHVybiBpaSh7cHJlZml4OnQsbmFtZTplLGVuY29kZTpuLGRlY29kZTpzPT5RMChpKHMpKX0pfSxvdz0odCxlLHIsbik9Pntjb25zdCBpPXt9O2ZvcihsZXQgbD0wO2w8ZS5sZW5ndGg7KytsKWlbZVtsXV09bDtsZXQgcz10Lmxlbmd0aDtmb3IoO3Rbcy0xXT09PSI9IjspLS1zO2NvbnN0IG89bmV3IFVpbnQ4QXJyYXkocypyLzh8MCk7bGV0IGE9MCxjPTAsdT0wO2ZvcihsZXQgbD0wO2w8czsrK2wpe2NvbnN0IGg9aVt0W2xdXTtpZihoPT09dm9pZCAwKXRocm93IG5ldyBTeW50YXhFcnJvcihgTm9uLSR7bn0gY2hhcmFjdGVyYCk7Yz1jPDxyfGgsYSs9cixhPj04JiYoYS09OCxvW3UrK109MjU1JmM+PmEpfWlmKGE+PXJ8fDI1NSZjPDw4LWEpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJVbmV4cGVjdGVkIGVuZCBvZiBkYXRhIik7cmV0dXJuIG99LGF3PSh0LGUscik9Pntjb25zdCBuPWVbZS5sZW5ndGgtMV09PT0iPSIsaT0oMTw8ciktMTtsZXQgcz0iIixvPTAsYT0wO2ZvcihsZXQgYz0wO2M8dC5sZW5ndGg7KytjKWZvcihhPWE8PDh8dFtjXSxvKz04O28+cjspby09cixzKz1lW2kmYT4+b107aWYobyYmKHMrPWVbaSZhPDxyLW9dKSxuKWZvcig7cy5sZW5ndGgqciY3OylzKz0iPSI7cmV0dXJuIHN9LG1lPSh7bmFtZTp0LHByZWZpeDplLGJpdHNQZXJDaGFyOnIsYWxwaGFiZXQ6bn0pPT5paSh7cHJlZml4OmUsbmFtZTp0LGVuY29kZShpKXtyZXR1cm4gYXcoaSxuLHIpfSxkZWNvZGUoaSl7cmV0dXJuIG93KGksbixyLHQpfX0pLGN3PWlpKHtwcmVmaXg6IlwwIixuYW1lOiJpZGVudGl0eSIsZW5jb2RlOnQ9PnR3KHQpLGRlY29kZTp0PT5ldyh0KX0pO3ZhciB1dz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxpZGVudGl0eTpjd30pO2NvbnN0IGx3PW1lKHtwcmVmaXg6IjAiLG5hbWU6ImJhc2UyIixhbHBoYWJldDoiMDEiLGJpdHNQZXJDaGFyOjF9KTt2YXIgaHc9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTI6bHd9KTtjb25zdCBmdz1tZSh7cHJlZml4OiI3IixuYW1lOiJiYXNlOCIsYWxwaGFiZXQ6IjAxMjM0NTY3IixiaXRzUGVyQ2hhcjozfSk7dmFyIGR3PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2U4OmZ3fSk7Y29uc3QgcHc9c24oe3ByZWZpeDoiOSIsbmFtZToiYmFzZTEwIixhbHBoYWJldDoiMDEyMzQ1Njc4OSJ9KTt2YXIgZ3c9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTEwOnB3fSk7Y29uc3QgeXc9bWUoe3ByZWZpeDoiZiIsbmFtZToiYmFzZTE2IixhbHBoYWJldDoiMDEyMzQ1Njc4OWFiY2RlZiIsYml0c1BlckNoYXI6NH0pLHd3PW1lKHtwcmVmaXg6IkYiLG5hbWU6ImJhc2UxNnVwcGVyIixhbHBoYWJldDoiMDEyMzQ1Njc4OUFCQ0RFRiIsYml0c1BlckNoYXI6NH0pO3ZhciBtdz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMTY6eXcsYmFzZTE2dXBwZXI6d3d9KTtjb25zdCBidz1tZSh7cHJlZml4OiJiIixuYW1lOiJiYXNlMzIiLGFscGhhYmV0OiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejIzNDU2NyIsYml0c1BlckNoYXI6NX0pLEV3PW1lKHtwcmVmaXg6IkIiLG5hbWU6ImJhc2UzMnVwcGVyIixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoyMzQ1NjciLGJpdHNQZXJDaGFyOjV9KSx2dz1tZSh7cHJlZml4OiJjIixuYW1lOiJiYXNlMzJwYWQiLGFscGhhYmV0OiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejIzNDU2Nz0iLGJpdHNQZXJDaGFyOjV9KSxfdz1tZSh7cHJlZml4OiJDIixuYW1lOiJiYXNlMzJwYWR1cHBlciIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMjM0NTY3PSIsYml0c1BlckNoYXI6NX0pLHh3PW1lKHtwcmVmaXg6InYiLG5hbWU6ImJhc2UzMmhleCIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2IixiaXRzUGVyQ2hhcjo1fSksU3c9bWUoe3ByZWZpeDoiViIsbmFtZToiYmFzZTMyaGV4dXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVViIsYml0c1BlckNoYXI6NX0pLEl3PW1lKHtwcmVmaXg6InQiLG5hbWU6ImJhc2UzMmhleHBhZCIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2PSIsYml0c1BlckNoYXI6NX0pLER3PW1lKHtwcmVmaXg6IlQiLG5hbWU6ImJhc2UzMmhleHBhZHVwcGVyIixhbHBoYWJldDoiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVY9IixiaXRzUGVyQ2hhcjo1fSksQXc9bWUoe3ByZWZpeDoiaCIsbmFtZToiYmFzZTMyeiIsYWxwaGFiZXQ6InlibmRyZmc4ZWprbWNwcXhvdDF1d2lzemEzNDVoNzY5IixiaXRzUGVyQ2hhcjo1fSk7dmFyIE93PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UzMjpidyxiYXNlMzJoZXg6eHcsYmFzZTMyaGV4cGFkOkl3LGJhc2UzMmhleHBhZHVwcGVyOkR3LGJhc2UzMmhleHVwcGVyOlN3LGJhc2UzMnBhZDp2dyxiYXNlMzJwYWR1cHBlcjpfdyxiYXNlMzJ1cHBlcjpFdyxiYXNlMzJ6OkF3fSk7Y29uc3QgVHc9c24oe3ByZWZpeDoiayIsbmFtZToiYmFzZTM2IixhbHBoYWJldDoiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6In0pLEJ3PXNuKHtwcmVmaXg6IksiLG5hbWU6ImJhc2UzNnVwcGVyIixhbHBoYWJldDoiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIn0pO3ZhciBSdz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMzY6VHcsYmFzZTM2dXBwZXI6Qnd9KTtjb25zdCBOdz1zbih7bmFtZToiYmFzZTU4YnRjIixwcmVmaXg6InoiLGFscGhhYmV0OiIxMjM0NTY3ODlBQkNERUZHSEpLTE1OUFFSU1RVVldYWVphYmNkZWZnaGlqa21ub3BxcnN0dXZ3eHl6In0pLFB3PXNuKHtuYW1lOiJiYXNlNThmbGlja3IiLHByZWZpeDoiWiIsYWxwaGFiZXQ6IjEyMzQ1Njc4OWFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXpBQkNERUZHSEpLTE1OUFFSU1RVVldYWVoifSk7dmFyICR3PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2U1OGJ0YzpOdyxiYXNlNThmbGlja3I6UHd9KTtjb25zdCBDdz1tZSh7cHJlZml4OiJtIixuYW1lOiJiYXNlNjQiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixiaXRzUGVyQ2hhcjo2fSksVXc9bWUoe3ByZWZpeDoiTSIsbmFtZToiYmFzZTY0cGFkIixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLGJpdHNQZXJDaGFyOjZ9KSxMdz1tZSh7cHJlZml4OiJ1IixuYW1lOiJiYXNlNjR1cmwiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIixiaXRzUGVyQ2hhcjo2fSksa3c9bWUoe3ByZWZpeDoiVSIsbmFtZToiYmFzZTY0dXJscGFkIixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXz0iLGJpdHNQZXJDaGFyOjZ9KTt2YXIgTXc9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTY0OkN3LGJhc2U2NHBhZDpVdyxiYXNlNjR1cmw6THcsYmFzZTY0dXJscGFkOmt3fSk7Y29uc3QgamM9QXJyYXkuZnJvbSgiXHV7MUY2ODB9XHV7MUZBOTB9XHUyNjA0XHV7MUY2RjB9XHV7MUYzMEN9XHV7MUYzMTF9XHV7MUYzMTJ9XHV7MUYzMTN9XHV7MUYzMTR9XHV7MUYzMTV9XHV7MUYzMTZ9XHV7MUYzMTd9XHV7MUYzMTh9XHV7MUYzMER9XHV7MUYzMEZ9XHV7MUYzMEV9XHV7MUY0MDl9XHUyNjAwXHV7MUY0QkJ9XHV7MUY1QTV9XHV7MUY0QkV9XHV7MUY0QkZ9XHV7MUY2MDJ9XHUyNzY0XHV7MUY2MER9XHV7MUY5MjN9XHV7MUY2MEF9XHV7MUY2NEZ9XHV7MUY0OTV9XHV7MUY2MkR9XHV7MUY2MTh9XHV7MUY0NER9XHV7MUY2MDV9XHV7MUY0NEZ9XHV7MUY2MDF9XHV7MUY1MjV9XHV7MUY5NzB9XHV7MUY0OTR9XHV7MUY0OTZ9XHV7MUY0OTl9XHV7MUY2MjJ9XHV7MUY5MTR9XHV7MUY2MDZ9XHV7MUY2NDR9XHV7MUY0QUF9XHV7MUY2MDl9XHUyNjNBXHV7MUY0NEN9XHV7MUY5MTd9XHV7MUY0OUN9XHV7MUY2MTR9XHV7MUY2MEV9XHV7MUY2MDd9XHV7MUYzMzl9XHV7MUY5MjZ9XHV7MUYzODl9XHV7MUY0OUV9XHUyNzBDXHUyNzI4XHV7MUY5Mzd9XHV7MUY2MzF9XHV7MUY2MEN9XHV7MUYzMzh9XHV7MUY2NEN9XHV7MUY2MEJ9XHV7MUY0OTd9XHV7MUY0OUF9XHV7MUY2MEZ9XHV7MUY0OUJ9XHV7MUY2NDJ9XHV7MUY0OTN9XHV7MUY5Mjl9XHV7MUY2MDR9XHV7MUY2MDB9XHV7MUY1QTR9XHV7MUY2MDN9XHV7MUY0QUZ9XHV7MUY2NDh9XHV7MUY0NDd9XHV7MUYzQjZ9XHV7MUY2MTJ9XHV7MUY5MkR9XHUyNzYzXHV7MUY2MUN9XHV7MUY0OEJ9XHV7MUY0NDB9XHV7MUY2MkF9XHV7MUY2MTF9XHV7MUY0QTV9XHV7MUY2NEJ9XHV7MUY2MUV9XHV7MUY2Mjl9XHV7MUY2MjF9XHV7MUY5MkF9XHV7MUY0NEF9XHV7MUY5NzN9XHV7MUY2MjV9XHV7MUY5MjR9XHV7MUY0NDl9XHV7MUY0ODN9XHV7MUY2MzN9XHUyNzBCXHV7MUY2MUF9XHV7MUY2MUR9XHV7MUY2MzR9XHV7MUYzMUZ9XHV7MUY2MkN9XHV7MUY2NDN9XHV7MUYzNDB9XHV7MUYzMzd9XHV7MUY2M0J9XHV7MUY2MTN9XHUyQjUwXHUyNzA1XHV7MUY5N0F9XHV7MUYzMDh9XHV7MUY2MDh9XHV7MUY5MTh9XHV7MUY0QTZ9XHUyNzE0XHV7MUY2MjN9XHV7MUYzQzN9XHV7MUY0OTB9XHUyNjM5XHV7MUYzOEF9XHV7MUY0OTh9XHV7MUY2MjB9XHUyNjFEXHV7MUY2MTV9XHV7MUYzM0F9XHV7MUYzODJ9XHV7MUYzM0J9XHV7MUY2MTB9XHV7MUY1OTV9XHV7MUY0OUR9XHV7MUY2NEF9XHV7MUY2Mzl9XHV7MUY1RTN9XHV7MUY0QUJ9XHV7MUY0ODB9XHV7MUY0NTF9XHV7MUYzQjV9XHV7MUY5MUV9XHV7MUY2MUJ9XHV7MUY1MzR9XHV7MUY2MjR9XHV7MUYzM0N9XHV7MUY2MkJ9XHUyNkJEXHV7MUY5MTl9XHUyNjE1XHV7MUYzQzZ9XHV7MUY5MkJ9XHV7MUY0NDh9XHV7MUY2MkV9XHV7MUY2NDZ9XHV7MUYzN0J9XHV7MUYzNDN9XHV7MUY0MzZ9XHV7MUY0ODF9XHV7MUY2MzJ9XHV7MUYzM0Z9XHV7MUY5RTF9XHV7MUYzODF9XHUyNkExXHV7MUYzMUV9XHV7MUYzODh9XHUyNzRDXHUyNzBBXHV7MUY0NEJ9XHV7MUY2MzB9XHV7MUY5Mjh9XHV7MUY2MzZ9XHV7MUY5MUR9XHV7MUY2QjZ9XHV7MUY0QjB9XHV7MUYzNTN9XHV7MUY0QTJ9XHV7MUY5MUZ9XHV7MUY2NDF9XHV7MUY2QTh9XHV7MUY0QTh9XHV7MUY5MkN9XHUyNzA4XHV7MUYzODB9XHV7MUYzN0F9XHV7MUY5MTN9XHV7MUY2MTl9XHV7MUY0OUZ9XHV7MUYzMzF9XHV7MUY2MTZ9XHV7MUY0NzZ9XHV7MUY5NzR9XHUyNUI2XHUyN0ExXHUyNzUzXHV7MUY0OEV9XHV7MUY0Qjh9XHUyQjA3XHV7MUY2Mjh9XHV7MUYzMUF9XHV7MUY5OEJ9XHV7MUY2Mzd9XHV7MUY1N0F9XHUyNkEwXHV7MUY2NDV9XHV7MUY2MUZ9XHV7MUY2MzV9XHV7MUY0NEV9XHV7MUY5MzJ9XHV7MUY5MjB9XHV7MUY5Mjd9XHV7MUY0Q0N9XHV7MUY1MzV9XHV7MUY0ODV9XHV7MUY5RDB9XHV7MUY0M0V9XHV7MUYzNTJ9XHV7MUY2MTd9XHV7MUY5MTF9XHV7MUYzMEF9XHV7MUY5MkZ9XHV7MUY0Mzd9XHUyNjBFXHV7MUY0QTd9XHV7MUY2MkZ9XHV7MUY0ODZ9XHV7MUY0NDZ9XHV7MUYzQTR9XHV7MUY2NDd9XHV7MUYzNTF9XHUyNzQ0XHV7MUYzMzR9XHV7MUY0QTN9XHV7MUY0Mzh9XHV7MUY0OEN9XHV7MUY0Q0R9XHV7MUY5NDB9XHV7MUY5MjJ9XHV7MUY0NDV9XHV7MUY0QTF9XHV7MUY0QTl9XHV7MUY0NTB9XHV7MUY0Rjh9XHV7MUY0N0J9XHV7MUY5MTB9XHV7MUY5MkV9XHV7MUYzQkN9XHV7MUY5NzV9XHV7MUY2QTl9XHV7MUYzNEV9XHV7MUYzNEF9XHV7MUY0N0N9XHV7MUY0OER9XHV7MUY0RTN9XHV7MUY5NDJ9IiksRnc9amMucmVkdWNlKCh0LGUscik9Pih0W3JdPWUsdCksW10pLHF3PWpjLnJlZHVjZSgodCxlLHIpPT4odFtlLmNvZGVQb2ludEF0KDApXT1yLHQpLFtdKTtmdW5jdGlvbiB6dyh0KXtyZXR1cm4gdC5yZWR1Y2UoKGUscik9PihlKz1Gd1tyXSxlKSwiIil9ZnVuY3Rpb24gancodCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgciBvZiB0KXtjb25zdCBuPXF3W3IuY29kZVBvaW50QXQoMCldO2lmKG49PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBOb24tYmFzZTI1NmVtb2ppIGNoYXJhY3RlcjogJHtyfWApO2UucHVzaChuKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSl9Y29uc3QgS3c9aWkoe3ByZWZpeDoiXHV7MUY2ODB9IixuYW1lOiJiYXNlMjU2ZW1vamkiLGVuY29kZTp6dyxkZWNvZGU6and9KTt2YXIgVnc9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTI1NmVtb2ppOkt3fSk7Y29uc3QgS2M9ey4uLnV3LC4uLmh3LC4uLmR3LC4uLmd3LC4uLm13LC4uLk93LC4uLlJ3LC4uLiR3LC4uLk13LC4uLlZ3fTtmdW5jdGlvbiBVcyh0KXtyZXR1cm4gZ2xvYmFsVGhpcy5CdWZmZXIhPW51bGw/bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCk6dH1mdW5jdGlvbiBWYyh0PTApe3JldHVybiBnbG9iYWxUaGlzLkJ1ZmZlciE9bnVsbCYmZ2xvYmFsVGhpcy5CdWZmZXIuYWxsb2NVbnNhZmUhPW51bGw/VXMoZ2xvYmFsVGhpcy5CdWZmZXIuYWxsb2NVbnNhZmUodCkpOm5ldyBVaW50OEFycmF5KHQpfWZ1bmN0aW9uIEhjKHQsZSxyLG4pe3JldHVybntuYW1lOnQscHJlZml4OmUsZW5jb2Rlcjp7bmFtZTp0LHByZWZpeDplLGVuY29kZTpyfSxkZWNvZGVyOntkZWNvZGU6bn19fWNvbnN0IFdjPUhjKCJ1dGY4IiwidSIsdD0+InUiK25ldyBUZXh0RGVjb2RlcigidXRmOCIpLmRlY29kZSh0KSx0PT5uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodC5zdWJzdHJpbmcoMSkpKSxMcz1IYygiYXNjaWkiLCJhIix0PT57bGV0IGU9ImEiO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKWUrPVN0cmluZy5mcm9tQ2hhckNvZGUodFtyXSk7cmV0dXJuIGV9LHQ9Pnt0PXQuc3Vic3RyaW5nKDEpO2NvbnN0IGU9VmModC5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKWVbcl09dC5jaGFyQ29kZUF0KHIpO3JldHVybiBlfSksR2M9e3V0Zjg6V2MsInV0Zi04IjpXYyxoZXg6S2MuYmFzZTE2LGxhdGluMTpMcyxhc2NpaTpMcyxiaW5hcnk6THMsLi4uS2N9O2Z1bmN0aW9uIHZlKHQsZT0idXRmOCIpe2NvbnN0IHI9R2NbZV07aWYoIXIpdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBlbmNvZGluZyAiJHtlfSJgKTtyZXR1cm4oZT09PSJ1dGY4Inx8ZT09PSJ1dGYtOCIpJiZnbG9iYWxUaGlzLkJ1ZmZlciE9bnVsbCYmZ2xvYmFsVGhpcy5CdWZmZXIuZnJvbSE9bnVsbD9VcyhnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tKHQsInV0Zi04IikpOnIuZGVjb2Rlci5kZWNvZGUoYCR7ci5wcmVmaXh9JHt0fWApfXZhciBZYz1mdW5jdGlvbih0LGUscil7aWYocnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciBuPTAsaT1lLmxlbmd0aCxzO248aTtuKyspKHN8fCEobiBpbiBlKSkmJihzfHwocz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLDAsbikpLHNbbl09ZVtuXSk7cmV0dXJuIHQuY29uY2F0KHN8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpKX0sSHc9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscixuKXt0aGlzLm5hbWU9ZSx0aGlzLnZlcnNpb249cix0aGlzLm9zPW4sdGhpcy50eXBlPSJicm93c2VyIn1yZXR1cm4gdH0oKSxXdz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy52ZXJzaW9uPWUsdGhpcy50eXBlPSJub2RlIix0aGlzLm5hbWU9Im5vZGUiLHRoaXMub3M9cHJvY2Vzcy5wbGF0Zm9ybX1yZXR1cm4gdH0oKSxHdz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxyLG4saSl7dGhpcy5uYW1lPWUsdGhpcy52ZXJzaW9uPXIsdGhpcy5vcz1uLHRoaXMuYm90PWksdGhpcy50eXBlPSJib3QtZGV2aWNlIn1yZXR1cm4gdH0oKSxZdz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLnR5cGU9ImJvdCIsdGhpcy5ib3Q9ITAsdGhpcy5uYW1lPSJib3QiLHRoaXMudmVyc2lvbj1udWxsLHRoaXMub3M9bnVsbH1yZXR1cm4gdH0oKSxadz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLnR5cGU9InJlYWN0LW5hdGl2ZSIsdGhpcy5uYW1lPSJyZWFjdC1uYXRpdmUiLHRoaXMudmVyc2lvbj1udWxsLHRoaXMub3M9bnVsbH1yZXR1cm4gdH0oKSxYdz0vYWxleGF8Ym90fGNyYXdsKGVyfGluZyl8ZmFjZWJvb2tleHRlcm5hbGhpdHxmZWVkYnVybmVyfGdvb2dsZSB3ZWIgcHJldmlld3xuYWdpb3N8cG9zdHJhbmt8cGluZ2RvbXxzbHVycHxzcGlkZXJ8eWFob28hfHlhbmRleC8sSnc9LyhudWhrfGN1cmx8R29vZ2xlYm90fFlhbW15Ym90fE9wZW5ib3R8U2x1cnB8TVNOQm90fEFza1wgSmVldmVzXC9UZW9tYXxpYV9hcmNoaXZlcikvLFpjPTMsUXc9W1siYW9sIiwvQU9MU2hpZWxkXC8oWzAtOVwuX10rKS9dLFsiZWRnZSIsL0VkZ2VcLyhbMC05XC5fXSspL10sWyJlZGdlLWlvcyIsL0VkZ2lPU1wvKFswLTlcLl9dKykvXSxbInlhbmRleGJyb3dzZXIiLC9ZYUJyb3dzZXJcLyhbMC05XC5fXSspL10sWyJrYWthb3RhbGsiLC9LQUtBT1RBTEtccyhbMC05XC5dKykvXSxbInNhbXN1bmciLC9TYW1zdW5nQnJvd3NlclwvKFswLTlcLl0rKS9dLFsic2lsayIsL1xiU2lsa1wvKFswLTkuXy1dKylcYi9dLFsibWl1aSIsL01pdWlCcm93c2VyXC8oWzAtOVwuXSspJC9dLFsiYmVha2VyIiwvQmVha2VyQnJvd3NlclwvKFswLTlcLl0rKS9dLFsiZWRnZS1jaHJvbWl1bSIsL0VkZ0E/XC8oWzAtOVwuXSspL10sWyJjaHJvbWl1bS13ZWJ2aWV3IiwvKD8hQ2hyb20uKk9QUil3dlwpLipDaHJvbSg/OmV8aXVtKVwvKFswLTlcLl0rKSg6P1xzfCQpL10sWyJjaHJvbWUiLC8oPyFDaHJvbS4qT1BSKUNocm9tKD86ZXxpdW0pXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbInBoYW50b21qcyIsL1BoYW50b21KU1wvKFswLTlcLl0rKSg6P1xzfCQpL10sWyJjcmlvcyIsL0NyaU9TXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbImZpcmVmb3giLC9GaXJlZm94XC8oWzAtOVwuXSspKD86XHN8JCkvXSxbImZ4aW9zIiwvRnhpT1NcLyhbMC05XC5dKykvXSxbIm9wZXJhLW1pbmkiLC9PcGVyYSBNaW5pLipWZXJzaW9uXC8oWzAtOVwuXSspL10sWyJvcGVyYSIsL09wZXJhXC8oWzAtOVwuXSspKD86XHN8JCkvXSxbIm9wZXJhIiwvT1BSXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbInBpZSIsL15NaWNyb3NvZnQgUG9ja2V0IEludGVybmV0IEV4cGxvcmVyXC8oXGQrXC5cZCspJC9dLFsicGllIiwvXk1vemlsbGFcL1xkXC5cZCtcc1woY29tcGF0aWJsZTtccyg/Ok1TUD9JRXxNU0ludGVybmV0IEV4cGxvcmVyKSAoXGQrXC5cZCspOy4qV2luZG93cyBDRS4qXCkkL10sWyJuZXRmcm9udCIsL15Nb3ppbGxhXC9cZFwuXGQrLipOZXRGcm9udFwvKFxkLlxkKS9dLFsiaWUiLC9UcmlkZW50XC83XC4wLipydlw6KFswLTlcLl0rKS4qXCkuKkdlY2tvJC9dLFsiaWUiLC9NU0lFXHMoWzAtOVwuXSspOy4qVHJpZGVudFwvWzQtN10uMC9dLFsiaWUiLC9NU0lFXHMoN1wuMCkvXSxbImJiMTAiLC9CQjEwO1xzVG91Y2guKlZlcnNpb25cLyhbMC05XC5dKykvXSxbImFuZHJvaWQiLC9BbmRyb2lkXHMoWzAtOVwuXSspL10sWyJpb3MiLC9WZXJzaW9uXC8oWzAtOVwuX10rKS4qTW9iaWxlLipTYWZhcmkuKi9dLFsic2FmYXJpIiwvVmVyc2lvblwvKFswLTlcLl9dKykuKlNhZmFyaS9dLFsiZmFjZWJvb2siLC9GQltBU11WXC8oWzAtOVwuXSspL10sWyJpbnN0YWdyYW0iLC9JbnN0YWdyYW1ccyhbMC05XC5dKykvXSxbImlvcy13ZWJ2aWV3IiwvQXBwbGVXZWJLaXRcLyhbMC05XC5dKykuKk1vYmlsZS9dLFsiaW9zLXdlYnZpZXciLC9BcHBsZVdlYktpdFwvKFswLTlcLl0rKS4qR2Vja29cKSQvXSxbImN1cmwiLC9eY3VybFwvKFswLTlcLl0rKSQvXSxbInNlYXJjaGJvdCIsWHddXSxYYz1bWyJpT1MiLC9pUChob25lfG9kfGFkKS9dLFsiQW5kcm9pZCBPUyIsL0FuZHJvaWQvXSxbIkJsYWNrQmVycnkgT1MiLC9CbGFja0JlcnJ5fEJCMTAvXSxbIldpbmRvd3MgTW9iaWxlIiwvSUVNb2JpbGUvXSxbIkFtYXpvbiBPUyIsL0tpbmRsZS9dLFsiV2luZG93cyAzLjExIiwvV2luMTYvXSxbIldpbmRvd3MgOTUiLC8oV2luZG93cyA5NSl8KFdpbjk1KXwoV2luZG93c185NSkvXSxbIldpbmRvd3MgOTgiLC8oV2luZG93cyA5OCl8KFdpbjk4KS9dLFsiV2luZG93cyAyMDAwIiwvKFdpbmRvd3MgTlQgNS4wKXwoV2luZG93cyAyMDAwKS9dLFsiV2luZG93cyBYUCIsLyhXaW5kb3dzIE5UIDUuMSl8KFdpbmRvd3MgWFApL10sWyJXaW5kb3dzIFNlcnZlciAyMDAzIiwvKFdpbmRvd3MgTlQgNS4yKS9dLFsiV2luZG93cyBWaXN0YSIsLyhXaW5kb3dzIE5UIDYuMCkvXSxbIldpbmRvd3MgNyIsLyhXaW5kb3dzIE5UIDYuMSkvXSxbIldpbmRvd3MgOCIsLyhXaW5kb3dzIE5UIDYuMikvXSxbIldpbmRvd3MgOC4xIiwvKFdpbmRvd3MgTlQgNi4zKS9dLFsiV2luZG93cyAxMCIsLyhXaW5kb3dzIE5UIDEwLjApL10sWyJXaW5kb3dzIE1FIiwvV2luZG93cyBNRS9dLFsiV2luZG93cyBDRSIsL1dpbmRvd3MgQ0V8V2luQ0V8TWljcm9zb2Z0IFBvY2tldCBJbnRlcm5ldCBFeHBsb3Jlci9dLFsiT3BlbiBCU0QiLC9PcGVuQlNEL10sWyJTdW4gT1MiLC9TdW5PUy9dLFsiQ2hyb21lIE9TIiwvQ3JPUy9dLFsiTGludXgiLC8oTGludXgpfChYMTEpL10sWyJNYWMgT1MiLC8oTWFjX1Bvd2VyUEMpfChNYWNpbnRvc2gpL10sWyJRTlgiLC9RTlgvXSxbIkJlT1MiLC9CZU9TL10sWyJPUy8yIiwvT1NcLzIvXV07ZnVuY3Rpb24gZW0odCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD4idSImJnR5cGVvZiBuYXZpZ2F0b3I8InUiJiZuYXZpZ2F0b3IucHJvZHVjdD09PSJSZWFjdE5hdGl2ZSI/bmV3IFp3OnR5cGVvZiBuYXZpZ2F0b3I8InUiP3JtKG5hdmlnYXRvci51c2VyQWdlbnQpOmltKCl9ZnVuY3Rpb24gdG0odCl7cmV0dXJuIHQhPT0iIiYmUXcucmVkdWNlKGZ1bmN0aW9uKGUscil7dmFyIG49clswXSxpPXJbMV07aWYoZSlyZXR1cm4gZTt2YXIgcz1pLmV4ZWModCk7cmV0dXJuISFzJiZbbixzXX0sITEpfWZ1bmN0aW9uIHJtKHQpe3ZhciBlPXRtKHQpO2lmKCFlKXJldHVybiBudWxsO3ZhciByPWVbMF0sbj1lWzFdO2lmKHI9PT0ic2VhcmNoYm90IilyZXR1cm4gbmV3IFl3O3ZhciBpPW5bMV0mJm5bMV0uc3BsaXQoIi4iKS5qb2luKCJfIikuc3BsaXQoIl8iKS5zbGljZSgwLDMpO2k/aS5sZW5ndGg8WmMmJihpPVljKFljKFtdLGksITApLHNtKFpjLWkubGVuZ3RoKSwhMCkpOmk9W107dmFyIHM9aS5qb2luKCIuIiksbz1ubSh0KSxhPUp3LmV4ZWModCk7cmV0dXJuIGEmJmFbMV0/bmV3IEd3KHIscyxvLGFbMV0pOm5ldyBIdyhyLHMsbyl9ZnVuY3Rpb24gbm0odCl7Zm9yKHZhciBlPTAscj1YYy5sZW5ndGg7ZTxyO2UrKyl7dmFyIG49WGNbZV0saT1uWzBdLHM9blsxXSxvPXMuZXhlYyh0KTtpZihvKXJldHVybiBpfXJldHVybiBudWxsfWZ1bmN0aW9uIGltKCl7dmFyIHQ9dHlwZW9mIHByb2Nlc3M8InUiJiZwcm9jZXNzLnZlcnNpb247cmV0dXJuIHQ/bmV3IFd3KHByb2Nlc3MudmVyc2lvbi5zbGljZSgxKSk6bnVsbH1mdW5jdGlvbiBzbSh0KXtmb3IodmFyIGU9W10scj0wO3I8dDtyKyspZS5wdXNoKCIwIik7cmV0dXJuIGV9dmFyIGVlPXt9LEpjO2Z1bmN0aW9uIFFjKCl7aWYoSmMpcmV0dXJuIGVlO0pjPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KGVlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlZS5nZXRMb2NhbFN0b3JhZ2U9ZWUuZ2V0TG9jYWxTdG9yYWdlT3JUaHJvdz1lZS5nZXRDcnlwdG89ZWUuZ2V0Q3J5cHRvT3JUaHJvdz1lZS5nZXRMb2NhdGlvbj1lZS5nZXRMb2NhdGlvbk9yVGhyb3c9ZWUuZ2V0TmF2aWdhdG9yPWVlLmdldE5hdmlnYXRvck9yVGhyb3c9ZWUuZ2V0RG9jdW1lbnQ9ZWUuZ2V0RG9jdW1lbnRPclRocm93PWVlLmdldEZyb21XaW5kb3dPclRocm93PWVlLmdldEZyb21XaW5kb3c9dm9pZCAwO2Z1bmN0aW9uIHQoZil7bGV0IHA7cmV0dXJuIHR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2Ygd2luZG93W2ZdPCJ1IiYmKHA9d2luZG93W2ZdKSxwfWVlLmdldEZyb21XaW5kb3c9dDtmdW5jdGlvbiBlKGYpe2NvbnN0IHA9dChmKTtpZighcCl0aHJvdyBuZXcgRXJyb3IoYCR7Zn0gaXMgbm90IGRlZmluZWQgaW4gV2luZG93YCk7cmV0dXJuIHB9ZWUuZ2V0RnJvbVdpbmRvd09yVGhyb3c9ZTtmdW5jdGlvbiByKCl7cmV0dXJuIGUoImRvY3VtZW50Iil9ZWUuZ2V0RG9jdW1lbnRPclRocm93PXI7ZnVuY3Rpb24gbigpe3JldHVybiB0KCJkb2N1bWVudCIpfWVlLmdldERvY3VtZW50PW47ZnVuY3Rpb24gaSgpe3JldHVybiBlKCJuYXZpZ2F0b3IiKX1lZS5nZXROYXZpZ2F0b3JPclRocm93PWk7ZnVuY3Rpb24gcygpe3JldHVybiB0KCJuYXZpZ2F0b3IiKX1lZS5nZXROYXZpZ2F0b3I9cztmdW5jdGlvbiBvKCl7cmV0dXJuIGUoImxvY2F0aW9uIil9ZWUuZ2V0TG9jYXRpb25PclRocm93PW87ZnVuY3Rpb24gYSgpe3JldHVybiB0KCJsb2NhdGlvbiIpfWVlLmdldExvY2F0aW9uPWE7ZnVuY3Rpb24gYygpe3JldHVybiBlKCJjcnlwdG8iKX1lZS5nZXRDcnlwdG9PclRocm93PWM7ZnVuY3Rpb24gdSgpe3JldHVybiB0KCJjcnlwdG8iKX1lZS5nZXRDcnlwdG89dTtmdW5jdGlvbiBsKCl7cmV0dXJuIGUoImxvY2FsU3RvcmFnZSIpfWVlLmdldExvY2FsU3RvcmFnZU9yVGhyb3c9bDtmdW5jdGlvbiBoKCl7cmV0dXJuIHQoImxvY2FsU3RvcmFnZSIpfXJldHVybiBlZS5nZXRMb2NhbFN0b3JhZ2U9aCxlZX12YXIgX3Q9UWMoKSxvbj17fSxldTtmdW5jdGlvbiBvbSgpe2lmKGV1KXJldHVybiBvbjtldT0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvbiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksb24uZ2V0V2luZG93TWV0YWRhdGE9dm9pZCAwO2NvbnN0IHQ9UWMoKTtmdW5jdGlvbiBlKCl7bGV0IHIsbjt0cnl7cj10LmdldERvY3VtZW50T3JUaHJvdygpLG49dC5nZXRMb2NhdGlvbk9yVGhyb3coKX1jYXRjaHtyZXR1cm4gbnVsbH1mdW5jdGlvbiBpKCl7Y29uc3QgcD1yLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD1bXTtmb3IobGV0IGc9MDtnPHAubGVuZ3RoO2crKyl7Y29uc3QgeT1wW2ddLHY9eS5nZXRBdHRyaWJ1dGUoInJlbCIpO2lmKHYmJnYudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJpY29uIik+LTEpe2NvbnN0IEE9eS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihBKWlmKEEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJodHRwczoiKT09PS0xJiZBLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiaHR0cDoiKT09PS0xJiZBLmluZGV4T2YoIi8vIikhPT0wKXtsZXQgdz1uLnByb3RvY29sKyIvLyIrbi5ob3N0O2lmKEEuaW5kZXhPZigiLyIpPT09MCl3Kz1BO2Vsc2V7Y29uc3QgbT1uLnBhdGhuYW1lLnNwbGl0KCIvIik7bS5wb3AoKTtjb25zdCBfPW0uam9pbigiLyIpO3crPV8rIi8iK0F9ZC5wdXNoKHcpfWVsc2UgaWYoQS5pbmRleE9mKCIvLyIpPT09MCl7Y29uc3Qgdz1uLnByb3RvY29sK0E7ZC5wdXNoKHcpfWVsc2UgZC5wdXNoKEEpfX1yZXR1cm4gZH1mdW5jdGlvbiBzKC4uLnApe2NvbnN0IGQ9ci5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWV0YSIpO2ZvcihsZXQgZz0wO2c8ZC5sZW5ndGg7ZysrKXtjb25zdCB5PWRbZ10sdj1bIml0ZW1wcm9wIiwicHJvcGVydHkiLCJuYW1lIl0ubWFwKEE9PnkuZ2V0QXR0cmlidXRlKEEpKS5maWx0ZXIoQT0+QT9wLmluY2x1ZGVzKEEpOiExKTtpZih2Lmxlbmd0aCYmdil7Y29uc3QgQT15LmdldEF0dHJpYnV0ZSgiY29udGVudCIpO2lmKEEpcmV0dXJuIEF9fXJldHVybiIifWZ1bmN0aW9uIG8oKXtsZXQgcD1zKCJuYW1lIiwib2c6c2l0ZV9uYW1lIiwib2c6dGl0bGUiLCJ0d2l0dGVyOnRpdGxlIik7cmV0dXJuIHB8fChwPXIudGl0bGUpLHB9ZnVuY3Rpb24gYSgpe3JldHVybiBzKCJkZXNjcmlwdGlvbiIsIm9nOmRlc2NyaXB0aW9uIiwidHdpdHRlcjpkZXNjcmlwdGlvbiIsImtleXdvcmRzIil9Y29uc3QgYz1vKCksdT1hKCksbD1uLm9yaWdpbixoPWkoKTtyZXR1cm57ZGVzY3JpcHRpb246dSx1cmw6bCxpY29uczpoLG5hbWU6Y319cmV0dXJuIG9uLmdldFdpbmRvd01ldGFkYXRhPWUsb259dmFyIGFtPW9tKCk7Y29uc3Qgc2k9QmlnSW50KDIqKjMyLTEpLHR1PUJpZ0ludCgzMik7ZnVuY3Rpb24gcnUodCxlPSExKXtyZXR1cm4gZT97aDpOdW1iZXIodCZzaSksbDpOdW1iZXIodD4+dHUmc2kpfTp7aDpOdW1iZXIodD4+dHUmc2kpfDAsbDpOdW1iZXIodCZzaSl8MH19ZnVuY3Rpb24gbnUodCxlPSExKXtjb25zdCByPXQubGVuZ3RoO2xldCBuPW5ldyBVaW50MzJBcnJheShyKSxpPW5ldyBVaW50MzJBcnJheShyKTtmb3IobGV0IHM9MDtzPHI7cysrKXtjb25zdHtoOm8sbDphfT1ydSh0W3NdLGUpO1tuW3NdLGlbc11dPVtvLGFdfXJldHVybltuLGldfWNvbnN0IGl1PSh0LGUscik9PnQ+Pj5yLHN1PSh0LGUscik9PnQ8PDMyLXJ8ZT4+PnIsVnQ9KHQsZSxyKT0+dD4+PnJ8ZTw8MzItcixIdD0odCxlLHIpPT50PDwzMi1yfGU+Pj5yLGFuPSh0LGUscik9PnQ8PDY0LXJ8ZT4+PnItMzIsY249KHQsZSxyKT0+dD4+PnItMzJ8ZTw8NjQtcixjbT0odCxlKT0+ZSx1bT0odCxlKT0+dCxsbT0odCxlLHIpPT50PDxyfGU+Pj4zMi1yLGhtPSh0LGUscik9PmU8PHJ8dD4+PjMyLXIsZm09KHQsZSxyKT0+ZTw8ci0zMnx0Pj4+NjQtcixkbT0odCxlLHIpPT50PDxyLTMyfGU+Pj42NC1yO2Z1bmN0aW9uIFFlKHQsZSxyLG4pe2NvbnN0IGk9KGU+Pj4wKSsobj4+PjApO3JldHVybntoOnQrcisoaS8yKiozMnwwKXwwLGw6aXwwfX1jb25zdCBrcz0odCxlLHIpPT4odD4+PjApKyhlPj4+MCkrKHI+Pj4wKSxNcz0odCxlLHIsbik9PmUrcituKyh0LzIqKjMyfDApfDAscG09KHQsZSxyLG4pPT4odD4+PjApKyhlPj4+MCkrKHI+Pj4wKSsobj4+PjApLGdtPSh0LGUscixuLGkpPT5lK3IrbitpKyh0LzIqKjMyfDApfDAseW09KHQsZSxyLG4saSk9Pih0Pj4+MCkrKGU+Pj4wKSsocj4+PjApKyhuPj4+MCkrKGk+Pj4wKSx3bT0odCxlLHIsbixpLHMpPT5lK3IrbitpK3MrKHQvMioqMzJ8MCl8MCxMcj10eXBlb2YgZ2xvYmFsVGhpcz09Im9iamVjdCImJiJjcnlwdG8iaW4gZ2xvYmFsVGhpcz9nbG9iYWxUaGlzLmNyeXB0bzp2b2lkIDA7LyohIG5vYmxlLWhhc2hlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2Z1bmN0aW9uIG9pKHQpe3JldHVybiB0IGluc3RhbmNlb2YgVWludDhBcnJheXx8QXJyYXlCdWZmZXIuaXNWaWV3KHQpJiZ0LmNvbnN0cnVjdG9yLm5hbWU9PT0iVWludDhBcnJheSJ9ZnVuY3Rpb24gZnQodCl7aWYoIU51bWJlci5pc1NhZmVJbnRlZ2VyKHQpfHx0PDApdGhyb3cgbmV3IEVycm9yKCJwb3NpdGl2ZSBpbnRlZ2VyIGV4cGVjdGVkLCBnb3QgIit0KX1mdW5jdGlvbiBldCh0LC4uLmUpe2lmKCFvaSh0KSl0aHJvdyBuZXcgRXJyb3IoIlVpbnQ4QXJyYXkgZXhwZWN0ZWQiKTtpZihlLmxlbmd0aD4wJiYhZS5pbmNsdWRlcyh0Lmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKCJVaW50OEFycmF5IGV4cGVjdGVkIG9mIGxlbmd0aCAiK2UrIiwgZ290IGxlbmd0aD0iK3QubGVuZ3RoKX1mdW5jdGlvbiBhaSh0KXtpZih0eXBlb2YgdCE9ImZ1bmN0aW9uInx8dHlwZW9mIHQuY3JlYXRlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcigiSGFzaCBzaG91bGQgYmUgd3JhcHBlZCBieSB1dGlscy5jcmVhdGVIYXNoZXIiKTtmdCh0Lm91dHB1dExlbiksZnQodC5ibG9ja0xlbil9ZnVuY3Rpb24gV3QodCxlPSEwKXtpZih0LmRlc3Ryb3llZCl0aHJvdyBuZXcgRXJyb3IoIkhhc2ggaW5zdGFuY2UgaGFzIGJlZW4gZGVzdHJveWVkIik7aWYoZSYmdC5maW5pc2hlZCl0aHJvdyBuZXcgRXJyb3IoIkhhc2gjZGlnZXN0KCkgaGFzIGFscmVhZHkgYmVlbiBjYWxsZWQiKX1mdW5jdGlvbiBGcyh0LGUpe2V0KHQpO2NvbnN0IHI9ZS5vdXRwdXRMZW47aWYodC5sZW5ndGg8cil0aHJvdyBuZXcgRXJyb3IoImRpZ2VzdEludG8oKSBleHBlY3RzIG91dHB1dCBidWZmZXIgb2YgbGVuZ3RoIGF0IGxlYXN0ICIrcil9ZnVuY3Rpb24gdW4odCl7cmV0dXJuIG5ldyBVaW50MzJBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsTWF0aC5mbG9vcih0LmJ5dGVMZW5ndGgvNCkpfWZ1bmN0aW9uIEtlKC4uLnQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uZmlsbCgwKX1mdW5jdGlvbiBxcyh0KXtyZXR1cm4gbmV3IERhdGFWaWV3KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpfWZ1bmN0aW9uIGR0KHQsZSl7cmV0dXJuIHQ8PDMyLWV8dD4+PmV9Y29uc3Qgb3U9bmV3IFVpbnQ4QXJyYXkobmV3IFVpbnQzMkFycmF5KFsyODc0NTQwMjBdKS5idWZmZXIpWzBdPT09Njg7ZnVuY3Rpb24gYXUodCl7cmV0dXJuIHQ8PDI0JjQyNzgxOTAwODB8dDw8OCYxNjcxMTY4MHx0Pj4+OCY2NTI4MHx0Pj4+MjQmMjU1fWNvbnN0IHh0PW91P3Q9PnQ6dD0+YXUodCk7ZnVuY3Rpb24gbW0odCl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT1hdSh0W2VdKTtyZXR1cm4gdH1jb25zdCBHdD1vdT90PT50Om1tLGN1PXR5cGVvZiBVaW50OEFycmF5LmZyb20oW10pLnRvSGV4PT0iZnVuY3Rpb24iJiZ0eXBlb2YgVWludDhBcnJheS5mcm9tSGV4PT0iZnVuY3Rpb24iLGJtPUFycmF5LmZyb20oe2xlbmd0aDoyNTZ9LCh0LGUpPT5lLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpO2Z1bmN0aW9uIGtyKHQpe2lmKGV0KHQpLGN1KXJldHVybiB0LnRvSGV4KCk7bGV0IGU9IiI7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspZSs9Ym1bdFtyXV07cmV0dXJuIGV9Y29uc3QgU3Q9e18wOjQ4LF85OjU3LEE6NjUsRjo3MCxhOjk3LGY6MTAyfTtmdW5jdGlvbiB1dSh0KXtpZih0Pj1TdC5fMCYmdDw9U3QuXzkpcmV0dXJuIHQtU3QuXzA7aWYodD49U3QuQSYmdDw9U3QuRilyZXR1cm4gdC0oU3QuQS0xMCk7aWYodD49U3QuYSYmdDw9U3QuZilyZXR1cm4gdC0oU3QuYS0xMCl9ZnVuY3Rpb24gY2kodCl7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcigiaGV4IHN0cmluZyBleHBlY3RlZCwgZ290ICIrdHlwZW9mIHQpO2lmKGN1KXJldHVybiBVaW50OEFycmF5LmZyb21IZXgodCk7Y29uc3QgZT10Lmxlbmd0aCxyPWUvMjtpZihlJTIpdGhyb3cgbmV3IEVycm9yKCJoZXggc3RyaW5nIGV4cGVjdGVkLCBnb3QgdW5wYWRkZWQgaGV4IG9mIGxlbmd0aCAiK2UpO2NvbnN0IG49bmV3IFVpbnQ4QXJyYXkocik7Zm9yKGxldCBpPTAscz0wO2k8cjtpKysscys9Mil7Y29uc3Qgbz11dSh0LmNoYXJDb2RlQXQocykpLGE9dXUodC5jaGFyQ29kZUF0KHMrMSkpO2lmKG89PT12b2lkIDB8fGE9PT12b2lkIDApe2NvbnN0IGM9dFtzXSt0W3MrMV07dGhyb3cgbmV3IEVycm9yKCdoZXggc3RyaW5nIGV4cGVjdGVkLCBnb3Qgbm9uLWhleCBjaGFyYWN0ZXIgIicrYysnIiBhdCBpbmRleCAnK3MpfW5baV09byoxNithfXJldHVybiBufWZ1bmN0aW9uIGx1KHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoInN0cmluZyBleHBlY3RlZCIpO3JldHVybiBuZXcgVWludDhBcnJheShuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCkpfWZ1bmN0aW9uIHR0KHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyImJih0PWx1KHQpKSxldCh0KSx0fWZ1bmN0aW9uIEl0KC4uLnQpe2xldCBlPTA7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IGk9dFtuXTtldChpKSxlKz1pLmxlbmd0aH1jb25zdCByPW5ldyBVaW50OEFycmF5KGUpO2ZvcihsZXQgbj0wLGk9MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgcz10W25dO3Iuc2V0KHMsaSksaSs9cy5sZW5ndGh9cmV0dXJuIHJ9Y2xhc3MgdWl7fWZ1bmN0aW9uIGxuKHQpe2NvbnN0IGU9bj0+dCgpLnVwZGF0ZSh0dChuKSkuZGlnZXN0KCkscj10KCk7cmV0dXJuIGUub3V0cHV0TGVuPXIub3V0cHV0TGVuLGUuYmxvY2tMZW49ci5ibG9ja0xlbixlLmNyZWF0ZT0oKT0+dCgpLGV9ZnVuY3Rpb24gRW0odCl7Y29uc3QgZT0obixpKT0+dChpKS51cGRhdGUodHQobikpLmRpZ2VzdCgpLHI9dCh7fSk7cmV0dXJuIGUub3V0cHV0TGVuPXIub3V0cHV0TGVuLGUuYmxvY2tMZW49ci5ibG9ja0xlbixlLmNyZWF0ZT1uPT50KG4pLGV9ZnVuY3Rpb24gWXQodD0zMil7aWYoTHImJnR5cGVvZiBMci5nZXRSYW5kb21WYWx1ZXM9PSJmdW5jdGlvbiIpcmV0dXJuIExyLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSh0KSk7aWYoTHImJnR5cGVvZiBMci5yYW5kb21CeXRlcz09ImZ1bmN0aW9uIilyZXR1cm4gVWludDhBcnJheS5mcm9tKExyLnJhbmRvbUJ5dGVzKHQpKTt0aHJvdyBuZXcgRXJyb3IoImNyeXB0by5nZXRSYW5kb21WYWx1ZXMgbXVzdCBiZSBkZWZpbmVkIil9Y29uc3Qgdm09QmlnSW50KDApLGhuPUJpZ0ludCgxKSxfbT1CaWdJbnQoMikseG09QmlnSW50KDcpLFNtPUJpZ0ludCgyNTYpLEltPUJpZ0ludCgxMTMpLGh1PVtdLGZ1PVtdLGR1PVtdO2ZvcihsZXQgdD0wLGU9aG4scj0xLG49MDt0PDI0O3QrKyl7W3Isbl09W24sKDIqciszKm4pJTVdLGh1LnB1c2goMiooNSpuK3IpKSxmdS5wdXNoKCh0KzEpKih0KzIpLzIlNjQpO2xldCBpPXZtO2ZvcihsZXQgcz0wO3M8NztzKyspZT0oZTw8aG5eKGU+PnhtKSpJbSklU20sZSZfbSYmKGlePWhuPDwoaG48PEJpZ0ludChzKSktaG4pO2R1LnB1c2goaSl9Y29uc3QgcHU9bnUoZHUsITApLERtPXB1WzBdLEFtPXB1WzFdLGd1PSh0LGUscik9PnI+MzI/Zm0odCxlLHIpOmxtKHQsZSxyKSx5dT0odCxlLHIpPT5yPjMyP2RtKHQsZSxyKTpobSh0LGUscik7ZnVuY3Rpb24gT20odCxlPTI0KXtjb25zdCByPW5ldyBVaW50MzJBcnJheSgxMCk7Zm9yKGxldCBuPTI0LWU7bjwyNDtuKyspe2ZvcihsZXQgbz0wO288MTA7bysrKXJbb109dFtvXV50W28rMTBdXnRbbysyMF1edFtvKzMwXV50W28rNDBdO2ZvcihsZXQgbz0wO288MTA7bys9Mil7Y29uc3QgYT0obys4KSUxMCxjPShvKzIpJTEwLHU9cltjXSxsPXJbYysxXSxoPWd1KHUsbCwxKV5yW2FdLGY9eXUodSxsLDEpXnJbYSsxXTtmb3IobGV0IHA9MDtwPDUwO3ArPTEwKXRbbytwXV49aCx0W28rcCsxXV49Zn1sZXQgaT10WzJdLHM9dFszXTtmb3IobGV0IG89MDtvPDI0O28rKyl7Y29uc3QgYT1mdVtvXSxjPWd1KGkscyxhKSx1PXl1KGkscyxhKSxsPWh1W29dO2k9dFtsXSxzPXRbbCsxXSx0W2xdPWMsdFtsKzFdPXV9Zm9yKGxldCBvPTA7bzw1MDtvKz0xMCl7Zm9yKGxldCBhPTA7YTwxMDthKyspclthXT10W28rYV07Zm9yKGxldCBhPTA7YTwxMDthKyspdFtvK2FdXj1+clsoYSsyKSUxMF0mclsoYSs0KSUxMF19dFswXV49RG1bbl0sdFsxXV49QW1bbl19S2Uocil9Y2xhc3MgenMgZXh0ZW5kcyB1aXtjb25zdHJ1Y3RvcihlLHIsbixpPSExLHM9MjQpe2lmKHN1cGVyKCksdGhpcy5wb3M9MCx0aGlzLnBvc091dD0wLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5lbmFibGVYT0Y9ITEsdGhpcy5ibG9ja0xlbj1lLHRoaXMuc3VmZml4PXIsdGhpcy5vdXRwdXRMZW49bix0aGlzLmVuYWJsZVhPRj1pLHRoaXMucm91bmRzPXMsZnQobiksISgwPGUmJmU8MjAwKSl0aHJvdyBuZXcgRXJyb3IoIm9ubHkga2VjY2FrLWYxNjAwIGZ1bmN0aW9uIGlzIHN1cHBvcnRlZCIpO3RoaXMuc3RhdGU9bmV3IFVpbnQ4QXJyYXkoMjAwKSx0aGlzLnN0YXRlMzI9dW4odGhpcy5zdGF0ZSl9Y2xvbmUoKXtyZXR1cm4gdGhpcy5fY2xvbmVJbnRvKCl9a2VjY2FrKCl7R3QodGhpcy5zdGF0ZTMyKSxPbSh0aGlzLnN0YXRlMzIsdGhpcy5yb3VuZHMpLEd0KHRoaXMuc3RhdGUzMiksdGhpcy5wb3NPdXQ9MCx0aGlzLnBvcz0wfXVwZGF0ZShlKXtXdCh0aGlzKSxlPXR0KGUpLGV0KGUpO2NvbnN0e2Jsb2NrTGVuOnIsc3RhdGU6bn09dGhpcyxpPWUubGVuZ3RoO2ZvcihsZXQgcz0wO3M8aTspe2NvbnN0IG89TWF0aC5taW4oci10aGlzLnBvcyxpLXMpO2ZvcihsZXQgYT0wO2E8bzthKyspblt0aGlzLnBvcysrXV49ZVtzKytdO3RoaXMucG9zPT09ciYmdGhpcy5rZWNjYWsoKX1yZXR1cm4gdGhpc31maW5pc2goKXtpZih0aGlzLmZpbmlzaGVkKXJldHVybjt0aGlzLmZpbmlzaGVkPSEwO2NvbnN0e3N0YXRlOmUsc3VmZml4OnIscG9zOm4sYmxvY2tMZW46aX09dGhpcztlW25dXj1yLChyJjEyOCkhPT0wJiZuPT09aS0xJiZ0aGlzLmtlY2NhaygpLGVbaS0xXV49MTI4LHRoaXMua2VjY2FrKCl9d3JpdGVJbnRvKGUpe1d0KHRoaXMsITEpLGV0KGUpLHRoaXMuZmluaXNoKCk7Y29uc3Qgcj10aGlzLnN0YXRlLHtibG9ja0xlbjpufT10aGlzO2ZvcihsZXQgaT0wLHM9ZS5sZW5ndGg7aTxzOyl7dGhpcy5wb3NPdXQ+PW4mJnRoaXMua2VjY2FrKCk7Y29uc3Qgbz1NYXRoLm1pbihuLXRoaXMucG9zT3V0LHMtaSk7ZS5zZXQoci5zdWJhcnJheSh0aGlzLnBvc091dCx0aGlzLnBvc091dCtvKSxpKSx0aGlzLnBvc091dCs9byxpKz1vfXJldHVybiBlfXhvZkludG8oZSl7aWYoIXRoaXMuZW5hYmxlWE9GKXRocm93IG5ldyBFcnJvcigiWE9GIGlzIG5vdCBwb3NzaWJsZSBmb3IgdGhpcyBpbnN0YW5jZSIpO3JldHVybiB0aGlzLndyaXRlSW50byhlKX14b2YoZSl7cmV0dXJuIGZ0KGUpLHRoaXMueG9mSW50byhuZXcgVWludDhBcnJheShlKSl9ZGlnZXN0SW50byhlKXtpZihGcyhlLHRoaXMpLHRoaXMuZmluaXNoZWQpdGhyb3cgbmV3IEVycm9yKCJkaWdlc3QoKSB3YXMgYWxyZWFkeSBjYWxsZWQiKTtyZXR1cm4gdGhpcy53cml0ZUludG8oZSksdGhpcy5kZXN0cm95KCksZX1kaWdlc3QoKXtyZXR1cm4gdGhpcy5kaWdlc3RJbnRvKG5ldyBVaW50OEFycmF5KHRoaXMub3V0cHV0TGVuKSl9ZGVzdHJveSgpe3RoaXMuZGVzdHJveWVkPSEwLEtlKHRoaXMuc3RhdGUpfV9jbG9uZUludG8oZSl7Y29uc3R7YmxvY2tMZW46cixzdWZmaXg6bixvdXRwdXRMZW46aSxyb3VuZHM6cyxlbmFibGVYT0Y6b309dGhpcztyZXR1cm4gZXx8KGU9bmV3IHpzKHIsbixpLG8scykpLGUuc3RhdGUzMi5zZXQodGhpcy5zdGF0ZTMyKSxlLnBvcz10aGlzLnBvcyxlLnBvc091dD10aGlzLnBvc091dCxlLmZpbmlzaGVkPXRoaXMuZmluaXNoZWQsZS5yb3VuZHM9cyxlLnN1ZmZpeD1uLGUub3V0cHV0TGVuPWksZS5lbmFibGVYT0Y9byxlLmRlc3Ryb3llZD10aGlzLmRlc3Ryb3llZCxlfX1jb25zdCBUbT0odCxlLHIpPT5sbigoKT0+bmV3IHpzKGUsdCxyKSksd3U9VG0oMSwxMzYsMjU2LzgpLEJtPSIwLjEuMSI7ZnVuY3Rpb24gUm0oKXtyZXR1cm4gQm19Y2xhc3MgcmUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHI9e30pe2NvbnN0IG49KCgpPT57aWYoci5jYXVzZSBpbnN0YW5jZW9mIHJlKXtpZihyLmNhdXNlLmRldGFpbHMpcmV0dXJuIHIuY2F1c2UuZGV0YWlscztpZihyLmNhdXNlLnNob3J0TWVzc2FnZSlyZXR1cm4gci5jYXVzZS5zaG9ydE1lc3NhZ2V9cmV0dXJuIHIuY2F1c2UmJiJkZXRhaWxzImluIHIuY2F1c2UmJnR5cGVvZiByLmNhdXNlLmRldGFpbHM9PSJzdHJpbmciP3IuY2F1c2UuZGV0YWlsczpyLmNhdXNlPy5tZXNzYWdlP3IuY2F1c2UubWVzc2FnZTpyLmRldGFpbHN9KSgpLGk9ci5jYXVzZSBpbnN0YW5jZW9mIHJlJiZyLmNhdXNlLmRvY3NQYXRofHxyLmRvY3NQYXRoLG89YGh0dHBzOi8vb3hsaWIuc2gke2k/PyIifWAsYT1bZXx8IkFuIGVycm9yIG9jY3VycmVkLiIsLi4uci5tZXRhTWVzc2FnZXM/WyIiLC4uLnIubWV0YU1lc3NhZ2VzXTpbXSwuLi5ufHxpP1siIixuP2BEZXRhaWxzOiAke259YDp2b2lkIDAsaT9gU2VlOiAke299YDp2b2lkIDBdOltdXS5maWx0ZXIoYz0+dHlwZW9mIGM9PSJzdHJpbmciKS5qb2luKGAKYCk7c3VwZXIoYSxyLmNhdXNlP3tjYXVzZTpyLmNhdXNlfTp2b2lkIDApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZXRhaWxzIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dm9pZCAwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImRvY3MiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp2b2lkIDB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZG9jc1BhdGgiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp2b2lkIDB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywic2hvcnRNZXNzYWdlIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dm9pZCAwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImNhdXNlIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dm9pZCAwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZToiQmFzZUVycm9yIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJ2ZXJzaW9uIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6YG94QCR7Um0oKX1gfSksdGhpcy5jYXVzZT1yLmNhdXNlLHRoaXMuZGV0YWlscz1uLHRoaXMuZG9jcz1vLHRoaXMuZG9jc1BhdGg9aSx0aGlzLnNob3J0TWVzc2FnZT1lfXdhbGsoZSl7cmV0dXJuIG11KHRoaXMsZSl9fWZ1bmN0aW9uIG11KHQsZSl7cmV0dXJuIGU/Lih0KT90OnQmJnR5cGVvZiB0PT0ib2JqZWN0IiYmImNhdXNlImluIHQmJnQuY2F1c2U/bXUodC5jYXVzZSxlKTplP251bGw6dH1mdW5jdGlvbiBObSh0LGUscixuKXtpZih0eXBlb2YgdC5zZXRCaWdVaW50NjQ9PSJmdW5jdGlvbiIpcmV0dXJuIHQuc2V0QmlnVWludDY0KGUscixuKTtjb25zdCBpPUJpZ0ludCgzMikscz1CaWdJbnQoNDI5NDk2NzI5NSksbz1OdW1iZXIocj4+aSZzKSxhPU51bWJlcihyJnMpLGM9bj80OjAsdT1uPzA6NDt0LnNldFVpbnQzMihlK2MsbyxuKSx0LnNldFVpbnQzMihlK3UsYSxuKX1mdW5jdGlvbiBQbSh0LGUscil7cmV0dXJuIHQmZV5+dCZyfWZ1bmN0aW9uICRtKHQsZSxyKXtyZXR1cm4gdCZlXnQmcl5lJnJ9Y2xhc3MgYnUgZXh0ZW5kcyB1aXtjb25zdHJ1Y3RvcihlLHIsbixpKXtzdXBlcigpLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5sZW5ndGg9MCx0aGlzLnBvcz0wLHRoaXMuZGVzdHJveWVkPSExLHRoaXMuYmxvY2tMZW49ZSx0aGlzLm91dHB1dExlbj1yLHRoaXMucGFkT2Zmc2V0PW4sdGhpcy5pc0xFPWksdGhpcy5idWZmZXI9bmV3IFVpbnQ4QXJyYXkoZSksdGhpcy52aWV3PXFzKHRoaXMuYnVmZmVyKX11cGRhdGUoZSl7V3QodGhpcyksZT10dChlKSxldChlKTtjb25zdHt2aWV3OnIsYnVmZmVyOm4sYmxvY2tMZW46aX09dGhpcyxzPWUubGVuZ3RoO2ZvcihsZXQgbz0wO288czspe2NvbnN0IGE9TWF0aC5taW4oaS10aGlzLnBvcyxzLW8pO2lmKGE9PT1pKXtjb25zdCBjPXFzKGUpO2Zvcig7aTw9cy1vO28rPWkpdGhpcy5wcm9jZXNzKGMsbyk7Y29udGludWV9bi5zZXQoZS5zdWJhcnJheShvLG8rYSksdGhpcy5wb3MpLHRoaXMucG9zKz1hLG8rPWEsdGhpcy5wb3M9PT1pJiYodGhpcy5wcm9jZXNzKHIsMCksdGhpcy5wb3M9MCl9cmV0dXJuIHRoaXMubGVuZ3RoKz1lLmxlbmd0aCx0aGlzLnJvdW5kQ2xlYW4oKSx0aGlzfWRpZ2VzdEludG8oZSl7V3QodGhpcyksRnMoZSx0aGlzKSx0aGlzLmZpbmlzaGVkPSEwO2NvbnN0e2J1ZmZlcjpyLHZpZXc6bixibG9ja0xlbjppLGlzTEU6c309dGhpcztsZXR7cG9zOm99PXRoaXM7cltvKytdPTEyOCxLZSh0aGlzLmJ1ZmZlci5zdWJhcnJheShvKSksdGhpcy5wYWRPZmZzZXQ+aS1vJiYodGhpcy5wcm9jZXNzKG4sMCksbz0wKTtmb3IobGV0IGg9bztoPGk7aCsrKXJbaF09MDtObShuLGktOCxCaWdJbnQodGhpcy5sZW5ndGgqOCkscyksdGhpcy5wcm9jZXNzKG4sMCk7Y29uc3QgYT1xcyhlKSxjPXRoaXMub3V0cHV0TGVuO2lmKGMlNCl0aHJvdyBuZXcgRXJyb3IoIl9zaGEyOiBvdXRwdXRMZW4gc2hvdWxkIGJlIGFsaWduZWQgdG8gMzJiaXQiKTtjb25zdCB1PWMvNCxsPXRoaXMuZ2V0KCk7aWYodT5sLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIl9zaGEyOiBvdXRwdXRMZW4gYmlnZ2VyIHRoYW4gc3RhdGUiKTtmb3IobGV0IGg9MDtoPHU7aCsrKWEuc2V0VWludDMyKDQqaCxsW2hdLHMpfWRpZ2VzdCgpe2NvbnN0e2J1ZmZlcjplLG91dHB1dExlbjpyfT10aGlzO3RoaXMuZGlnZXN0SW50byhlKTtjb25zdCBuPWUuc2xpY2UoMCxyKTtyZXR1cm4gdGhpcy5kZXN0cm95KCksbn1fY2xvbmVJbnRvKGUpe2V8fChlPW5ldyB0aGlzLmNvbnN0cnVjdG9yKSxlLnNldCguLi50aGlzLmdldCgpKTtjb25zdHtibG9ja0xlbjpyLGJ1ZmZlcjpuLGxlbmd0aDppLGZpbmlzaGVkOnMsZGVzdHJveWVkOm8scG9zOmF9PXRoaXM7cmV0dXJuIGUuZGVzdHJveWVkPW8sZS5maW5pc2hlZD1zLGUubGVuZ3RoPWksZS5wb3M9YSxpJXImJmUuYnVmZmVyLnNldChuKSxlfWNsb25lKCl7cmV0dXJuIHRoaXMuX2Nsb25lSW50bygpfX1jb25zdCBadD1VaW50MzJBcnJheS5mcm9tKFsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV0pLF9lPVVpbnQzMkFycmF5LmZyb20oWzM0MTgwNzAzNjUsMzIzODM3MTAzMiwxNjU0MjcwMjUwLDkxNDE1MDY2MywyNDM4NTI5MzcwLDgxMjcwMjk5OSwzNTU0NjIzNjAsNDE0NDkxMjY5NywxNzMxNDA1NDE1LDQyOTA3NzU4NTcsMjM5NDE4MDIzMSwxNzUwNjAzMDI1LDM2NzUwMDg1MjUsMTY5NDA3NjgzOSwxMjAzMDYyODEzLDMyMDQwNzU0MjhdKSx4ZT1VaW50MzJBcnJheS5mcm9tKFsxNzc5MDMzNzAzLDQwODkyMzU3MjAsMzE0NDEzNDI3NywyMjI3ODczNTk1LDEwMTM5MDQyNDIsNDI3MTE3NTcyMywyNzczNDgwNzYyLDE1OTU3NTAxMjksMTM1OTg5MzExOSwyOTE3NTY1MTM3LDI2MDA4MjI5MjQsNzI1NTExMTk5LDUyODczNDYzNSw0MjE1Mzg5NTQ3LDE1NDE0NTkyMjUsMzI3MDMzMjA5XSksQ209VWludDMyQXJyYXkuZnJvbShbMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSksWHQ9bmV3IFVpbnQzMkFycmF5KDY0KTtjbGFzcyBVbSBleHRlbmRzIGJ1e2NvbnN0cnVjdG9yKGU9MzIpe3N1cGVyKDY0LGUsOCwhMSksdGhpcy5BPVp0WzBdfDAsdGhpcy5CPVp0WzFdfDAsdGhpcy5DPVp0WzJdfDAsdGhpcy5EPVp0WzNdfDAsdGhpcy5FPVp0WzRdfDAsdGhpcy5GPVp0WzVdfDAsdGhpcy5HPVp0WzZdfDAsdGhpcy5IPVp0WzddfDB9Z2V0KCl7Y29uc3R7QTplLEI6cixDOm4sRDppLEU6cyxGOm8sRzphLEg6Y309dGhpcztyZXR1cm5bZSxyLG4saSxzLG8sYSxjXX1zZXQoZSxyLG4saSxzLG8sYSxjKXt0aGlzLkE9ZXwwLHRoaXMuQj1yfDAsdGhpcy5DPW58MCx0aGlzLkQ9aXwwLHRoaXMuRT1zfDAsdGhpcy5GPW98MCx0aGlzLkc9YXwwLHRoaXMuSD1jfDB9cHJvY2VzcyhlLHIpe2ZvcihsZXQgaD0wO2g8MTY7aCsrLHIrPTQpWHRbaF09ZS5nZXRVaW50MzIociwhMSk7Zm9yKGxldCBoPTE2O2g8NjQ7aCsrKXtjb25zdCBmPVh0W2gtMTVdLHA9WHRbaC0yXSxkPWR0KGYsNyleZHQoZiwxOCleZj4+PjMsZz1kdChwLDE3KV5kdChwLDE5KV5wPj4+MTA7WHRbaF09ZytYdFtoLTddK2QrWHRbaC0xNl18MH1sZXR7QTpuLEI6aSxDOnMsRDpvLEU6YSxGOmMsRzp1LEg6bH09dGhpcztmb3IobGV0IGg9MDtoPDY0O2grKyl7Y29uc3QgZj1kdChhLDYpXmR0KGEsMTEpXmR0KGEsMjUpLHA9bCtmK1BtKGEsYyx1KStDbVtoXStYdFtoXXwwLGc9KGR0KG4sMileZHQobiwxMyleZHQobiwyMikpKyRtKG4saSxzKXwwO2w9dSx1PWMsYz1hLGE9bytwfDAsbz1zLHM9aSxpPW4sbj1wK2d8MH1uPW4rdGhpcy5BfDAsaT1pK3RoaXMuQnwwLHM9cyt0aGlzLkN8MCxvPW8rdGhpcy5EfDAsYT1hK3RoaXMuRXwwLGM9Yyt0aGlzLkZ8MCx1PXUrdGhpcy5HfDAsbD1sK3RoaXMuSHwwLHRoaXMuc2V0KG4saSxzLG8sYSxjLHUsbCl9cm91bmRDbGVhbigpe0tlKFh0KX1kZXN0cm95KCl7dGhpcy5zZXQoMCwwLDAsMCwwLDAsMCwwKSxLZSh0aGlzLmJ1ZmZlcil9fWNvbnN0IEV1PW51KFsiMHg0MjhhMmY5OGQ3MjhhZTIyIiwiMHg3MTM3NDQ5MTIzZWY2NWNkIiwiMHhiNWMwZmJjZmVjNGQzYjJmIiwiMHhlOWI1ZGJhNTgxODlkYmJjIiwiMHgzOTU2YzI1YmYzNDhiNTM4IiwiMHg1OWYxMTFmMWI2MDVkMDE5IiwiMHg5MjNmODJhNGFmMTk0ZjliIiwiMHhhYjFjNWVkNWRhNmQ4MTE4IiwiMHhkODA3YWE5OGEzMDMwMjQyIiwiMHgxMjgzNWIwMTQ1NzA2ZmJlIiwiMHgyNDMxODViZTRlZTRiMjhjIiwiMHg1NTBjN2RjM2Q1ZmZiNGUyIiwiMHg3MmJlNWQ3NGYyN2I4OTZmIiwiMHg4MGRlYjFmZTNiMTY5NmIxIiwiMHg5YmRjMDZhNzI1YzcxMjM1IiwiMHhjMTliZjE3NGNmNjkyNjk0IiwiMHhlNDliNjljMTllZjE0YWQyIiwiMHhlZmJlNDc4NjM4NGYyNWUzIiwiMHgwZmMxOWRjNjhiOGNkNWI1IiwiMHgyNDBjYTFjYzc3YWM5YzY1IiwiMHgyZGU5MmM2ZjU5MmIwMjc1IiwiMHg0YTc0ODRhYTZlYTZlNDgzIiwiMHg1Y2IwYTlkY2JkNDFmYmQ0IiwiMHg3NmY5ODhkYTgzMTE1M2I1IiwiMHg5ODNlNTE1MmVlNjZkZmFiIiwiMHhhODMxYzY2ZDJkYjQzMjEwIiwiMHhiMDAzMjdjODk4ZmIyMTNmIiwiMHhiZjU5N2ZjN2JlZWYwZWU0IiwiMHhjNmUwMGJmMzNkYTg4ZmMyIiwiMHhkNWE3OTE0NzkzMGFhNzI1IiwiMHgwNmNhNjM1MWUwMDM4MjZmIiwiMHgxNDI5Mjk2NzBhMGU2ZTcwIiwiMHgyN2I3MGE4NTQ2ZDIyZmZjIiwiMHgyZTFiMjEzODVjMjZjOTI2IiwiMHg0ZDJjNmRmYzVhYzQyYWVkIiwiMHg1MzM4MGQxMzlkOTViM2RmIiwiMHg2NTBhNzM1NDhiYWY2M2RlIiwiMHg3NjZhMGFiYjNjNzdiMmE4IiwiMHg4MWMyYzkyZTQ3ZWRhZWU2IiwiMHg5MjcyMmM4NTE0ODIzNTNiIiwiMHhhMmJmZThhMTRjZjEwMzY0IiwiMHhhODFhNjY0YmJjNDIzMDAxIiwiMHhjMjRiOGI3MGQwZjg5NzkxIiwiMHhjNzZjNTFhMzA2NTRiZTMwIiwiMHhkMTkyZTgxOWQ2ZWY1MjE4IiwiMHhkNjk5MDYyNDU1NjVhOTEwIiwiMHhmNDBlMzU4NTU3NzEyMDJhIiwiMHgxMDZhYTA3MDMyYmJkMWI4IiwiMHgxOWE0YzExNmI4ZDJkMGM4IiwiMHgxZTM3NmMwODUxNDFhYjUzIiwiMHgyNzQ4Nzc0Y2RmOGVlYjk5IiwiMHgzNGIwYmNiNWUxOWI0OGE4IiwiMHgzOTFjMGNiM2M1Yzk1YTYzIiwiMHg0ZWQ4YWE0YWUzNDE4YWNiIiwiMHg1YjljY2E0Zjc3NjNlMzczIiwiMHg2ODJlNmZmM2Q2YjJiOGEzIiwiMHg3NDhmODJlZTVkZWZiMmZjIiwiMHg3OGE1NjM2ZjQzMTcyZjYwIiwiMHg4NGM4NzgxNGExZjBhYjcyIiwiMHg4Y2M3MDIwODFhNjQzOWVjIiwiMHg5MGJlZmZmYTIzNjMxZTI4IiwiMHhhNDUwNmNlYmRlODJiZGU5IiwiMHhiZWY5YTNmN2IyYzY3OTE1IiwiMHhjNjcxNzhmMmUzNzI1MzJiIiwiMHhjYTI3M2VjZWVhMjY2MTljIiwiMHhkMTg2YjhjNzIxYzBjMjA3IiwiMHhlYWRhN2RkNmNkZTBlYjFlIiwiMHhmNTdkNGY3ZmVlNmVkMTc4IiwiMHgwNmYwNjdhYTcyMTc2ZmJhIiwiMHgwYTYzN2RjNWEyYzg5OGE2IiwiMHgxMTNmOTgwNGJlZjkwZGFlIiwiMHgxYjcxMGIzNTEzMWM0NzFiIiwiMHgyOGRiNzdmNTIzMDQ3ZDg0IiwiMHgzMmNhYWI3YjQwYzcyNDkzIiwiMHgzYzllYmUwYTE1YzliZWJjIiwiMHg0MzFkNjdjNDljMTAwZDRjIiwiMHg0Y2M1ZDRiZWNiM2U0MmI2IiwiMHg1OTdmMjk5Y2ZjNjU3ZTJhIiwiMHg1ZmNiNmZhYjNhZDZmYWVjIiwiMHg2YzQ0MTk4YzRhNDc1ODE3Il0ubWFwKHQ9PkJpZ0ludCh0KSkpLExtPUV1WzBdLGttPUV1WzFdLEp0PW5ldyBVaW50MzJBcnJheSg4MCksUXQ9bmV3IFVpbnQzMkFycmF5KDgwKTtjbGFzcyBqcyBleHRlbmRzIGJ1e2NvbnN0cnVjdG9yKGU9NjQpe3N1cGVyKDEyOCxlLDE2LCExKSx0aGlzLkFoPXhlWzBdfDAsdGhpcy5BbD14ZVsxXXwwLHRoaXMuQmg9eGVbMl18MCx0aGlzLkJsPXhlWzNdfDAsdGhpcy5DaD14ZVs0XXwwLHRoaXMuQ2w9eGVbNV18MCx0aGlzLkRoPXhlWzZdfDAsdGhpcy5EbD14ZVs3XXwwLHRoaXMuRWg9eGVbOF18MCx0aGlzLkVsPXhlWzldfDAsdGhpcy5GaD14ZVsxMF18MCx0aGlzLkZsPXhlWzExXXwwLHRoaXMuR2g9eGVbMTJdfDAsdGhpcy5HbD14ZVsxM118MCx0aGlzLkhoPXhlWzE0XXwwLHRoaXMuSGw9eGVbMTVdfDB9Z2V0KCl7Y29uc3R7QWg6ZSxBbDpyLEJoOm4sQmw6aSxDaDpzLENsOm8sRGg6YSxEbDpjLEVoOnUsRWw6bCxGaDpoLEZsOmYsR2g6cCxHbDpkLEhoOmcsSGw6eX09dGhpcztyZXR1cm5bZSxyLG4saSxzLG8sYSxjLHUsbCxoLGYscCxkLGcseV19c2V0KGUscixuLGkscyxvLGEsYyx1LGwsaCxmLHAsZCxnLHkpe3RoaXMuQWg9ZXwwLHRoaXMuQWw9cnwwLHRoaXMuQmg9bnwwLHRoaXMuQmw9aXwwLHRoaXMuQ2g9c3wwLHRoaXMuQ2w9b3wwLHRoaXMuRGg9YXwwLHRoaXMuRGw9Y3wwLHRoaXMuRWg9dXwwLHRoaXMuRWw9bHwwLHRoaXMuRmg9aHwwLHRoaXMuRmw9ZnwwLHRoaXMuR2g9cHwwLHRoaXMuR2w9ZHwwLHRoaXMuSGg9Z3wwLHRoaXMuSGw9eXwwfXByb2Nlc3MoZSxyKXtmb3IobGV0IHc9MDt3PDE2O3crKyxyKz00KUp0W3ddPWUuZ2V0VWludDMyKHIpLFF0W3ddPWUuZ2V0VWludDMyKHIrPTQpO2ZvcihsZXQgdz0xNjt3PDgwO3crKyl7Y29uc3QgbT1KdFt3LTE1XXwwLF89UXRbdy0xNV18MCx4PVZ0KG0sXywxKV5WdChtLF8sOCleaXUobSxfLDcpLFQ9SHQobSxfLDEpXkh0KG0sXyw4KV5zdShtLF8sNyksQj1KdFt3LTJdfDAsUD1RdFt3LTJdfDAsVT1WdChCLFAsMTkpXmFuKEIsUCw2MSleaXUoQixQLDYpLEw9SHQoQixQLDE5KV5jbihCLFAsNjEpXnN1KEIsUCw2KSxDPXBtKFQsTCxRdFt3LTddLFF0W3ctMTZdKSxTPWdtKEMseCxVLEp0W3ctN10sSnRbdy0xNl0pO0p0W3ddPVN8MCxRdFt3XT1DfDB9bGV0e0FoOm4sQWw6aSxCaDpzLEJsOm8sQ2g6YSxDbDpjLERoOnUsRGw6bCxFaDpoLEVsOmYsRmg6cCxGbDpkLEdoOmcsR2w6eSxIaDp2LEhsOkF9PXRoaXM7Zm9yKGxldCB3PTA7dzw4MDt3Kyspe2NvbnN0IG09VnQoaCxmLDE0KV5WdChoLGYsMTgpXmFuKGgsZiw0MSksXz1IdChoLGYsMTQpXkh0KGgsZiwxOCleY24oaCxmLDQxKSx4PWgmcF5+aCZnLFQ9ZiZkXn5mJnksQj15bShBLF8sVCxrbVt3XSxRdFt3XSksUD13bShCLHYsbSx4LExtW3ddLEp0W3ddKSxVPUJ8MCxMPVZ0KG4saSwyOCleYW4obixpLDM0KV5hbihuLGksMzkpLEM9SHQobixpLDI4KV5jbihuLGksMzQpXmNuKG4saSwzOSksUz1uJnNebiZhXnMmYSxSPWkmb15pJmNebyZjO3Y9Z3wwLEE9eXwwLGc9cHwwLHk9ZHwwLHA9aHwwLGQ9ZnwwLHtoLGw6Zn09UWUodXwwLGx8MCxQfDAsVXwwKSx1PWF8MCxsPWN8MCxhPXN8MCxjPW98MCxzPW58MCxvPWl8MDtjb25zdCBiPWtzKFUsQyxSKTtuPU1zKGIsUCxMLFMpLGk9YnwwfSh7aDpuLGw6aX09UWUodGhpcy5BaHwwLHRoaXMuQWx8MCxufDAsaXwwKSkse2g6cyxsOm99PVFlKHRoaXMuQmh8MCx0aGlzLkJsfDAsc3wwLG98MCkse2g6YSxsOmN9PVFlKHRoaXMuQ2h8MCx0aGlzLkNsfDAsYXwwLGN8MCkse2g6dSxsfT1RZSh0aGlzLkRofDAsdGhpcy5EbHwwLHV8MCxsfDApLHtoLGw6Zn09UWUodGhpcy5FaHwwLHRoaXMuRWx8MCxofDAsZnwwKSx7aDpwLGw6ZH09UWUodGhpcy5GaHwwLHRoaXMuRmx8MCxwfDAsZHwwKSx7aDpnLGw6eX09UWUodGhpcy5HaHwwLHRoaXMuR2x8MCxnfDAseXwwKSx7aDp2LGw6QX09UWUodGhpcy5IaHwwLHRoaXMuSGx8MCx2fDAsQXwwKSx0aGlzLnNldChuLGkscyxvLGEsYyx1LGwsaCxmLHAsZCxnLHksdixBKX1yb3VuZENsZWFuKCl7S2UoSnQsUXQpfWRlc3Ryb3koKXtLZSh0aGlzLmJ1ZmZlciksdGhpcy5zZXQoMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCl9fWNsYXNzIE1tIGV4dGVuZHMganN7Y29uc3RydWN0b3IoKXtzdXBlcig0OCksdGhpcy5BaD1fZVswXXwwLHRoaXMuQWw9X2VbMV18MCx0aGlzLkJoPV9lWzJdfDAsdGhpcy5CbD1fZVszXXwwLHRoaXMuQ2g9X2VbNF18MCx0aGlzLkNsPV9lWzVdfDAsdGhpcy5EaD1fZVs2XXwwLHRoaXMuRGw9X2VbN118MCx0aGlzLkVoPV9lWzhdfDAsdGhpcy5FbD1fZVs5XXwwLHRoaXMuRmg9X2VbMTBdfDAsdGhpcy5GbD1fZVsxMV18MCx0aGlzLkdoPV9lWzEyXXwwLHRoaXMuR2w9X2VbMTNdfDAsdGhpcy5IaD1fZVsxNF18MCx0aGlzLkhsPV9lWzE1XXwwfX1jb25zdCBTZT1VaW50MzJBcnJheS5mcm9tKFs1NzM2NDUyMDQsNDIzMDczOTc1NiwyNjczMTcyMzg3LDMzNjA0NDk3MzAsNTk2ODgzNTYzLDE4Njc3NTU4NTcsMjUyMDI4MjkwNSwxNDk3NDI2NjIxLDI1MTkyMTk5MzgsMjgyNzk0MzkwNywzMTkzODM5MTQxLDE0MDEzMDU0OTAsNzIxNTI1MjQ0LDc0Njk2MTA2NiwyNDY4ODU4NTIsMjE3NzE4Mjg4Ml0pO2NsYXNzIEZtIGV4dGVuZHMganN7Y29uc3RydWN0b3IoKXtzdXBlcigzMiksdGhpcy5BaD1TZVswXXwwLHRoaXMuQWw9U2VbMV18MCx0aGlzLkJoPVNlWzJdfDAsdGhpcy5CbD1TZVszXXwwLHRoaXMuQ2g9U2VbNF18MCx0aGlzLkNsPVNlWzVdfDAsdGhpcy5EaD1TZVs2XXwwLHRoaXMuRGw9U2VbN118MCx0aGlzLkVoPVNlWzhdfDAsdGhpcy5FbD1TZVs5XXwwLHRoaXMuRmg9U2VbMTBdfDAsdGhpcy5GbD1TZVsxMV18MCx0aGlzLkdoPVNlWzEyXXwwLHRoaXMuR2w9U2VbMTNdfDAsdGhpcy5IaD1TZVsxNF18MCx0aGlzLkhsPVNlWzE1XXwwfX1jb25zdCBmbj1sbigoKT0+bmV3IFVtKSxxbT1sbigoKT0+bmV3IGpzKSx6bT1sbigoKT0+bmV3IE1tKSxqbT1sbigoKT0+bmV3IEZtKSxsaT1mbjsvKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovY29uc3QgS3M9QmlnSW50KDApLFZzPUJpZ0ludCgxKTtmdW5jdGlvbiBkbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fEFycmF5QnVmZmVyLmlzVmlldyh0KSYmdC5jb25zdHJ1Y3Rvci5uYW1lPT09IlVpbnQ4QXJyYXkifWZ1bmN0aW9uIEhzKHQpe2lmKCFkbih0KSl0aHJvdyBuZXcgRXJyb3IoIlVpbnQ4QXJyYXkgZXhwZWN0ZWQiKX1mdW5jdGlvbiBwbih0LGUpe2lmKHR5cGVvZiBlIT0iYm9vbGVhbiIpdGhyb3cgbmV3IEVycm9yKHQrIiBib29sZWFuIGV4cGVjdGVkLCBnb3QgIitlKX1mdW5jdGlvbiBoaSh0KXtjb25zdCBlPXQudG9TdHJpbmcoMTYpO3JldHVybiBlLmxlbmd0aCYxPyIwIitlOmV9ZnVuY3Rpb24gdnUodCl7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcigiaGV4IHN0cmluZyBleHBlY3RlZCwgZ290ICIrdHlwZW9mIHQpO3JldHVybiB0PT09IiI/S3M6QmlnSW50KCIweCIrdCl9Y29uc3QgX3U9dHlwZW9mIFVpbnQ4QXJyYXkuZnJvbShbXSkudG9IZXg9PSJmdW5jdGlvbiImJnR5cGVvZiBVaW50OEFycmF5LmZyb21IZXg9PSJmdW5jdGlvbiIsS209QXJyYXkuZnJvbSh7bGVuZ3RoOjI1Nn0sKHQsZSk9PmUudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSk7ZnVuY3Rpb24gZ24odCl7aWYoSHModCksX3UpcmV0dXJuIHQudG9IZXgoKTtsZXQgZT0iIjtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKyllKz1LbVt0W3JdXTtyZXR1cm4gZX1jb25zdCBEdD17XzA6NDgsXzk6NTcsQTo2NSxGOjcwLGE6OTcsZjoxMDJ9O2Z1bmN0aW9uIHh1KHQpe2lmKHQ+PUR0Ll8wJiZ0PD1EdC5fOSlyZXR1cm4gdC1EdC5fMDtpZih0Pj1EdC5BJiZ0PD1EdC5GKXJldHVybiB0LShEdC5BLTEwKTtpZih0Pj1EdC5hJiZ0PD1EdC5mKXJldHVybiB0LShEdC5hLTEwKX1mdW5jdGlvbiBmaSh0KXtpZih0eXBlb2YgdCE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKCJoZXggc3RyaW5nIGV4cGVjdGVkLCBnb3QgIit0eXBlb2YgdCk7aWYoX3UpcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbUhleCh0KTtjb25zdCBlPXQubGVuZ3RoLHI9ZS8yO2lmKGUlMil0aHJvdyBuZXcgRXJyb3IoImhleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCB1bnBhZGRlZCBoZXggb2YgbGVuZ3RoICIrZSk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShyKTtmb3IobGV0IGk9MCxzPTA7aTxyO2krKyxzKz0yKXtjb25zdCBvPXh1KHQuY2hhckNvZGVBdChzKSksYT14dSh0LmNoYXJDb2RlQXQocysxKSk7aWYobz09PXZvaWQgMHx8YT09PXZvaWQgMCl7Y29uc3QgYz10W3NdK3RbcysxXTt0aHJvdyBuZXcgRXJyb3IoJ2hleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCBub24taGV4IGNoYXJhY3RlciAiJytjKyciIGF0IGluZGV4ICcrcyl9bltpXT1vKjE2K2F9cmV0dXJuIG59ZnVuY3Rpb24gZ3IodCl7cmV0dXJuIHZ1KGduKHQpKX1mdW5jdGlvbiBTdSh0KXtyZXR1cm4gSHModCksdnUoZ24oVWludDhBcnJheS5mcm9tKHQpLnJldmVyc2UoKSkpfWZ1bmN0aW9uIHluKHQsZSl7cmV0dXJuIGZpKHQudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KGUqMiwiMCIpKX1mdW5jdGlvbiBJdSh0LGUpe3JldHVybiB5bih0LGUpLnJldmVyc2UoKX1mdW5jdGlvbiBWZSh0LGUscil7bGV0IG47aWYodHlwZW9mIGU9PSJzdHJpbmciKXRyeXtuPWZpKGUpfWNhdGNoKHMpe3Rocm93IG5ldyBFcnJvcih0KyIgbXVzdCBiZSBoZXggc3RyaW5nIG9yIFVpbnQ4QXJyYXksIGNhdXNlOiAiK3MpfWVsc2UgaWYoZG4oZSkpbj1VaW50OEFycmF5LmZyb20oZSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IodCsiIG11c3QgYmUgaGV4IHN0cmluZyBvciBVaW50OEFycmF5Iik7Y29uc3QgaT1uLmxlbmd0aDtpZih0eXBlb2Ygcj09Im51bWJlciImJmkhPT1yKXRocm93IG5ldyBFcnJvcih0KyIgb2YgbGVuZ3RoICIrcisiIGV4cGVjdGVkLCBnb3QgIitpKTtyZXR1cm4gbn1mdW5jdGlvbiBkaSguLi50KXtsZXQgZT0wO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBpPXRbbl07SHMoaSksZSs9aS5sZW5ndGh9Y29uc3Qgcj1uZXcgVWludDhBcnJheShlKTtmb3IobGV0IG49MCxpPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IHM9dFtuXTtyLnNldChzLGkpLGkrPXMubGVuZ3RofXJldHVybiByfWNvbnN0IFdzPXQ9PnR5cGVvZiB0PT0iYmlnaW50IiYmS3M8PXQ7ZnVuY3Rpb24gR3ModCxlLHIpe3JldHVybiBXcyh0KSYmV3MoZSkmJldzKHIpJiZlPD10JiZ0PHJ9ZnVuY3Rpb24gTXIodCxlLHIsbil7aWYoIUdzKGUscixuKSl0aHJvdyBuZXcgRXJyb3IoImV4cGVjdGVkIHZhbGlkICIrdCsiOiAiK3IrIiA8PSBuIDwgIituKyIsIGdvdCAiK2UpfWZ1bmN0aW9uIFZtKHQpe2xldCBlO2ZvcihlPTA7dD5Lczt0Pj49VnMsZSs9MSk7cmV0dXJuIGV9Y29uc3QgcGk9dD0+KFZzPDxCaWdJbnQodCkpLVZzLFlzPXQ9Pm5ldyBVaW50OEFycmF5KHQpLER1PXQ9PlVpbnQ4QXJyYXkuZnJvbSh0KTtmdW5jdGlvbiBIbSh0LGUscil7aWYodHlwZW9mIHQhPSJudW1iZXIifHx0PDIpdGhyb3cgbmV3IEVycm9yKCJoYXNoTGVuIG11c3QgYmUgYSBudW1iZXIiKTtpZih0eXBlb2YgZSE9Im51bWJlciJ8fGU8Mil0aHJvdyBuZXcgRXJyb3IoInFCeXRlTGVuIG11c3QgYmUgYSBudW1iZXIiKTtpZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoImhtYWNGbiBtdXN0IGJlIGEgZnVuY3Rpb24iKTtsZXQgbj1Zcyh0KSxpPVlzKHQpLHM9MDtjb25zdCBvPSgpPT57bi5maWxsKDEpLGkuZmlsbCgwKSxzPTB9LGE9KC4uLmgpPT5yKGksbiwuLi5oKSxjPShoPVlzKDApKT0+e2k9YShEdShbMF0pLGgpLG49YSgpLGgubGVuZ3RoIT09MCYmKGk9YShEdShbMV0pLGgpLG49YSgpKX0sdT0oKT0+e2lmKHMrKz49MWUzKXRocm93IG5ldyBFcnJvcigiZHJiZzogdHJpZWQgMTAwMCB2YWx1ZXMiKTtsZXQgaD0wO2NvbnN0IGY9W107Zm9yKDtoPGU7KXtuPWEoKTtjb25zdCBwPW4uc2xpY2UoKTtmLnB1c2gocCksaCs9bi5sZW5ndGh9cmV0dXJuIGRpKC4uLmYpfTtyZXR1cm4oaCxmKT0+e28oKSxjKGgpO2xldCBwO2Zvcig7IShwPWYodSgpKSk7KWMoKTtyZXR1cm4gbygpLHB9fWNvbnN0IFdtPXtiaWdpbnQ6dD0+dHlwZW9mIHQ9PSJiaWdpbnQiLGZ1bmN0aW9uOnQ9PnR5cGVvZiB0PT0iZnVuY3Rpb24iLGJvb2xlYW46dD0+dHlwZW9mIHQ9PSJib29sZWFuIixzdHJpbmc6dD0+dHlwZW9mIHQ9PSJzdHJpbmciLHN0cmluZ09yVWludDhBcnJheTp0PT50eXBlb2YgdD09InN0cmluZyJ8fGRuKHQpLGlzU2FmZUludGVnZXI6dD0+TnVtYmVyLmlzU2FmZUludGVnZXIodCksYXJyYXk6dD0+QXJyYXkuaXNBcnJheSh0KSxmaWVsZDoodCxlKT0+ZS5GcC5pc1ZhbGlkKHQpLGhhc2g6dD0+dHlwZW9mIHQ9PSJmdW5jdGlvbiImJk51bWJlci5pc1NhZmVJbnRlZ2VyKHQub3V0cHV0TGVuKX07ZnVuY3Rpb24gZ2kodCxlLHI9e30pe2NvbnN0IG49KGkscyxvKT0+e2NvbnN0IGE9V21bc107aWYodHlwZW9mIGEhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHZhbGlkYXRvciBmdW5jdGlvbiIpO2NvbnN0IGM9dFtpXTtpZighKG8mJmM9PT12b2lkIDApJiYhYShjLHQpKXRocm93IG5ldyBFcnJvcigicGFyYW0gIitTdHJpbmcoaSkrIiBpcyBpbnZhbGlkLiBFeHBlY3RlZCAiK3MrIiwgZ290ICIrYyl9O2Zvcihjb25zdFtpLHNdb2YgT2JqZWN0LmVudHJpZXMoZSkpbihpLHMsITEpO2Zvcihjb25zdFtpLHNdb2YgT2JqZWN0LmVudHJpZXMocikpbihpLHMsITApO3JldHVybiB0fWZ1bmN0aW9uIEF1KHQpe2NvbnN0IGU9bmV3IFdlYWtNYXA7cmV0dXJuKHIsLi4ubik9Pntjb25zdCBpPWUuZ2V0KHIpO2lmKGkhPT12b2lkIDApcmV0dXJuIGk7Y29uc3Qgcz10KHIsLi4ubik7cmV0dXJuIGUuc2V0KHIscyksc319ZnVuY3Rpb24gR20odCxlKXtpZihDdSh0KT5lKXRocm93IG5ldyBnYih7Z2l2ZW5TaXplOkN1KHQpLG1heFNpemU6ZX0pfWNvbnN0IEF0PXt6ZXJvOjQ4LG5pbmU6NTcsQTo2NSxGOjcwLGE6OTcsZjoxMDJ9O2Z1bmN0aW9uIE91KHQpe2lmKHQ+PUF0Lnplcm8mJnQ8PUF0Lm5pbmUpcmV0dXJuIHQtQXQuemVybztpZih0Pj1BdC5BJiZ0PD1BdC5GKXJldHVybiB0LShBdC5BLTEwKTtpZih0Pj1BdC5hJiZ0PD1BdC5mKXJldHVybiB0LShBdC5hLTEwKX1mdW5jdGlvbiBZbSh0LGU9e30pe2NvbnN0e2RpcjpyLHNpemU6bj0zMn09ZTtpZihuPT09MClyZXR1cm4gdDtpZih0Lmxlbmd0aD5uKXRocm93IG5ldyB5Yih7c2l6ZTp0Lmxlbmd0aCx0YXJnZXRTaXplOm4sdHlwZToiQnl0ZXMifSk7Y29uc3QgaT1uZXcgVWludDhBcnJheShuKTtmb3IobGV0IHM9MDtzPG47cysrKXtjb25zdCBvPXI9PT0icmlnaHQiO2lbbz9zOm4tcy0xXT10W28/czp0Lmxlbmd0aC1zLTFdfXJldHVybiBpfWZ1bmN0aW9uIFR1KHQsZSl7aWYoZXIodCk+ZSl0aHJvdyBuZXcgc2Ioe2dpdmVuU2l6ZTplcih0KSxtYXhTaXplOmV9KX1mdW5jdGlvbiBabSh0LGUpe2lmKHR5cGVvZiBlPT0ibnVtYmVyIiYmZT4wJiZlPmVyKHQpLTEpdGhyb3cgbmV3ICR1KHtvZmZzZXQ6ZSxwb3NpdGlvbjoic3RhcnQiLHNpemU6ZXIodCl9KX1mdW5jdGlvbiBYbSh0LGUscil7aWYodHlwZW9mIGU9PSJudW1iZXIiJiZ0eXBlb2Ygcj09Im51bWJlciImJmVyKHQpIT09ci1lKXRocm93IG5ldyAkdSh7b2Zmc2V0OnIscG9zaXRpb246ImVuZCIsc2l6ZTplcih0KX0pfWZ1bmN0aW9uIEJ1KHQsZT17fSl7Y29uc3R7ZGlyOnIsc2l6ZTpuPTMyfT1lO2lmKG49PT0wKXJldHVybiB0O2NvbnN0IGk9dC5yZXBsYWNlKCIweCIsIiIpO2lmKGkubGVuZ3RoPm4qMil0aHJvdyBuZXcgb2Ioe3NpemU6TWF0aC5jZWlsKGkubGVuZ3RoLzIpLHRhcmdldFNpemU6bix0eXBlOiJIZXgifSk7cmV0dXJuYDB4JHtpW3I9PT0icmlnaHQiPyJwYWRFbmQiOiJwYWRTdGFydCJdKG4qMiwiMCIpfWB9Y29uc3QgSm09IiNfX2JpZ2ludCI7ZnVuY3Rpb24gWnModCxlLHIpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0LChuLGkpPT50eXBlb2YgaT09ImJpZ2ludCI/aS50b1N0cmluZygpK0ptOmkscil9Y29uc3QgUW09QXJyYXkuZnJvbSh7bGVuZ3RoOjI1Nn0sKHQsZSk9PmUudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSk7ZnVuY3Rpb24gZWIodCxlPXt9KXtjb25zdHtzdHJpY3Q6cj0hMX09ZTtpZighdCl0aHJvdyBuZXcgTnUodCk7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBOdSh0KTtpZihyJiYhL14weFswLTlhLWZBLUZdKiQvLnRlc3QodCkpdGhyb3cgbmV3IFB1KHQpO2lmKCF0LnN0YXJ0c1dpdGgoIjB4IikpdGhyb3cgbmV3IFB1KHQpfWZ1bmN0aW9uIHRiKC4uLnQpe3JldHVybmAweCR7dC5yZWR1Y2UoKGUscik9PmUrci5yZXBsYWNlKCIweCIsIiIpLCIiKX1gfWZ1bmN0aW9uIFhzKHQpe3JldHVybiB0IGluc3RhbmNlb2YgVWludDhBcnJheT95aSh0KTpBcnJheS5pc0FycmF5KHQpP3lpKG5ldyBVaW50OEFycmF5KHQpKTp0fWZ1bmN0aW9uIHlpKHQsZT17fSl7bGV0IHI9IiI7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspcis9UW1bdFtpXV07Y29uc3Qgbj1gMHgke3J9YDtyZXR1cm4gdHlwZW9mIGUuc2l6ZT09Im51bWJlciI/KFR1KG4sZS5zaXplKSxSdShuLGUuc2l6ZSkpOm59ZnVuY3Rpb24gSnModCxlPXt9KXtjb25zdHtzaWduZWQ6cixzaXplOm59PWUsaT1CaWdJbnQodCk7bGV0IHM7bj9yP3M9KDFuPDxCaWdJbnQobikqOG4tMW4pLTFuOnM9Mm4qKihCaWdJbnQobikqOG4pLTFuOnR5cGVvZiB0PT0ibnVtYmVyIiYmKHM9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSk7Y29uc3Qgbz10eXBlb2Ygcz09ImJpZ2ludCImJnI/LXMtMW46MDtpZihzJiZpPnN8fGk8byl7Y29uc3QgdT10eXBlb2YgdD09ImJpZ2ludCI/Im4iOiIiO3Rocm93IG5ldyBpYih7bWF4OnM/YCR7c30ke3V9YDp2b2lkIDAsbWluOmAke299JHt1fWAsc2lnbmVkOnIsc2l6ZTpuLHZhbHVlOmAke3R9JHt1fWB9KX1jb25zdCBjPWAweCR7KHImJmk8MD8oMW48PEJpZ0ludChuKjgpKStCaWdJbnQoaSk6aSkudG9TdHJpbmcoMTYpfWA7cmV0dXJuIG4/cmIoYyxuKTpjfWZ1bmN0aW9uIHJiKHQsZSl7cmV0dXJuIEJ1KHQse2RpcjoibGVmdCIsc2l6ZTplfSl9ZnVuY3Rpb24gUnUodCxlKXtyZXR1cm4gQnUodCx7ZGlyOiJyaWdodCIsc2l6ZTplfSl9ZnVuY3Rpb24gT3QodCxlLHIsbj17fSl7Y29uc3R7c3RyaWN0Oml9PW47Wm0odCxlKTtjb25zdCBzPWAweCR7dC5yZXBsYWNlKCIweCIsIiIpLnNsaWNlKChlPz8wKSoyLChyPz90Lmxlbmd0aCkqMil9YDtyZXR1cm4gaSYmWG0ocyxlLHIpLHN9ZnVuY3Rpb24gZXIodCl7cmV0dXJuIE1hdGguY2VpbCgodC5sZW5ndGgtMikvMil9ZnVuY3Rpb24gbmIodCxlPXt9KXtjb25zdHtzdHJpY3Q6cj0hMX09ZTt0cnl7cmV0dXJuIGViKHQse3N0cmljdDpyfSksITB9Y2F0Y2h7cmV0dXJuITF9fWNsYXNzIGliIGV4dGVuZHMgcmV7Y29uc3RydWN0b3Ioe21heDplLG1pbjpyLHNpZ25lZDpuLHNpemU6aSx2YWx1ZTpzfSl7c3VwZXIoYE51bWJlciBcYCR7c31cYCBpcyBub3QgaW4gc2FmZSR7aT9gICR7aSo4fS1iaXRgOiIifSR7bj8iIHNpZ25lZCI6IiB1bnNpZ25lZCJ9IGludGVnZXIgcmFuZ2UgJHtlP2AoXGAke3J9XGAgdG8gXGAke2V9XGApYDpgKGFib3ZlIFxgJHtyfVxgKWB9YCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZToiSGV4LkludGVnZXJPdXRPZlJhbmdlRXJyb3IifSl9fWNsYXNzIE51IGV4dGVuZHMgcmV7Y29uc3RydWN0b3IoZSl7c3VwZXIoYFZhbHVlIFxgJHt0eXBlb2YgZT09Im9iamVjdCI/WnMoZSk6ZX1cYCBvZiB0eXBlIFxgJHt0eXBlb2YgZX1cYCBpcyBhbiBpbnZhbGlkIGhleCB0eXBlLmAse21ldGFNZXNzYWdlczpbJ0hleCB0eXBlcyBtdXN0IGJlIHJlcHJlc2VudGVkIGFzIGAiMHgke3N0cmluZ30iYC4nXX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IkhleC5JbnZhbGlkSGV4VHlwZUVycm9yIn0pfX1jbGFzcyBQdSBleHRlbmRzIHJle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGBWYWx1ZSBcYCR7ZX1cYCBpcyBhbiBpbnZhbGlkIGhleCB2YWx1ZS5gLHttZXRhTWVzc2FnZXM6WydIZXggdmFsdWVzIG11c3Qgc3RhcnQgd2l0aCBgIjB4ImAgYW5kIGNvbnRhaW4gb25seSBoZXhhZGVjaW1hbCBjaGFyYWN0ZXJzICgwLTksIGEtZiwgQS1GKS4nXX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IkhleC5JbnZhbGlkSGV4VmFsdWVFcnJvciJ9KX19bGV0IHNiPWNsYXNzIGV4dGVuZHMgcmV7Y29uc3RydWN0b3Ioe2dpdmVuU2l6ZTplLG1heFNpemU6cn0pe3N1cGVyKGBTaXplIGNhbm5vdCBleGNlZWQgXGAke3J9XGAgYnl0ZXMuIEdpdmVuIHNpemU6IFxgJHtlfVxgIGJ5dGVzLmApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IkhleC5TaXplT3ZlcmZsb3dFcnJvciJ9KX19O2NsYXNzICR1IGV4dGVuZHMgcmV7Y29uc3RydWN0b3Ioe29mZnNldDplLHBvc2l0aW9uOnIsc2l6ZTpufSl7c3VwZXIoYFNsaWNlICR7cj09PSJzdGFydCI/InN0YXJ0aW5nIjoiZW5kaW5nIn0gYXQgb2Zmc2V0IFxgJHtlfVxgIGlzIG91dC1vZi1ib3VuZHMgKHNpemU6IFxgJHtufVxgKS5gKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibmFtZSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiJIZXguU2xpY2VPZmZzZXRPdXRPZkJvdW5kc0Vycm9yIn0pfX1sZXQgb2I9Y2xhc3MgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7c2l6ZTplLHRhcmdldFNpemU6cix0eXBlOm59KXtzdXBlcihgJHtuLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7bi5zbGljZSgxKS50b0xvd2VyQ2FzZSgpfSBzaXplIChcYCR7ZX1cYCkgZXhjZWVkcyBwYWRkaW5nIHNpemUgKFxgJHtyfVxgKS5gKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibmFtZSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiJIZXguU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yIn0pfX07Y29uc3QgYWI9bmV3IFRleHRFbmNvZGVyO2Z1bmN0aW9uIGNiKHQpe2lmKCEodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXtpZighdCl0aHJvdyBuZXcgd2kodCk7aWYodHlwZW9mIHQhPSJvYmplY3QiKXRocm93IG5ldyB3aSh0KTtpZighKCJCWVRFU19QRVJfRUxFTUVOVCJpbiB0KSl0aHJvdyBuZXcgd2kodCk7aWYodC5CWVRFU19QRVJfRUxFTUVOVCE9PTF8fHQuY29uc3RydWN0b3IubmFtZSE9PSJVaW50OEFycmF5Iil0aHJvdyBuZXcgd2kodCl9fWZ1bmN0aW9uIHViKHQpe3JldHVybiB0IGluc3RhbmNlb2YgVWludDhBcnJheT90OnR5cGVvZiB0PT0ic3RyaW5nIj9oYih0KTpsYih0KX1mdW5jdGlvbiBsYih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/dDpuZXcgVWludDhBcnJheSh0KX1mdW5jdGlvbiBoYih0LGU9e30pe2NvbnN0e3NpemU6cn09ZTtsZXQgbj10O3ImJihUdSh0LHIpLG49UnUodCxyKSk7bGV0IGk9bi5zbGljZSgyKTtpLmxlbmd0aCUyJiYoaT1gMCR7aX1gKTtjb25zdCBzPWkubGVuZ3RoLzIsbz1uZXcgVWludDhBcnJheShzKTtmb3IobGV0IGE9MCxjPTA7YTxzO2ErKyl7Y29uc3QgdT1PdShpLmNoYXJDb2RlQXQoYysrKSksbD1PdShpLmNoYXJDb2RlQXQoYysrKSk7aWYodT09PXZvaWQgMHx8bD09PXZvaWQgMCl0aHJvdyBuZXcgcmUoYEludmFsaWQgYnl0ZSBzZXF1ZW5jZSAoIiR7aVtjLTJdfSR7aVtjLTFdfSIgaW4gIiR7aX0iKS5gKTtvW2FdPXUqMTYrbH1yZXR1cm4gb31mdW5jdGlvbiBmYih0LGU9e30pe2NvbnN0e3NpemU6cn09ZSxuPWFiLmVuY29kZSh0KTtyZXR1cm4gdHlwZW9mIHI9PSJudW1iZXIiPyhHbShuLHIpLGRiKG4scikpOm59ZnVuY3Rpb24gZGIodCxlKXtyZXR1cm4gWW0odCx7ZGlyOiJyaWdodCIsc2l6ZTplfSl9ZnVuY3Rpb24gQ3UodCl7cmV0dXJuIHQubGVuZ3RofWZ1bmN0aW9uIHBiKHQpe3RyeXtyZXR1cm4gY2IodCksITB9Y2F0Y2h7cmV0dXJuITF9fWNsYXNzIHdpIGV4dGVuZHMgcmV7Y29uc3RydWN0b3IoZSl7c3VwZXIoYFZhbHVlIFxgJHt0eXBlb2YgZT09Im9iamVjdCI/WnMoZSk6ZX1cYCBvZiB0eXBlIFxgJHt0eXBlb2YgZX1cYCBpcyBhbiBpbnZhbGlkIEJ5dGVzIHZhbHVlLmAse21ldGFNZXNzYWdlczpbIkJ5dGVzIHZhbHVlcyBtdXN0IGJlIG9mIHR5cGUgYEJ5dGVzYC4iXX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IkJ5dGVzLkludmFsaWRCeXRlc1R5cGVFcnJvciJ9KX19Y2xhc3MgZ2IgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7Z2l2ZW5TaXplOmUsbWF4U2l6ZTpyfSl7c3VwZXIoYFNpemUgY2Fubm90IGV4Y2VlZCBcYCR7cn1cYCBieXRlcy4gR2l2ZW4gc2l6ZTogXGAke2V9XGAgYnl0ZXMuYCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZToiQnl0ZXMuU2l6ZU92ZXJmbG93RXJyb3IifSl9fWNsYXNzIHliIGV4dGVuZHMgcmV7Y29uc3RydWN0b3Ioe3NpemU6ZSx0YXJnZXRTaXplOnIsdHlwZTpufSl7c3VwZXIoYCR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc2xpY2UoMSkudG9Mb3dlckNhc2UoKX0gc2l6ZSAoXGAke2V9XGApIGV4Y2VlZHMgcGFkZGluZyBzaXplIChcYCR7cn1cYCkuYCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZToiQnl0ZXMuU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yIn0pfX1mdW5jdGlvbiBVdSh0LGU9e30pe2NvbnN0e2FzOnI9dHlwZW9mIHQ9PSJzdHJpbmciPyJIZXgiOiJCeXRlcyJ9PWUsbj13dSh1Yih0KSk7cmV0dXJuIHI9PT0iQnl0ZXMiP246eWkobil9Y2xhc3Mgd2IgZXh0ZW5kcyBNYXB7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibWF4U2l6ZSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnZvaWQgMH0pLHRoaXMubWF4U2l6ZT1lfWdldChlKXtjb25zdCByPXN1cGVyLmdldChlKTtyZXR1cm4gc3VwZXIuaGFzKGUpJiZyIT09dm9pZCAwJiYodGhpcy5kZWxldGUoZSksc3VwZXIuc2V0KGUscikpLHJ9c2V0KGUscil7aWYoc3VwZXIuc2V0KGUsciksdGhpcy5tYXhTaXplJiZ0aGlzLnNpemU+dGhpcy5tYXhTaXplKXtjb25zdCBuPXRoaXMua2V5cygpLm5leHQoKS52YWx1ZTtuJiZ0aGlzLmRlbGV0ZShuKX1yZXR1cm4gdGhpc319Y29uc3QgUXM9e2NoZWNrc3VtOm5ldyB3Yig4MTkyKX0uY2hlY2tzdW07ZnVuY3Rpb24gTHUodCxlPXt9KXtjb25zdHtjb21wcmVzc2VkOnJ9PWUse3ByZWZpeDpuLHg6aSx5OnN9PXQ7aWYocj09PSExfHx0eXBlb2YgaT09ImJpZ2ludCImJnR5cGVvZiBzPT0iYmlnaW50Iil7aWYobiE9PTQpdGhyb3cgbmV3IE11KHtwcmVmaXg6bixjYXVzZTpuZXcgeGJ9KTtyZXR1cm59aWYocj09PSEwfHx0eXBlb2YgaT09ImJpZ2ludCImJnR5cGVvZiBzPiJ1Iil7aWYobiE9PTMmJm4hPT0yKXRocm93IG5ldyBNdSh7cHJlZml4Om4sY2F1c2U6bmV3IF9ifSk7cmV0dXJufXRocm93IG5ldyB2Yih7cHVibGljS2V5OnR9KX1mdW5jdGlvbiBtYih0KXtjb25zdCBlPSgoKT0+e2lmKG5iKHQpKXJldHVybiBrdSh0KTtpZihwYih0KSlyZXR1cm4gYmIodCk7Y29uc3R7cHJlZml4OnIseDpuLHk6aX09dDtyZXR1cm4gdHlwZW9mIG49PSJiaWdpbnQiJiZ0eXBlb2YgaT09ImJpZ2ludCI/e3ByZWZpeDpyPz80LHg6bix5Oml9OntwcmVmaXg6cix4Om59fSkoKTtyZXR1cm4gTHUoZSksZX1mdW5jdGlvbiBiYih0KXtyZXR1cm4ga3UoeWkodCkpfWZ1bmN0aW9uIGt1KHQpe2lmKHQubGVuZ3RoIT09MTMyJiZ0Lmxlbmd0aCE9PTEzMCYmdC5sZW5ndGghPT02OCl0aHJvdyBuZXcgU2Ioe3B1YmxpY0tleTp0fSk7aWYodC5sZW5ndGg9PT0xMzApe2NvbnN0IG49QmlnSW50KE90KHQsMCwzMikpLGk9QmlnSW50KE90KHQsMzIsNjQpKTtyZXR1cm57cHJlZml4OjQseDpuLHk6aX19aWYodC5sZW5ndGg9PT0xMzIpe2NvbnN0IG49TnVtYmVyKE90KHQsMCwxKSksaT1CaWdJbnQoT3QodCwxLDMzKSkscz1CaWdJbnQoT3QodCwzMyw2NSkpO3JldHVybntwcmVmaXg6bix4OmkseTpzfX1jb25zdCBlPU51bWJlcihPdCh0LDAsMSkpLHI9QmlnSW50KE90KHQsMSwzMykpO3JldHVybntwcmVmaXg6ZSx4OnJ9fWZ1bmN0aW9uIEViKHQsZT17fSl7THUodCk7Y29uc3R7cHJlZml4OnIseDpuLHk6aX09dCx7aW5jbHVkZVByZWZpeDpzPSEwfT1lO3JldHVybiB0YihzP0pzKHIse3NpemU6MX0pOiIweCIsSnMobix7c2l6ZTozMn0pLHR5cGVvZiBpPT0iYmlnaW50Ij9KcyhpLHtzaXplOjMyfSk6IjB4Iil9Y2xhc3MgdmIgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7cHVibGljS2V5OmV9KXtzdXBlcihgVmFsdWUgXGAke1pzKGUpfVxgIGlzIG5vdCBhIHZhbGlkIHB1YmxpYyBrZXkuYCx7bWV0YU1lc3NhZ2VzOlsiUHVibGljIGtleSBtdXN0IGNvbnRhaW46IiwiLSBhbiBgeGAgYW5kIGBwcmVmaXhgIHZhbHVlIChjb21wcmVzc2VkKSIsIi0gYW4gYHhgLCBgeWAsIGFuZCBgcHJlZml4YCB2YWx1ZSAodW5jb21wcmVzc2VkKSJdfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZToiUHVibGljS2V5LkludmFsaWRFcnJvciJ9KX19Y2xhc3MgTXUgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7cHJlZml4OmUsY2F1c2U6cn0pe3N1cGVyKGBQcmVmaXggIiR7ZX0iIGlzIGludmFsaWQuYCx7Y2F1c2U6cn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IlB1YmxpY0tleS5JbnZhbGlkUHJlZml4RXJyb3IifSl9fWNsYXNzIF9iIGV4dGVuZHMgcmV7Y29uc3RydWN0b3IoKXtzdXBlcigiUHJlZml4IG11c3QgYmUgMiBvciAzIGZvciBjb21wcmVzc2VkIHB1YmxpYyBrZXlzLiIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IlB1YmxpY0tleS5JbnZhbGlkQ29tcHJlc3NlZFByZWZpeEVycm9yIn0pfX1jbGFzcyB4YiBleHRlbmRzIHJle2NvbnN0cnVjdG9yKCl7c3VwZXIoIlByZWZpeCBtdXN0IGJlIDQgZm9yIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5cy4iKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibmFtZSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiJQdWJsaWNLZXkuSW52YWxpZFVuY29tcHJlc3NlZFByZWZpeEVycm9yIn0pfX1sZXQgU2I9Y2xhc3MgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7cHVibGljS2V5OmV9KXtzdXBlcihgVmFsdWUgXGAke2V9XGAgaXMgYW4gaW52YWxpZCBwdWJsaWMga2V5IHNpemUuYCx7bWV0YU1lc3NhZ2VzOlsiRXhwZWN0ZWQ6IDMzIGJ5dGVzIChjb21wcmVzc2VkICsgcHJlZml4KSwgNjQgYnl0ZXMgKHVuY29tcHJlc3NlZCkgb3IgNjUgYnl0ZXMgKHVuY29tcHJlc3NlZCArIHByZWZpeCkuIixgUmVjZWl2ZWQgJHtlcihYcyhlKSl9IGJ5dGVzLmBdfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZToiUHVibGljS2V5LkludmFsaWRTZXJpYWxpemVkU2l6ZUVycm9yIn0pfX07Y29uc3QgSWI9L14weFthLWZBLUYwLTldezQwfSQvO2Z1bmN0aW9uIEZ1KHQsZT17fSl7Y29uc3R7c3RyaWN0OnI9ITB9PWU7aWYoIUliLnRlc3QodCkpdGhyb3cgbmV3IHp1KHthZGRyZXNzOnQsY2F1c2U6bmV3IE9ifSk7aWYocil7aWYodC50b0xvd2VyQ2FzZSgpPT09dClyZXR1cm47aWYocXUodCkhPT10KXRocm93IG5ldyB6dSh7YWRkcmVzczp0LGNhdXNlOm5ldyBUYn0pfX1mdW5jdGlvbiBxdSh0KXtpZihRcy5oYXModCkpcmV0dXJuIFFzLmdldCh0KTtGdSh0LHtzdHJpY3Q6ITF9KTtjb25zdCBlPXQuc3Vic3RyaW5nKDIpLnRvTG93ZXJDYXNlKCkscj1VdShmYihlKSx7YXM6IkJ5dGVzIn0pLG49ZS5zcGxpdCgiIik7Zm9yKGxldCBzPTA7czw0MDtzKz0yKXJbcz4+MV0+PjQ+PTgmJm5bc10mJihuW3NdPW5bc10udG9VcHBlckNhc2UoKSksKHJbcz4+MV0mMTUpPj04JiZuW3MrMV0mJihuW3MrMV09bltzKzFdLnRvVXBwZXJDYXNlKCkpO2NvbnN0IGk9YDB4JHtuLmpvaW4oIiIpfWA7cmV0dXJuIFFzLnNldCh0LGkpLGl9ZnVuY3Rpb24gRGIodCxlPXt9KXtjb25zdHtjaGVja3N1bTpyPSExfT1lO3JldHVybiBGdSh0KSxyP3F1KHQpOnR9ZnVuY3Rpb24gQWIodCxlPXt9KXtjb25zdCByPVV1KGAweCR7RWIodCkuc2xpY2UoNCl9YCkuc3Vic3RyaW5nKDI2KTtyZXR1cm4gRGIoYDB4JHtyfWAsZSl9Y2xhc3MgenUgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7YWRkcmVzczplLGNhdXNlOnJ9KXtzdXBlcihgQWRkcmVzcyAiJHtlfSIgaXMgaW52YWxpZC5gLHtjYXVzZTpyfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZToiQWRkcmVzcy5JbnZhbGlkQWRkcmVzc0Vycm9yIn0pfX1jbGFzcyBPYiBleHRlbmRzIHJle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkFkZHJlc3MgaXMgbm90IGEgMjAgYnl0ZSAoNDAgaGV4YWRlY2ltYWwgY2hhcmFjdGVyKSB2YWx1ZS4iKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibmFtZSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiJBZGRyZXNzLkludmFsaWRJbnB1dEVycm9yIn0pfX1jbGFzcyBUYiBleHRlbmRzIHJle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkFkZHJlc3MgZG9lcyBub3QgbWF0Y2ggaXRzIGNoZWNrc3VtIGNvdW50ZXJwYXJ0LiIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IkFkZHJlc3MuSW52YWxpZENoZWNrc3VtRXJyb3IifSl9fWNsYXNzIGp1IGV4dGVuZHMgdWl7Y29uc3RydWN0b3IoZSxyKXtzdXBlcigpLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITEsYWkoZSk7Y29uc3Qgbj10dChyKTtpZih0aGlzLmlIYXNoPWUuY3JlYXRlKCksdHlwZW9mIHRoaXMuaUhhc2gudXBkYXRlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgaW5zdGFuY2Ugb2YgY2xhc3Mgd2hpY2ggZXh0ZW5kcyB1dGlscy5IYXNoIik7dGhpcy5ibG9ja0xlbj10aGlzLmlIYXNoLmJsb2NrTGVuLHRoaXMub3V0cHV0TGVuPXRoaXMuaUhhc2gub3V0cHV0TGVuO2NvbnN0IGk9dGhpcy5ibG9ja0xlbixzPW5ldyBVaW50OEFycmF5KGkpO3Muc2V0KG4ubGVuZ3RoPmk/ZS5jcmVhdGUoKS51cGRhdGUobikuZGlnZXN0KCk6bik7Zm9yKGxldCBvPTA7bzxzLmxlbmd0aDtvKyspc1tvXV49NTQ7dGhpcy5pSGFzaC51cGRhdGUocyksdGhpcy5vSGFzaD1lLmNyZWF0ZSgpO2ZvcihsZXQgbz0wO288cy5sZW5ndGg7bysrKXNbb11ePTEwNjt0aGlzLm9IYXNoLnVwZGF0ZShzKSxLZShzKX11cGRhdGUoZSl7cmV0dXJuIFd0KHRoaXMpLHRoaXMuaUhhc2gudXBkYXRlKGUpLHRoaXN9ZGlnZXN0SW50byhlKXtXdCh0aGlzKSxldChlLHRoaXMub3V0cHV0TGVuKSx0aGlzLmZpbmlzaGVkPSEwLHRoaXMuaUhhc2guZGlnZXN0SW50byhlKSx0aGlzLm9IYXNoLnVwZGF0ZShlKSx0aGlzLm9IYXNoLmRpZ2VzdEludG8oZSksdGhpcy5kZXN0cm95KCl9ZGlnZXN0KCl7Y29uc3QgZT1uZXcgVWludDhBcnJheSh0aGlzLm9IYXNoLm91dHB1dExlbik7cmV0dXJuIHRoaXMuZGlnZXN0SW50byhlKSxlfV9jbG9uZUludG8oZSl7ZXx8KGU9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykse30pKTtjb25zdHtvSGFzaDpyLGlIYXNoOm4sZmluaXNoZWQ6aSxkZXN0cm95ZWQ6cyxibG9ja0xlbjpvLG91dHB1dExlbjphfT10aGlzO3JldHVybiBlPWUsZS5maW5pc2hlZD1pLGUuZGVzdHJveWVkPXMsZS5ibG9ja0xlbj1vLGUub3V0cHV0TGVuPWEsZS5vSGFzaD1yLl9jbG9uZUludG8oZS5vSGFzaCksZS5pSGFzaD1uLl9jbG9uZUludG8oZS5pSGFzaCksZX1jbG9uZSgpe3JldHVybiB0aGlzLl9jbG9uZUludG8oKX1kZXN0cm95KCl7dGhpcy5kZXN0cm95ZWQ9ITAsdGhpcy5vSGFzaC5kZXN0cm95KCksdGhpcy5pSGFzaC5kZXN0cm95KCl9fWNvbnN0IHduPSh0LGUscik9Pm5ldyBqdSh0LGUpLnVwZGF0ZShyKS5kaWdlc3QoKTt3bi5jcmVhdGU9KHQsZSk9Pm5ldyBqdSh0LGUpOy8qISBub2JsZS1jdXJ2ZXMgLSBNSVQgTGljZW5zZSAoYykgMjAyMiBQYXVsIE1pbGxlciAocGF1bG1pbGxyLmNvbSkgKi9jb25zdCAkZT1CaWdJbnQoMCksT2U9QmlnSW50KDEpLHlyPUJpZ0ludCgyKSxCYj1CaWdJbnQoMyksS3U9QmlnSW50KDQpLFZ1PUJpZ0ludCg1KSxIdT1CaWdJbnQoOCk7ZnVuY3Rpb24gQ2UodCxlKXtjb25zdCByPXQlZTtyZXR1cm4gcj49JGU/cjplK3J9ZnVuY3Rpb24gSGUodCxlLHIpe2xldCBuPXQ7Zm9yKDtlLS0gPiRlOyluKj1uLG4lPXI7cmV0dXJuIG59ZnVuY3Rpb24gZW8odCxlKXtpZih0PT09JGUpdGhyb3cgbmV3IEVycm9yKCJpbnZlcnQ6IGV4cGVjdGVkIG5vbi16ZXJvIG51bWJlciIpO2lmKGU8PSRlKXRocm93IG5ldyBFcnJvcigiaW52ZXJ0OiBleHBlY3RlZCBwb3NpdGl2ZSBtb2R1bHVzLCBnb3QgIitlKTtsZXQgcj1DZSh0LGUpLG49ZSxpPSRlLHM9T2U7Zm9yKDtyIT09JGU7KXtjb25zdCBhPW4vcixjPW4lcix1PWktcyphO249cixyPWMsaT1zLHM9dX1pZihuIT09T2UpdGhyb3cgbmV3IEVycm9yKCJpbnZlcnQ6IGRvZXMgbm90IGV4aXN0Iik7cmV0dXJuIENlKGksZSl9ZnVuY3Rpb24gV3UodCxlKXtjb25zdCByPSh0Lk9SREVSK09lKS9LdSxuPXQucG93KGUscik7aWYoIXQuZXFsKHQuc3FyKG4pLGUpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QiKTtyZXR1cm4gbn1mdW5jdGlvbiBSYih0LGUpe2NvbnN0IHI9KHQuT1JERVItVnUpL0h1LG49dC5tdWwoZSx5ciksaT10LnBvdyhuLHIpLHM9dC5tdWwoZSxpKSxvPXQubXVsKHQubXVsKHMseXIpLGkpLGE9dC5tdWwocyx0LnN1YihvLHQuT05FKSk7aWYoIXQuZXFsKHQuc3FyKGEpLGUpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QiKTtyZXR1cm4gYX1mdW5jdGlvbiBOYih0KXtpZih0PEJpZ0ludCgzKSl0aHJvdyBuZXcgRXJyb3IoInNxcnQgaXMgbm90IGRlZmluZWQgZm9yIHNtYWxsIGZpZWxkIik7bGV0IGU9dC1PZSxyPTA7Zm9yKDtlJXlyPT09JGU7KWUvPXlyLHIrKztsZXQgbj15cjtjb25zdCBpPXRvKHQpO2Zvcig7WXUoaSxuKT09PTE7KWlmKG4rKz4xZTMpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBzcXVhcmUgcm9vdDogcHJvYmFibHkgbm9uLXByaW1lIFAiKTtpZihyPT09MSlyZXR1cm4gV3U7bGV0IHM9aS5wb3cobixlKTtjb25zdCBvPShlK09lKS95cjtyZXR1cm4gZnVuY3Rpb24oYyx1KXtpZihjLmlzMCh1KSlyZXR1cm4gdTtpZihZdShjLHUpIT09MSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIHNxdWFyZSByb290Iik7bGV0IGw9cixoPWMubXVsKGMuT05FLHMpLGY9Yy5wb3codSxlKSxwPWMucG93KHUsbyk7Zm9yKDshYy5lcWwoZixjLk9ORSk7KXtpZihjLmlzMChmKSlyZXR1cm4gYy5aRVJPO2xldCBkPTEsZz1jLnNxcihmKTtmb3IoOyFjLmVxbChnLGMuT05FKTspaWYoZCsrLGc9Yy5zcXIoZyksZD09PWwpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBzcXVhcmUgcm9vdCIpO2NvbnN0IHk9T2U8PEJpZ0ludChsLWQtMSksdj1jLnBvdyhoLHkpO2w9ZCxoPWMuc3FyKHYpLGY9Yy5tdWwoZixoKSxwPWMubXVsKHAsdil9cmV0dXJuIHB9fWZ1bmN0aW9uIFBiKHQpe3JldHVybiB0JUt1PT09QmI/V3U6dCVIdT09PVZ1P1JiOk5iKHQpfWNvbnN0ICRiPVsiY3JlYXRlIiwiaXNWYWxpZCIsImlzMCIsIm5lZyIsImludiIsInNxcnQiLCJzcXIiLCJlcWwiLCJhZGQiLCJzdWIiLCJtdWwiLCJwb3ciLCJkaXYiLCJhZGROIiwic3ViTiIsIm11bE4iLCJzcXJOIl07ZnVuY3Rpb24gQ2IodCl7Y29uc3QgZT17T1JERVI6ImJpZ2ludCIsTUFTSzoiYmlnaW50IixCWVRFUzoiaXNTYWZlSW50ZWdlciIsQklUUzoiaXNTYWZlSW50ZWdlciJ9LHI9JGIucmVkdWNlKChuLGkpPT4obltpXT0iZnVuY3Rpb24iLG4pLGUpO3JldHVybiBnaSh0LHIpfWZ1bmN0aW9uIFViKHQsZSxyKXtpZihyPCRlKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBleHBvbmVudCwgbmVnYXRpdmVzIHVuc3VwcG9ydGVkIik7aWYocj09PSRlKXJldHVybiB0Lk9ORTtpZihyPT09T2UpcmV0dXJuIGU7bGV0IG49dC5PTkUsaT1lO2Zvcig7cj4kZTspciZPZSYmKG49dC5tdWwobixpKSksaT10LnNxcihpKSxyPj49T2U7cmV0dXJuIG59ZnVuY3Rpb24gR3UodCxlLHI9ITEpe2NvbnN0IG49bmV3IEFycmF5KGUubGVuZ3RoKS5maWxsKHI/dC5aRVJPOnZvaWQgMCksaT1lLnJlZHVjZSgobyxhLGMpPT50LmlzMChhKT9vOihuW2NdPW8sdC5tdWwobyxhKSksdC5PTkUpLHM9dC5pbnYoaSk7cmV0dXJuIGUucmVkdWNlUmlnaHQoKG8sYSxjKT0+dC5pczAoYSk/bzoobltjXT10Lm11bChvLG5bY10pLHQubXVsKG8sYSkpLHMpLG59ZnVuY3Rpb24gWXUodCxlKXtjb25zdCByPSh0Lk9SREVSLU9lKS95cixuPXQucG93KGUsciksaT10LmVxbChuLHQuT05FKSxzPXQuZXFsKG4sdC5aRVJPKSxvPXQuZXFsKG4sdC5uZWcodC5PTkUpKTtpZighaSYmIXMmJiFvKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBMZWdlbmRyZSBzeW1ib2wgcmVzdWx0Iik7cmV0dXJuIGk/MTpzPzA6LTF9ZnVuY3Rpb24gWnUodCxlKXtlIT09dm9pZCAwJiZmdChlKTtjb25zdCByPWUhPT12b2lkIDA/ZTp0LnRvU3RyaW5nKDIpLmxlbmd0aCxuPU1hdGguY2VpbChyLzgpO3JldHVybntuQml0TGVuZ3RoOnIsbkJ5dGVMZW5ndGg6bn19ZnVuY3Rpb24gdG8odCxlLHI9ITEsbj17fSl7aWYodDw9JGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZpZWxkOiBleHBlY3RlZCBPUkRFUiA+IDAsIGdvdCAiK3QpO2NvbnN0e25CaXRMZW5ndGg6aSxuQnl0ZUxlbmd0aDpzfT1adSh0LGUpO2lmKHM+MjA0OCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZmllbGQ6IGV4cGVjdGVkIE9SREVSIG9mIDw9IDIwNDggYnl0ZXMiKTtsZXQgbztjb25zdCBhPU9iamVjdC5mcmVlemUoe09SREVSOnQsaXNMRTpyLEJJVFM6aSxCWVRFUzpzLE1BU0s6cGkoaSksWkVSTzokZSxPTkU6T2UsY3JlYXRlOmM9PkNlKGMsdCksaXNWYWxpZDpjPT57aWYodHlwZW9mIGMhPSJiaWdpbnQiKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmaWVsZCBlbGVtZW50OiBleHBlY3RlZCBiaWdpbnQsIGdvdCAiK3R5cGVvZiBjKTtyZXR1cm4gJGU8PWMmJmM8dH0saXMwOmM9PmM9PT0kZSxpc09kZDpjPT4oYyZPZSk9PT1PZSxuZWc6Yz0+Q2UoLWMsdCksZXFsOihjLHUpPT5jPT09dSxzcXI6Yz0+Q2UoYypjLHQpLGFkZDooYyx1KT0+Q2UoYyt1LHQpLHN1YjooYyx1KT0+Q2UoYy11LHQpLG11bDooYyx1KT0+Q2UoYyp1LHQpLHBvdzooYyx1KT0+VWIoYSxjLHUpLGRpdjooYyx1KT0+Q2UoYyplbyh1LHQpLHQpLHNxck46Yz0+YypjLGFkZE46KGMsdSk9PmMrdSxzdWJOOihjLHUpPT5jLXUsbXVsTjooYyx1KT0+Yyp1LGludjpjPT5lbyhjLHQpLHNxcnQ6bi5zcXJ0fHwoYz0+KG98fChvPVBiKHQpKSxvKGEsYykpKSx0b0J5dGVzOmM9PnI/SXUoYyxzKTp5bihjLHMpLGZyb21CeXRlczpjPT57aWYoYy5sZW5ndGghPT1zKXRocm93IG5ldyBFcnJvcigiRmllbGQuZnJvbUJ5dGVzOiBleHBlY3RlZCAiK3MrIiBieXRlcywgZ290ICIrYy5sZW5ndGgpO3JldHVybiByP1N1KGMpOmdyKGMpfSxpbnZlcnRCYXRjaDpjPT5HdShhLGMpLGNtb3Y6KGMsdSxsKT0+bD91OmN9KTtyZXR1cm4gT2JqZWN0LmZyZWV6ZShhKX1mdW5jdGlvbiBYdSh0KXtpZih0eXBlb2YgdCE9ImJpZ2ludCIpdGhyb3cgbmV3IEVycm9yKCJmaWVsZCBvcmRlciBtdXN0IGJlIGJpZ2ludCIpO2NvbnN0IGU9dC50b1N0cmluZygyKS5sZW5ndGg7cmV0dXJuIE1hdGguY2VpbChlLzgpfWZ1bmN0aW9uIEp1KHQpe2NvbnN0IGU9WHUodCk7cmV0dXJuIGUrTWF0aC5jZWlsKGUvMil9ZnVuY3Rpb24gTGIodCxlLHI9ITEpe2NvbnN0IG49dC5sZW5ndGgsaT1YdShlKSxzPUp1KGUpO2lmKG48MTZ8fG48c3x8bj4xMDI0KXRocm93IG5ldyBFcnJvcigiZXhwZWN0ZWQgIitzKyItMTAyNCBieXRlcyBvZiBpbnB1dCwgZ290ICIrbik7Y29uc3Qgbz1yP1N1KHQpOmdyKHQpLGE9Q2UobyxlLU9lKStPZTtyZXR1cm4gcj9JdShhLGkpOnluKGEsaSl9LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2NvbnN0IFF1PUJpZ0ludCgwKSxybz1CaWdJbnQoMSk7ZnVuY3Rpb24gbm8odCxlKXtjb25zdCByPWUubmVnYXRlKCk7cmV0dXJuIHQ/cjplfWZ1bmN0aW9uIGVsKHQsZSl7aWYoIU51bWJlci5pc1NhZmVJbnRlZ2VyKHQpfHx0PD0wfHx0PmUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHdpbmRvdyBzaXplLCBleHBlY3RlZCBbMS4uIitlKyJdLCBnb3QgVz0iK3QpfWZ1bmN0aW9uIGlvKHQsZSl7ZWwodCxlKTtjb25zdCByPU1hdGguY2VpbChlL3QpKzEsbj0yKioodC0xKSxpPTIqKnQscz1waSh0KSxvPUJpZ0ludCh0KTtyZXR1cm57d2luZG93czpyLHdpbmRvd1NpemU6bixtYXNrOnMsbWF4TnVtYmVyOmksc2hpZnRCeTpvfX1mdW5jdGlvbiB0bCh0LGUscil7Y29uc3R7d2luZG93U2l6ZTpuLG1hc2s6aSxtYXhOdW1iZXI6cyxzaGlmdEJ5Om99PXI7bGV0IGE9TnVtYmVyKHQmaSksYz10Pj5vO2E+biYmKGEtPXMsYys9cm8pO2NvbnN0IHU9ZSpuLGw9dStNYXRoLmFicyhhKS0xLGg9YT09PTAsZj1hPDAscD1lJTIhPT0wO3JldHVybntuZXh0TjpjLG9mZnNldDpsLGlzWmVybzpoLGlzTmVnOmYsaXNOZWdGOnAsb2Zmc2V0Rjp1fX1mdW5jdGlvbiBrYih0LGUpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBFcnJvcigiYXJyYXkgZXhwZWN0ZWQiKTt0LmZvckVhY2goKHIsbik9PntpZighKHIgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQgYXQgaW5kZXggIituKX0pfWZ1bmN0aW9uIE1iKHQsZSl7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJhcnJheSBvZiBzY2FsYXJzIGV4cGVjdGVkIik7dC5mb3JFYWNoKChyLG4pPT57aWYoIWUuaXNWYWxpZChyKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgc2NhbGFyIGF0IGluZGV4ICIrbil9KX1jb25zdCBzbz1uZXcgV2Vha01hcCxybD1uZXcgV2Vha01hcDtmdW5jdGlvbiBvbyh0KXtyZXR1cm4gcmwuZ2V0KHQpfHwxfWZ1bmN0aW9uIEZiKHQsZSl7cmV0dXJue2NvbnN0VGltZU5lZ2F0ZTpubyxoYXNQcmVjb21wdXRlcyhyKXtyZXR1cm4gb28ocikhPT0xfSx1bnNhZmVMYWRkZXIocixuLGk9dC5aRVJPKXtsZXQgcz1yO2Zvcig7bj5RdTspbiZybyYmKGk9aS5hZGQocykpLHM9cy5kb3VibGUoKSxuPj49cm87cmV0dXJuIGl9LHByZWNvbXB1dGVXaW5kb3cocixuKXtjb25zdHt3aW5kb3dzOmksd2luZG93U2l6ZTpzfT1pbyhuLGUpLG89W107bGV0IGE9cixjPWE7Zm9yKGxldCB1PTA7dTxpO3UrKyl7Yz1hLG8ucHVzaChjKTtmb3IobGV0IGw9MTtsPHM7bCsrKWM9Yy5hZGQoYSksby5wdXNoKGMpO2E9Yy5kb3VibGUoKX1yZXR1cm4gb30sd05BRihyLG4saSl7bGV0IHM9dC5aRVJPLG89dC5CQVNFO2NvbnN0IGE9aW8ocixlKTtmb3IobGV0IGM9MDtjPGEud2luZG93cztjKyspe2NvbnN0e25leHROOnUsb2Zmc2V0OmwsaXNaZXJvOmgsaXNOZWc6Zixpc05lZ0Y6cCxvZmZzZXRGOmR9PXRsKGksYyxhKTtpPXUsaD9vPW8uYWRkKG5vKHAsbltkXSkpOnM9cy5hZGQobm8oZixuW2xdKSl9cmV0dXJue3A6cyxmOm99fSx3TkFGVW5zYWZlKHIsbixpLHM9dC5aRVJPKXtjb25zdCBvPWlvKHIsZSk7Zm9yKGxldCBhPTA7YTxvLndpbmRvd3MmJmkhPT1RdTthKyspe2NvbnN0e25leHROOmMsb2Zmc2V0OnUsaXNaZXJvOmwsaXNOZWc6aH09dGwoaSxhLG8pO2lmKGk9YywhbCl7Y29uc3QgZj1uW3VdO3M9cy5hZGQoaD9mLm5lZ2F0ZSgpOmYpfX1yZXR1cm4gc30sZ2V0UHJlY29tcHV0ZXMocixuLGkpe2xldCBzPXNvLmdldChuKTtyZXR1cm4gc3x8KHM9dGhpcy5wcmVjb21wdXRlV2luZG93KG4sciksciE9PTEmJnNvLnNldChuLGkocykpKSxzfSx3TkFGQ2FjaGVkKHIsbixpKXtjb25zdCBzPW9vKHIpO3JldHVybiB0aGlzLndOQUYocyx0aGlzLmdldFByZWNvbXB1dGVzKHMscixpKSxuKX0sd05BRkNhY2hlZFVuc2FmZShyLG4saSxzKXtjb25zdCBvPW9vKHIpO3JldHVybiBvPT09MT90aGlzLnVuc2FmZUxhZGRlcihyLG4scyk6dGhpcy53TkFGVW5zYWZlKG8sdGhpcy5nZXRQcmVjb21wdXRlcyhvLHIsaSksbixzKX0sc2V0V2luZG93U2l6ZShyLG4pe2VsKG4sZSkscmwuc2V0KHIsbiksc28uZGVsZXRlKHIpfX19ZnVuY3Rpb24gcWIodCxlLHIsbil7a2Iocix0KSxNYihuLGUpO2NvbnN0IGk9ci5sZW5ndGgscz1uLmxlbmd0aDtpZihpIT09cyl0aHJvdyBuZXcgRXJyb3IoImFycmF5cyBvZiBwb2ludHMgYW5kIHNjYWxhcnMgbXVzdCBoYXZlIGVxdWFsIGxlbmd0aCIpO2NvbnN0IG89dC5aRVJPLGE9Vm0oQmlnSW50KGkpKTtsZXQgYz0xO2E+MTI/Yz1hLTM6YT40P2M9YS0yOmE+MCYmKGM9Mik7Y29uc3QgdT1waShjKSxsPW5ldyBBcnJheShOdW1iZXIodSkrMSkuZmlsbChvKSxoPU1hdGguZmxvb3IoKGUuQklUUy0xKS9jKSpjO2xldCBmPW87Zm9yKGxldCBwPWg7cD49MDtwLT1jKXtsLmZpbGwobyk7Zm9yKGxldCBnPTA7ZzxzO2crKyl7Y29uc3QgeT1uW2ddLHY9TnVtYmVyKHk+PkJpZ0ludChwKSZ1KTtsW3ZdPWxbdl0uYWRkKHJbZ10pfWxldCBkPW87Zm9yKGxldCBnPWwubGVuZ3RoLTEseT1vO2c+MDtnLS0peT15LmFkZChsW2ddKSxkPWQuYWRkKHkpO2lmKGY9Zi5hZGQoZCkscCE9PTApZm9yKGxldCBnPTA7ZzxjO2crKylmPWYuZG91YmxlKCl9cmV0dXJuIGZ9ZnVuY3Rpb24gbmwodCl7cmV0dXJuIENiKHQuRnApLGdpKHQse246ImJpZ2ludCIsaDoiYmlnaW50IixHeDoiZmllbGQiLEd5OiJmaWVsZCJ9LHtuQml0TGVuZ3RoOiJpc1NhZmVJbnRlZ2VyIixuQnl0ZUxlbmd0aDoiaXNTYWZlSW50ZWdlciJ9KSxPYmplY3QuZnJlZXplKHsuLi5adSh0Lm4sdC5uQml0TGVuZ3RoKSwuLi50LHA6dC5GcC5PUkRFUn0pfS8qISBub2JsZS1jdXJ2ZXMgLSBNSVQgTGljZW5zZSAoYykgMjAyMiBQYXVsIE1pbGxlciAocGF1bG1pbGxyLmNvbSkgKi9mdW5jdGlvbiBpbCh0KXt0Lmxvd1MhPT12b2lkIDAmJnBuKCJsb3dTIix0Lmxvd1MpLHQucHJlaGFzaCE9PXZvaWQgMCYmcG4oInByZWhhc2giLHQucHJlaGFzaCl9ZnVuY3Rpb24gemIodCl7Y29uc3QgZT1ubCh0KTtnaShlLHthOiJmaWVsZCIsYjoiZmllbGQifSx7YWxsb3dJbmZpbml0eVBvaW50OiJib29sZWFuIixhbGxvd2VkUHJpdmF0ZUtleUxlbmd0aHM6ImFycmF5IixjbGVhckNvZmFjdG9yOiJmdW5jdGlvbiIsZnJvbUJ5dGVzOiJmdW5jdGlvbiIsaXNUb3JzaW9uRnJlZToiZnVuY3Rpb24iLHRvQnl0ZXM6ImZ1bmN0aW9uIix3cmFwUHJpdmF0ZUtleToiYm9vbGVhbiJ9KTtjb25zdHtlbmRvOnIsRnA6bixhOml9PWU7aWYocil7aWYoIW4uZXFsKGksbi5aRVJPKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZW5kbzogQ1VSVkUuYSBtdXN0IGJlIDAiKTtpZih0eXBlb2YgciE9Im9iamVjdCJ8fHR5cGVvZiByLmJldGEhPSJiaWdpbnQifHx0eXBlb2Ygci5zcGxpdFNjYWxhciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgZW5kbzogZXhwZWN0ZWQgImJldGEiOiBiaWdpbnQgYW5kICJzcGxpdFNjYWxhciI6IGZ1bmN0aW9uJyl9cmV0dXJuIE9iamVjdC5mcmVlemUoey4uLmV9KX1jb25zdCBUdD17RXJyOmNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZT0iIil7c3VwZXIoZSl9fSxfdGx2OntlbmNvZGU6KHQsZSk9Pntjb25zdHtFcnI6cn09VHQ7aWYodDwwfHx0PjI1Nil0aHJvdyBuZXcgcigidGx2LmVuY29kZTogd3JvbmcgdGFnIik7aWYoZS5sZW5ndGgmMSl0aHJvdyBuZXcgcigidGx2LmVuY29kZTogdW5wYWRkZWQgZGF0YSIpO2NvbnN0IG49ZS5sZW5ndGgvMixpPWhpKG4pO2lmKGkubGVuZ3RoLzImMTI4KXRocm93IG5ldyByKCJ0bHYuZW5jb2RlOiBsb25nIGZvcm0gbGVuZ3RoIHRvbyBiaWciKTtjb25zdCBzPW4+MTI3P2hpKGkubGVuZ3RoLzJ8MTI4KToiIjtyZXR1cm4gaGkodCkrcytpK2V9LGRlY29kZSh0LGUpe2NvbnN0e0VycjpyfT1UdDtsZXQgbj0wO2lmKHQ8MHx8dD4yNTYpdGhyb3cgbmV3IHIoInRsdi5lbmNvZGU6IHdyb25nIHRhZyIpO2lmKGUubGVuZ3RoPDJ8fGVbbisrXSE9PXQpdGhyb3cgbmV3IHIoInRsdi5kZWNvZGU6IHdyb25nIHRsdiIpO2NvbnN0IGk9ZVtuKytdLHM9ISEoaSYxMjgpO2xldCBvPTA7aWYoIXMpbz1pO2Vsc2V7Y29uc3QgYz1pJjEyNztpZighYyl0aHJvdyBuZXcgcigidGx2LmRlY29kZShsb25nKTogaW5kZWZpbml0ZSBsZW5ndGggbm90IHN1cHBvcnRlZCIpO2lmKGM+NCl0aHJvdyBuZXcgcigidGx2LmRlY29kZShsb25nKTogYnl0ZSBsZW5ndGggaXMgdG9vIGJpZyIpO2NvbnN0IHU9ZS5zdWJhcnJheShuLG4rYyk7aWYodS5sZW5ndGghPT1jKXRocm93IG5ldyByKCJ0bHYuZGVjb2RlOiBsZW5ndGggYnl0ZXMgbm90IGNvbXBsZXRlIik7aWYodVswXT09PTApdGhyb3cgbmV3IHIoInRsdi5kZWNvZGUobG9uZyk6IHplcm8gbGVmdG1vc3QgYnl0ZSIpO2Zvcihjb25zdCBsIG9mIHUpbz1vPDw4fGw7aWYobis9YyxvPDEyOCl0aHJvdyBuZXcgcigidGx2LmRlY29kZShsb25nKTogbm90IG1pbmltYWwgZW5jb2RpbmciKX1jb25zdCBhPWUuc3ViYXJyYXkobixuK28pO2lmKGEubGVuZ3RoIT09byl0aHJvdyBuZXcgcigidGx2LmRlY29kZTogd3JvbmcgdmFsdWUgbGVuZ3RoIik7cmV0dXJue3Y6YSxsOmUuc3ViYXJyYXkobitvKX19fSxfaW50OntlbmNvZGUodCl7Y29uc3R7RXJyOmV9PVR0O2lmKHQ8QnQpdGhyb3cgbmV3IGUoImludGVnZXI6IG5lZ2F0aXZlIGludGVnZXJzIGFyZSBub3QgYWxsb3dlZCIpO2xldCByPWhpKHQpO2lmKE51bWJlci5wYXJzZUludChyWzBdLDE2KSY4JiYocj0iMDAiK3IpLHIubGVuZ3RoJjEpdGhyb3cgbmV3IGUoInVuZXhwZWN0ZWQgREVSIHBhcnNpbmcgYXNzZXJ0aW9uOiB1bnBhZGRlZCBoZXgiKTtyZXR1cm4gcn0sZGVjb2RlKHQpe2NvbnN0e0VycjplfT1UdDtpZih0WzBdJjEyOCl0aHJvdyBuZXcgZSgiaW52YWxpZCBzaWduYXR1cmUgaW50ZWdlcjogbmVnYXRpdmUiKTtpZih0WzBdPT09MCYmISh0WzFdJjEyOCkpdGhyb3cgbmV3IGUoImludmFsaWQgc2lnbmF0dXJlIGludGVnZXI6IHVubmVjZXNzYXJ5IGxlYWRpbmcgemVybyIpO3JldHVybiBncih0KX19LHRvU2lnKHQpe2NvbnN0e0VycjplLF9pbnQ6cixfdGx2Om59PVR0LGk9VmUoInNpZ25hdHVyZSIsdCkse3Y6cyxsOm99PW4uZGVjb2RlKDQ4LGkpO2lmKG8ubGVuZ3RoKXRocm93IG5ldyBlKCJpbnZhbGlkIHNpZ25hdHVyZTogbGVmdCBieXRlcyBhZnRlciBwYXJzaW5nIik7Y29uc3R7djphLGw6Y309bi5kZWNvZGUoMixzKSx7djp1LGx9PW4uZGVjb2RlKDIsYyk7aWYobC5sZW5ndGgpdGhyb3cgbmV3IGUoImludmFsaWQgc2lnbmF0dXJlOiBsZWZ0IGJ5dGVzIGFmdGVyIHBhcnNpbmciKTtyZXR1cm57cjpyLmRlY29kZShhKSxzOnIuZGVjb2RlKHUpfX0saGV4RnJvbVNpZyh0KXtjb25zdHtfdGx2OmUsX2ludDpyfT1UdCxuPWUuZW5jb2RlKDIsci5lbmNvZGUodC5yKSksaT1lLmVuY29kZSgyLHIuZW5jb2RlKHQucykpLHM9bitpO3JldHVybiBlLmVuY29kZSg0OCxzKX19O2Z1bmN0aW9uIGFvKHQsZSl7cmV0dXJuIGduKHluKHQsZSkpfWNvbnN0IEJ0PUJpZ0ludCgwKSxwZT1CaWdJbnQoMSk7QmlnSW50KDIpO2NvbnN0IGNvPUJpZ0ludCgzKSxqYj1CaWdJbnQoNCk7ZnVuY3Rpb24gS2IodCl7Y29uc3QgZT16Yih0KSx7RnA6cn09ZSxuPXRvKGUubixlLm5CaXRMZW5ndGgpLGk9ZS50b0J5dGVzfHwoKHcsbSxfKT0+e2NvbnN0IHg9bS50b0FmZmluZSgpO3JldHVybiBkaShVaW50OEFycmF5LmZyb20oWzRdKSxyLnRvQnl0ZXMoeC54KSxyLnRvQnl0ZXMoeC55KSl9KSxzPWUuZnJvbUJ5dGVzfHwodz0+e2NvbnN0IG09dy5zdWJhcnJheSgxKSxfPXIuZnJvbUJ5dGVzKG0uc3ViYXJyYXkoMCxyLkJZVEVTKSkseD1yLmZyb21CeXRlcyhtLnN1YmFycmF5KHIuQllURVMsMipyLkJZVEVTKSk7cmV0dXJue3g6Xyx5Onh9fSk7ZnVuY3Rpb24gbyh3KXtjb25zdHthOm0sYjpffT1lLHg9ci5zcXIodyksVD1yLm11bCh4LHcpO3JldHVybiByLmFkZChyLmFkZChULHIubXVsKHcsbSkpLF8pfWZ1bmN0aW9uIGEodyxtKXtjb25zdCBfPXIuc3FyKG0pLHg9byh3KTtyZXR1cm4gci5lcWwoXyx4KX1pZighYShlLkd4LGUuR3kpKXRocm93IG5ldyBFcnJvcigiYmFkIGN1cnZlIHBhcmFtczogZ2VuZXJhdG9yIHBvaW50Iik7Y29uc3QgYz1yLm11bChyLnBvdyhlLmEsY28pLGpiKSx1PXIubXVsKHIuc3FyKGUuYiksQmlnSW50KDI3KSk7aWYoci5pczAoci5hZGQoYyx1KSkpdGhyb3cgbmV3IEVycm9yKCJiYWQgY3VydmUgcGFyYW1zOiBhIG9yIGIiKTtmdW5jdGlvbiBsKHcpe3JldHVybiBHcyh3LHBlLGUubil9ZnVuY3Rpb24gaCh3KXtjb25zdHthbGxvd2VkUHJpdmF0ZUtleUxlbmd0aHM6bSxuQnl0ZUxlbmd0aDpfLHdyYXBQcml2YXRlS2V5OngsbjpUfT1lO2lmKG0mJnR5cGVvZiB3IT0iYmlnaW50Iil7aWYoZG4odykmJih3PWduKHcpKSx0eXBlb2YgdyE9InN0cmluZyJ8fCFtLmluY2x1ZGVzKHcubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcHJpdmF0ZSBrZXkiKTt3PXcucGFkU3RhcnQoXyoyLCIwIil9bGV0IEI7dHJ5e0I9dHlwZW9mIHc9PSJiaWdpbnQiP3c6Z3IoVmUoInByaXZhdGUga2V5Iix3LF8pKX1jYXRjaHt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcHJpdmF0ZSBrZXksIGV4cGVjdGVkIGhleCBvciAiK18rIiBieXRlcywgZ290ICIrdHlwZW9mIHcpfXJldHVybiB4JiYoQj1DZShCLFQpKSxNcigicHJpdmF0ZSBrZXkiLEIscGUsVCksQn1mdW5jdGlvbiBmKHcpe2lmKCEodyBpbnN0YW5jZW9mIGcpKXRocm93IG5ldyBFcnJvcigiUHJvamVjdGl2ZVBvaW50IGV4cGVjdGVkIil9Y29uc3QgcD1BdSgodyxtKT0+e2NvbnN0e3B4Ol8scHk6eCxwejpUfT13O2lmKHIuZXFsKFQsci5PTkUpKXJldHVybnt4Ol8seTp4fTtjb25zdCBCPXcuaXMwKCk7bT09bnVsbCYmKG09Qj9yLk9ORTpyLmludihUKSk7Y29uc3QgUD1yLm11bChfLG0pLFU9ci5tdWwoeCxtKSxMPXIubXVsKFQsbSk7aWYoQilyZXR1cm57eDpyLlpFUk8seTpyLlpFUk99O2lmKCFyLmVxbChMLHIuT05FKSl0aHJvdyBuZXcgRXJyb3IoImludlogd2FzIGludmFsaWQiKTtyZXR1cm57eDpQLHk6VX19KSxkPUF1KHc9PntpZih3LmlzMCgpKXtpZihlLmFsbG93SW5maW5pdHlQb2ludCYmIXIuaXMwKHcucHkpKXJldHVybjt0aHJvdyBuZXcgRXJyb3IoImJhZCBwb2ludDogWkVSTyIpfWNvbnN0e3g6bSx5Ol99PXcudG9BZmZpbmUoKTtpZighci5pc1ZhbGlkKG0pfHwhci5pc1ZhbGlkKF8pKXRocm93IG5ldyBFcnJvcigiYmFkIHBvaW50OiB4IG9yIHkgbm90IEZFIik7aWYoIWEobSxfKSl0aHJvdyBuZXcgRXJyb3IoImJhZCBwb2ludDogZXF1YXRpb24gbGVmdCAhPSByaWdodCIpO2lmKCF3LmlzVG9yc2lvbkZyZWUoKSl0aHJvdyBuZXcgRXJyb3IoImJhZCBwb2ludDogbm90IGluIHByaW1lLW9yZGVyIHN1Ymdyb3VwIik7cmV0dXJuITB9KTtjbGFzcyBne2NvbnN0cnVjdG9yKG0sXyx4KXtpZihtPT1udWxsfHwhci5pc1ZhbGlkKG0pKXRocm93IG5ldyBFcnJvcigieCByZXF1aXJlZCIpO2lmKF89PW51bGx8fCFyLmlzVmFsaWQoXyl8fHIuaXMwKF8pKXRocm93IG5ldyBFcnJvcigieSByZXF1aXJlZCIpO2lmKHg9PW51bGx8fCFyLmlzVmFsaWQoeCkpdGhyb3cgbmV3IEVycm9yKCJ6IHJlcXVpcmVkIik7dGhpcy5weD1tLHRoaXMucHk9Xyx0aGlzLnB6PXgsT2JqZWN0LmZyZWV6ZSh0aGlzKX1zdGF0aWMgZnJvbUFmZmluZShtKXtjb25zdHt4Ol8seTp4fT1tfHx7fTtpZighbXx8IXIuaXNWYWxpZChfKXx8IXIuaXNWYWxpZCh4KSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYWZmaW5lIHBvaW50Iik7aWYobSBpbnN0YW5jZW9mIGcpdGhyb3cgbmV3IEVycm9yKCJwcm9qZWN0aXZlIHBvaW50IG5vdCBhbGxvd2VkIik7Y29uc3QgVD1CPT5yLmVxbChCLHIuWkVSTyk7cmV0dXJuIFQoXykmJlQoeCk/Zy5aRVJPOm5ldyBnKF8seCxyLk9ORSl9Z2V0IHgoKXtyZXR1cm4gdGhpcy50b0FmZmluZSgpLnh9Z2V0IHkoKXtyZXR1cm4gdGhpcy50b0FmZmluZSgpLnl9c3RhdGljIG5vcm1hbGl6ZVoobSl7Y29uc3QgXz1HdShyLG0ubWFwKHg9PngucHopKTtyZXR1cm4gbS5tYXAoKHgsVCk9PngudG9BZmZpbmUoX1tUXSkpLm1hcChnLmZyb21BZmZpbmUpfXN0YXRpYyBmcm9tSGV4KG0pe2NvbnN0IF89Zy5mcm9tQWZmaW5lKHMoVmUoInBvaW50SGV4IixtKSkpO3JldHVybiBfLmFzc2VydFZhbGlkaXR5KCksX31zdGF0aWMgZnJvbVByaXZhdGVLZXkobSl7cmV0dXJuIGcuQkFTRS5tdWx0aXBseShoKG0pKX1zdGF0aWMgbXNtKG0sXyl7cmV0dXJuIHFiKGcsbixtLF8pfV9zZXRXaW5kb3dTaXplKG0pe0Euc2V0V2luZG93U2l6ZSh0aGlzLG0pfWFzc2VydFZhbGlkaXR5KCl7ZCh0aGlzKX1oYXNFdmVuWSgpe2NvbnN0e3k6bX09dGhpcy50b0FmZmluZSgpO2lmKHIuaXNPZGQpcmV0dXJuIXIuaXNPZGQobSk7dGhyb3cgbmV3IEVycm9yKCJGaWVsZCBkb2Vzbid0IHN1cHBvcnQgaXNPZGQiKX1lcXVhbHMobSl7ZihtKTtjb25zdHtweDpfLHB5OngscHo6VH09dGhpcyx7cHg6QixweTpQLHB6OlV9PW0sTD1yLmVxbChyLm11bChfLFUpLHIubXVsKEIsVCkpLEM9ci5lcWwoci5tdWwoeCxVKSxyLm11bChQLFQpKTtyZXR1cm4gTCYmQ31uZWdhdGUoKXtyZXR1cm4gbmV3IGcodGhpcy5weCxyLm5lZyh0aGlzLnB5KSx0aGlzLnB6KX1kb3VibGUoKXtjb25zdHthOm0sYjpffT1lLHg9ci5tdWwoXyxjbykse3B4OlQscHk6QixwejpQfT10aGlzO2xldCBVPXIuWkVSTyxMPXIuWkVSTyxDPXIuWkVSTyxTPXIubXVsKFQsVCksUj1yLm11bChCLEIpLGI9ci5tdWwoUCxQKSxFPXIubXVsKFQsQik7cmV0dXJuIEU9ci5hZGQoRSxFKSxDPXIubXVsKFQsUCksQz1yLmFkZChDLEMpLFU9ci5tdWwobSxDKSxMPXIubXVsKHgsYiksTD1yLmFkZChVLEwpLFU9ci5zdWIoUixMKSxMPXIuYWRkKFIsTCksTD1yLm11bChVLEwpLFU9ci5tdWwoRSxVKSxDPXIubXVsKHgsQyksYj1yLm11bChtLGIpLEU9ci5zdWIoUyxiKSxFPXIubXVsKG0sRSksRT1yLmFkZChFLEMpLEM9ci5hZGQoUyxTKSxTPXIuYWRkKEMsUyksUz1yLmFkZChTLGIpLFM9ci5tdWwoUyxFKSxMPXIuYWRkKEwsUyksYj1yLm11bChCLFApLGI9ci5hZGQoYixiKSxTPXIubXVsKGIsRSksVT1yLnN1YihVLFMpLEM9ci5tdWwoYixSKSxDPXIuYWRkKEMsQyksQz1yLmFkZChDLEMpLG5ldyBnKFUsTCxDKX1hZGQobSl7ZihtKTtjb25zdHtweDpfLHB5OngscHo6VH09dGhpcyx7cHg6QixweTpQLHB6OlV9PW07bGV0IEw9ci5aRVJPLEM9ci5aRVJPLFM9ci5aRVJPO2NvbnN0IFI9ZS5hLGI9ci5tdWwoZS5iLGNvKTtsZXQgRT1yLm11bChfLEIpLEQ9ci5tdWwoeCxQKSxPPXIubXVsKFQsVSksST1yLmFkZChfLHgpLE49ci5hZGQoQixQKTtJPXIubXVsKEksTiksTj1yLmFkZChFLEQpLEk9ci5zdWIoSSxOKSxOPXIuYWRkKF8sVCk7bGV0ICQ9ci5hZGQoQixVKTtyZXR1cm4gTj1yLm11bChOLCQpLCQ9ci5hZGQoRSxPKSxOPXIuc3ViKE4sJCksJD1yLmFkZCh4LFQpLEw9ci5hZGQoUCxVKSwkPXIubXVsKCQsTCksTD1yLmFkZChELE8pLCQ9ci5zdWIoJCxMKSxTPXIubXVsKFIsTiksTD1yLm11bChiLE8pLFM9ci5hZGQoTCxTKSxMPXIuc3ViKEQsUyksUz1yLmFkZChELFMpLEM9ci5tdWwoTCxTKSxEPXIuYWRkKEUsRSksRD1yLmFkZChELEUpLE89ci5tdWwoUixPKSxOPXIubXVsKGIsTiksRD1yLmFkZChELE8pLE89ci5zdWIoRSxPKSxPPXIubXVsKFIsTyksTj1yLmFkZChOLE8pLEU9ci5tdWwoRCxOKSxDPXIuYWRkKEMsRSksRT1yLm11bCgkLE4pLEw9ci5tdWwoSSxMKSxMPXIuc3ViKEwsRSksRT1yLm11bChJLEQpLFM9ci5tdWwoJCxTKSxTPXIuYWRkKFMsRSksbmV3IGcoTCxDLFMpfXN1YnRyYWN0KG0pe3JldHVybiB0aGlzLmFkZChtLm5lZ2F0ZSgpKX1pczAoKXtyZXR1cm4gdGhpcy5lcXVhbHMoZy5aRVJPKX13TkFGKG0pe3JldHVybiBBLndOQUZDYWNoZWQodGhpcyxtLGcubm9ybWFsaXplWil9bXVsdGlwbHlVbnNhZmUobSl7Y29uc3R7ZW5kbzpfLG46eH09ZTtNcigic2NhbGFyIixtLEJ0LHgpO2NvbnN0IFQ9Zy5aRVJPO2lmKG09PT1CdClyZXR1cm4gVDtpZih0aGlzLmlzMCgpfHxtPT09cGUpcmV0dXJuIHRoaXM7aWYoIV98fEEuaGFzUHJlY29tcHV0ZXModGhpcykpcmV0dXJuIEEud05BRkNhY2hlZFVuc2FmZSh0aGlzLG0sZy5ub3JtYWxpemVaKTtsZXR7azFuZWc6QixrMTpQLGsybmVnOlUsazI6TH09Xy5zcGxpdFNjYWxhcihtKSxDPVQsUz1ULFI9dGhpcztmb3IoO1A+QnR8fEw+QnQ7KVAmcGUmJihDPUMuYWRkKFIpKSxMJnBlJiYoUz1TLmFkZChSKSksUj1SLmRvdWJsZSgpLFA+Pj1wZSxMPj49cGU7cmV0dXJuIEImJihDPUMubmVnYXRlKCkpLFUmJihTPVMubmVnYXRlKCkpLFM9bmV3IGcoci5tdWwoUy5weCxfLmJldGEpLFMucHksUy5weiksQy5hZGQoUyl9bXVsdGlwbHkobSl7Y29uc3R7ZW5kbzpfLG46eH09ZTtNcigic2NhbGFyIixtLHBlLHgpO2xldCBULEI7aWYoXyl7Y29uc3R7azFuZWc6UCxrMTpVLGsybmVnOkwsazI6Q309Xy5zcGxpdFNjYWxhcihtKTtsZXR7cDpTLGY6Un09dGhpcy53TkFGKFUpLHtwOmIsZjpFfT10aGlzLndOQUYoQyk7Uz1BLmNvbnN0VGltZU5lZ2F0ZShQLFMpLGI9QS5jb25zdFRpbWVOZWdhdGUoTCxiKSxiPW5ldyBnKHIubXVsKGIucHgsXy5iZXRhKSxiLnB5LGIucHopLFQ9Uy5hZGQoYiksQj1SLmFkZChFKX1lbHNle2NvbnN0e3A6UCxmOlV9PXRoaXMud05BRihtKTtUPVAsQj1VfXJldHVybiBnLm5vcm1hbGl6ZVooW1QsQl0pWzBdfW11bHRpcGx5QW5kQWRkVW5zYWZlKG0sXyx4KXtjb25zdCBUPWcuQkFTRSxCPShVLEwpPT5MPT09QnR8fEw9PT1wZXx8IVUuZXF1YWxzKFQpP1UubXVsdGlwbHlVbnNhZmUoTCk6VS5tdWx0aXBseShMKSxQPUIodGhpcyxfKS5hZGQoQihtLHgpKTtyZXR1cm4gUC5pczAoKT92b2lkIDA6UH10b0FmZmluZShtKXtyZXR1cm4gcCh0aGlzLG0pfWlzVG9yc2lvbkZyZWUoKXtjb25zdHtoOm0saXNUb3JzaW9uRnJlZTpffT1lO2lmKG09PT1wZSlyZXR1cm4hMDtpZihfKXJldHVybiBfKGcsdGhpcyk7dGhyb3cgbmV3IEVycm9yKCJpc1RvcnNpb25GcmVlKCkgaGFzIG5vdCBiZWVuIGRlY2xhcmVkIGZvciB0aGUgZWxsaXB0aWMgY3VydmUiKX1jbGVhckNvZmFjdG9yKCl7Y29uc3R7aDptLGNsZWFyQ29mYWN0b3I6X309ZTtyZXR1cm4gbT09PXBlP3RoaXM6Xz9fKGcsdGhpcyk6dGhpcy5tdWx0aXBseVVuc2FmZShlLmgpfXRvUmF3Qnl0ZXMobT0hMCl7cmV0dXJuIHBuKCJpc0NvbXByZXNzZWQiLG0pLHRoaXMuYXNzZXJ0VmFsaWRpdHkoKSxpKGcsdGhpcyxtKX10b0hleChtPSEwKXtyZXR1cm4gcG4oImlzQ29tcHJlc3NlZCIsbSksZ24odGhpcy50b1Jhd0J5dGVzKG0pKX19Zy5CQVNFPW5ldyBnKGUuR3gsZS5HeSxyLk9ORSksZy5aRVJPPW5ldyBnKHIuWkVSTyxyLk9ORSxyLlpFUk8pO2NvbnN0e2VuZG86eSxuQml0TGVuZ3RoOnZ9PWUsQT1GYihnLHk/TWF0aC5jZWlsKHYvMik6dik7cmV0dXJue0NVUlZFOmUsUHJvamVjdGl2ZVBvaW50Omcsbm9ybVByaXZhdGVLZXlUb1NjYWxhcjpoLHdlaWVyc3RyYXNzRXF1YXRpb246byxpc1dpdGhpbkN1cnZlT3JkZXI6bH19ZnVuY3Rpb24gVmIodCl7Y29uc3QgZT1ubCh0KTtyZXR1cm4gZ2koZSx7aGFzaDoiaGFzaCIsaG1hYzoiZnVuY3Rpb24iLHJhbmRvbUJ5dGVzOiJmdW5jdGlvbiJ9LHtiaXRzMmludDoiZnVuY3Rpb24iLGJpdHMyaW50X21vZE46ImZ1bmN0aW9uIixsb3dTOiJib29sZWFuIn0pLE9iamVjdC5mcmVlemUoe2xvd1M6ITAsLi4uZX0pfWZ1bmN0aW9uIEhiKHQpe2NvbnN0IGU9VmIodCkse0ZwOnIsbixuQnl0ZUxlbmd0aDppLG5CaXRMZW5ndGg6c309ZSxvPXIuQllURVMrMSxhPTIqci5CWVRFUysxO2Z1bmN0aW9uIGMoYil7cmV0dXJuIENlKGIsbil9ZnVuY3Rpb24gdShiKXtyZXR1cm4gZW8oYixuKX1jb25zdHtQcm9qZWN0aXZlUG9pbnQ6bCxub3JtUHJpdmF0ZUtleVRvU2NhbGFyOmgsd2VpZXJzdHJhc3NFcXVhdGlvbjpmLGlzV2l0aGluQ3VydmVPcmRlcjpwfT1LYih7Li4uZSx0b0J5dGVzKGIsRSxEKXtjb25zdCBPPUUudG9BZmZpbmUoKSxJPXIudG9CeXRlcyhPLngpLE49ZGk7cmV0dXJuIHBuKCJpc0NvbXByZXNzZWQiLEQpLEQ/TihVaW50OEFycmF5LmZyb20oW0UuaGFzRXZlblkoKT8yOjNdKSxJKTpOKFVpbnQ4QXJyYXkuZnJvbShbNF0pLEksci50b0J5dGVzKE8ueSkpfSxmcm9tQnl0ZXMoYil7Y29uc3QgRT1iLmxlbmd0aCxEPWJbMF0sTz1iLnN1YmFycmF5KDEpO2lmKEU9PT1vJiYoRD09PTJ8fEQ9PT0zKSl7Y29uc3QgST1ncihPKTtpZighR3MoSSxwZSxyLk9SREVSKSl0aHJvdyBuZXcgRXJyb3IoIlBvaW50IGlzIG5vdCBvbiBjdXJ2ZSIpO2NvbnN0IE49ZihJKTtsZXQgJDt0cnl7JD1yLnNxcnQoTil9Y2F0Y2goail7Y29uc3QgcT1qIGluc3RhbmNlb2YgRXJyb3I/IjogIitqLm1lc3NhZ2U6IiI7dGhyb3cgbmV3IEVycm9yKCJQb2ludCBpcyBub3Qgb24gY3VydmUiK3EpfWNvbnN0IGs9KCQmcGUpPT09cGU7cmV0dXJuKEQmMSk9PT0xIT09ayYmKCQ9ci5uZWcoJCkpLHt4OkkseTokfX1lbHNlIGlmKEU9PT1hJiZEPT09NCl7Y29uc3QgST1yLmZyb21CeXRlcyhPLnN1YmFycmF5KDAsci5CWVRFUykpLE49ci5mcm9tQnl0ZXMoTy5zdWJhcnJheShyLkJZVEVTLDIqci5CWVRFUykpO3JldHVybnt4OkkseTpOfX1lbHNle2NvbnN0IEk9byxOPWE7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIFBvaW50LCBleHBlY3RlZCBsZW5ndGggb2YgIitJKyIsIG9yIHVuY29tcHJlc3NlZCAiK04rIiwgZ290ICIrRSl9fX0pO2Z1bmN0aW9uIGQoYil7Y29uc3QgRT1uPj5wZTtyZXR1cm4gYj5FfWZ1bmN0aW9uIGcoYil7cmV0dXJuIGQoYik/YygtYik6Yn1jb25zdCB5PShiLEUsRCk9PmdyKGIuc2xpY2UoRSxEKSk7Y2xhc3Mgdntjb25zdHJ1Y3RvcihFLEQsTyl7TXIoInIiLEUscGUsbiksTXIoInMiLEQscGUsbiksdGhpcy5yPUUsdGhpcy5zPUQsTyE9bnVsbCYmKHRoaXMucmVjb3Zlcnk9TyksT2JqZWN0LmZyZWV6ZSh0aGlzKX1zdGF0aWMgZnJvbUNvbXBhY3QoRSl7Y29uc3QgRD1pO3JldHVybiBFPVZlKCJjb21wYWN0U2lnbmF0dXJlIixFLEQqMiksbmV3IHYoeShFLDAsRCkseShFLEQsMipEKSl9c3RhdGljIGZyb21ERVIoRSl7Y29uc3R7cjpELHM6T309VHQudG9TaWcoVmUoIkRFUiIsRSkpO3JldHVybiBuZXcgdihELE8pfWFzc2VydFZhbGlkaXR5KCl7fWFkZFJlY292ZXJ5Qml0KEUpe3JldHVybiBuZXcgdih0aGlzLnIsdGhpcy5zLEUpfXJlY292ZXJQdWJsaWNLZXkoRSl7Y29uc3R7cjpELHM6TyxyZWNvdmVyeTpJfT10aGlzLE49VChWZSgibXNnSGFzaCIsRSkpO2lmKEk9PW51bGx8fCFbMCwxLDIsM10uaW5jbHVkZXMoSSkpdGhyb3cgbmV3IEVycm9yKCJyZWNvdmVyeSBpZCBpbnZhbGlkIik7Y29uc3QgJD1JPT09Mnx8ST09PTM/RCtlLm46RDtpZigkPj1yLk9SREVSKXRocm93IG5ldyBFcnJvcigicmVjb3ZlcnkgaWQgMiBvciAzIGludmFsaWQiKTtjb25zdCBrPShJJjEpPT09MD8iMDIiOiIwMyIsej1sLmZyb21IZXgoaythbygkLHIuQllURVMpKSxqPXUoJCkscT1jKC1OKmopLFY9YyhPKmopLFc9bC5CQVNFLm11bHRpcGx5QW5kQWRkVW5zYWZlKHoscSxWKTtpZighVyl0aHJvdyBuZXcgRXJyb3IoInBvaW50IGF0IGluZmluaWZ5Iik7cmV0dXJuIFcuYXNzZXJ0VmFsaWRpdHkoKSxXfWhhc0hpZ2hTKCl7cmV0dXJuIGQodGhpcy5zKX1ub3JtYWxpemVTKCl7cmV0dXJuIHRoaXMuaGFzSGlnaFMoKT9uZXcgdih0aGlzLnIsYygtdGhpcy5zKSx0aGlzLnJlY292ZXJ5KTp0aGlzfXRvREVSUmF3Qnl0ZXMoKXtyZXR1cm4gZmkodGhpcy50b0RFUkhleCgpKX10b0RFUkhleCgpe3JldHVybiBUdC5oZXhGcm9tU2lnKHRoaXMpfXRvQ29tcGFjdFJhd0J5dGVzKCl7cmV0dXJuIGZpKHRoaXMudG9Db21wYWN0SGV4KCkpfXRvQ29tcGFjdEhleCgpe2NvbnN0IEU9aTtyZXR1cm4gYW8odGhpcy5yLEUpK2FvKHRoaXMucyxFKX19Y29uc3QgQT17aXNWYWxpZFByaXZhdGVLZXkoYil7dHJ5e3JldHVybiBoKGIpLCEwfWNhdGNoe3JldHVybiExfX0sbm9ybVByaXZhdGVLZXlUb1NjYWxhcjpoLHJhbmRvbVByaXZhdGVLZXk6KCk9Pntjb25zdCBiPUp1KGUubik7cmV0dXJuIExiKGUucmFuZG9tQnl0ZXMoYiksZS5uKX0scHJlY29tcHV0ZShiPTgsRT1sLkJBU0Upe3JldHVybiBFLl9zZXRXaW5kb3dTaXplKGIpLEUubXVsdGlwbHkoQmlnSW50KDMpKSxFfX07ZnVuY3Rpb24gdyhiLEU9ITApe3JldHVybiBsLmZyb21Qcml2YXRlS2V5KGIpLnRvUmF3Qnl0ZXMoRSl9ZnVuY3Rpb24gbShiKXtpZih0eXBlb2YgYj09ImJpZ2ludCIpcmV0dXJuITE7aWYoYiBpbnN0YW5jZW9mIGwpcmV0dXJuITA7Y29uc3QgRD1WZSgia2V5IixiKS5sZW5ndGgsTz1yLkJZVEVTLEk9TysxLE49MipPKzE7aWYoIShlLmFsbG93ZWRQcml2YXRlS2V5TGVuZ3Roc3x8aT09PUkpKXJldHVybiBEPT09SXx8RD09PU59ZnVuY3Rpb24gXyhiLEUsRD0hMCl7aWYobShiKT09PSEwKXRocm93IG5ldyBFcnJvcigiZmlyc3QgYXJnIG11c3QgYmUgcHJpdmF0ZSBrZXkiKTtpZihtKEUpPT09ITEpdGhyb3cgbmV3IEVycm9yKCJzZWNvbmQgYXJnIG11c3QgYmUgcHVibGljIGtleSIpO3JldHVybiBsLmZyb21IZXgoRSkubXVsdGlwbHkoaChiKSkudG9SYXdCeXRlcyhEKX1jb25zdCB4PWUuYml0czJpbnR8fGZ1bmN0aW9uKGIpe2lmKGIubGVuZ3RoPjgxOTIpdGhyb3cgbmV3IEVycm9yKCJpbnB1dCBpcyB0b28gbGFyZ2UiKTtjb25zdCBFPWdyKGIpLEQ9Yi5sZW5ndGgqOC1zO3JldHVybiBEPjA/RT4+QmlnSW50KEQpOkV9LFQ9ZS5iaXRzMmludF9tb2ROfHxmdW5jdGlvbihiKXtyZXR1cm4gYyh4KGIpKX0sQj1waShzKTtmdW5jdGlvbiBQKGIpe3JldHVybiBNcigibnVtIDwgMl4iK3MsYixCdCxCKSx5bihiLGkpfWZ1bmN0aW9uIFUoYixFLEQ9TCl7aWYoWyJyZWNvdmVyZWQiLCJjYW5vbmljYWwiXS5zb21lKEg9PkggaW4gRCkpdGhyb3cgbmV3IEVycm9yKCJzaWduKCkgbGVnYWN5IG9wdGlvbnMgbm90IHN1cHBvcnRlZCIpO2NvbnN0e2hhc2g6TyxyYW5kb21CeXRlczpJfT1lO2xldHtsb3dTOk4scHJlaGFzaDokLGV4dHJhRW50cm9weTprfT1EO049PW51bGwmJihOPSEwKSxiPVZlKCJtc2dIYXNoIixiKSxpbChEKSwkJiYoYj1WZSgicHJlaGFzaGVkIG1zZ0hhc2giLE8oYikpKTtjb25zdCB6PVQoYiksaj1oKEUpLHE9W1AoaiksUCh6KV07aWYoayE9bnVsbCYmayE9PSExKXtjb25zdCBIPWs9PT0hMD9JKHIuQllURVMpOms7cS5wdXNoKFZlKCJleHRyYUVudHJvcHkiLEgpKX1jb25zdCBWPWRpKC4uLnEpLFc9ejtmdW5jdGlvbiBHKEgpe2NvbnN0IFg9eChIKTtpZighcChYKSlyZXR1cm47Y29uc3QgYWU9dShYKSxEZT1sLkJBU0UubXVsdGlwbHkoWCkudG9BZmZpbmUoKSxBZT1jKERlLngpO2lmKEFlPT09QnQpcmV0dXJuO2NvbnN0IGF0PWMoYWUqYyhXK0FlKmopKTtpZihhdD09PUJ0KXJldHVybjtsZXQgY3Q9KERlLng9PT1BZT8wOjIpfE51bWJlcihEZS55JnBlKSxaaT1hdDtyZXR1cm4gTiYmZChhdCkmJihaaT1nKGF0KSxjdF49MSksbmV3IHYoQWUsWmksY3QpfXJldHVybntzZWVkOlYsazJzaWc6R319Y29uc3QgTD17bG93UzplLmxvd1MscHJlaGFzaDohMX0sQz17bG93UzplLmxvd1MscHJlaGFzaDohMX07ZnVuY3Rpb24gUyhiLEUsRD1MKXtjb25zdHtzZWVkOk8sazJzaWc6SX09VShiLEUsRCksTj1lO3JldHVybiBIbShOLmhhc2gub3V0cHV0TGVuLE4ubkJ5dGVMZW5ndGgsTi5obWFjKShPLEkpfWwuQkFTRS5fc2V0V2luZG93U2l6ZSg4KTtmdW5jdGlvbiBSKGIsRSxELE89Qyl7Y29uc3QgST1iO0U9VmUoIm1zZ0hhc2giLEUpLEQ9VmUoInB1YmxpY0tleSIsRCk7Y29uc3R7bG93UzpOLHByZWhhc2g6JCxmb3JtYXQ6a309TztpZihpbChPKSwic3RyaWN0ImluIE8pdGhyb3cgbmV3IEVycm9yKCJvcHRpb25zLnN0cmljdCB3YXMgcmVuYW1lZCB0byBsb3dTIik7aWYoayE9PXZvaWQgMCYmayE9PSJjb21wYWN0IiYmayE9PSJkZXIiKXRocm93IG5ldyBFcnJvcigiZm9ybWF0IG11c3QgYmUgY29tcGFjdCBvciBkZXIiKTtjb25zdCB6PXR5cGVvZiBJPT0ic3RyaW5nInx8ZG4oSSksaj0heiYmIWsmJnR5cGVvZiBJPT0ib2JqZWN0IiYmSSE9PW51bGwmJnR5cGVvZiBJLnI9PSJiaWdpbnQiJiZ0eXBlb2YgSS5zPT0iYmlnaW50IjtpZigheiYmIWopdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNpZ25hdHVyZSwgZXhwZWN0ZWQgVWludDhBcnJheSwgaGV4IHN0cmluZyBvciBTaWduYXR1cmUgaW5zdGFuY2UiKTtsZXQgcSxWO3RyeXtpZihqJiYocT1uZXcgdihJLnIsSS5zKSkseil7dHJ5e2shPT0iY29tcGFjdCImJihxPXYuZnJvbURFUihJKSl9Y2F0Y2goY3Qpe2lmKCEoY3QgaW5zdGFuY2VvZiBUdC5FcnIpKXRocm93IGN0fSFxJiZrIT09ImRlciImJihxPXYuZnJvbUNvbXBhY3QoSSkpfVY9bC5mcm9tSGV4KEQpfWNhdGNoe3JldHVybiExfWlmKCFxfHxOJiZxLmhhc0hpZ2hTKCkpcmV0dXJuITE7JCYmKEU9ZS5oYXNoKEUpKTtjb25zdHtyOlcsczpHfT1xLEg9VChFKSxYPXUoRyksYWU9YyhIKlgpLERlPWMoVypYKSxBZT1sLkJBU0UubXVsdGlwbHlBbmRBZGRVbnNhZmUoVixhZSxEZSk/LnRvQWZmaW5lKCk7cmV0dXJuIEFlP2MoQWUueCk9PT1XOiExfXJldHVybntDVVJWRTplLGdldFB1YmxpY0tleTp3LGdldFNoYXJlZFNlY3JldDpfLHNpZ246Uyx2ZXJpZnk6UixQcm9qZWN0aXZlUG9pbnQ6bCxTaWduYXR1cmU6dix1dGlsczpBfX0vKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovZnVuY3Rpb24gV2IodCl7cmV0dXJue2hhc2g6dCxobWFjOihlLC4uLnIpPT53bih0LGUsSXQoLi4ucikpLHJhbmRvbUJ5dGVzOll0fX1mdW5jdGlvbiBHYih0LGUpe2NvbnN0IHI9bj0+SGIoey4uLnQsLi4uV2Iobil9KTtyZXR1cm57Li4ucihlKSxjcmVhdGU6cn19LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2NvbnN0IHNsPUJpZ0ludCgiMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWZmZmZmYzJmIiksb2w9QmlnSW50KCIweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYmFhZWRjZTZhZjQ4YTAzYmJmZDI1ZThjZDAzNjQxNDEiKSxZYj1CaWdJbnQoMCksWmI9QmlnSW50KDEpLHVvPUJpZ0ludCgyKSxhbD0odCxlKT0+KHQrZS91bykvZTtmdW5jdGlvbiBYYih0KXtjb25zdCBlPXNsLHI9QmlnSW50KDMpLG49QmlnSW50KDYpLGk9QmlnSW50KDExKSxzPUJpZ0ludCgyMiksbz1CaWdJbnQoMjMpLGE9QmlnSW50KDQ0KSxjPUJpZ0ludCg4OCksdT10KnQqdCVlLGw9dSp1KnQlZSxoPUhlKGwscixlKSpsJWUsZj1IZShoLHIsZSkqbCVlLHA9SGUoZix1byxlKSp1JWUsZD1IZShwLGksZSkqcCVlLGc9SGUoZCxzLGUpKmQlZSx5PUhlKGcsYSxlKSpnJWUsdj1IZSh5LGMsZSkqeSVlLEE9SGUodixhLGUpKmclZSx3PUhlKEEscixlKSpsJWUsbT1IZSh3LG8sZSkqZCVlLF89SGUobSxuLGUpKnUlZSx4PUhlKF8sdW8sZSk7aWYoIWxvLmVxbChsby5zcXIoeCksdCkpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBzcXVhcmUgcm9vdCIpO3JldHVybiB4fWNvbnN0IGxvPXRvKHNsLHZvaWQgMCx2b2lkIDAse3NxcnQ6WGJ9KSxKYj1HYih7YTpZYixiOkJpZ0ludCg3KSxGcDpsbyxuOm9sLEd4OkJpZ0ludCgiNTUwNjYyNjMwMjIyNzczNDM2Njk1Nzg3MTg4OTUxNjg1MzQzMjYyNTA2MDM0NTM3Nzc1OTQxNzU1MDAxODczNjAzODkxMTY3MjkyNDAiKSxHeTpCaWdJbnQoIjMyNjcwNTEwMDIwNzU4ODE2OTc4MDgzMDg1MTMwNTA3MDQzMTg0NDcxMjczMzgwNjU5MjQzMjc1OTM4OTA0MzM1NzU3MzM3NDgyNDI0IiksaDpCaWdJbnQoMSksbG93UzohMCxlbmRvOntiZXRhOkJpZ0ludCgiMHg3YWU5NmEyYjY1N2MwNzEwNmU2NDQ3OWVhYzM0MzRlOTljZjA0OTc1MTJmNTg5OTVjMTM5NmMyODcxOTUwMWVlIiksc3BsaXRTY2FsYXI6dD0+e2NvbnN0IGU9b2wscj1CaWdJbnQoIjB4MzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUiKSxuPS1aYipCaWdJbnQoIjB4ZTQ0MzdlZDYwMTBlODgyODZmNTQ3ZmE5MGFiZmU0YzMiKSxpPUJpZ0ludCgiMHgxMTRjYTUwZjdhOGUyZjNmNjU3YzExMDhkOWQ0NGNmZDgiKSxzPXIsbz1CaWdJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiksYT1hbChzKnQsZSksYz1hbCgtbip0LGUpO2xldCB1PUNlKHQtYSpyLWMqaSxlKSxsPUNlKC1hKm4tYypzLGUpO2NvbnN0IGg9dT5vLGY9bD5vO2lmKGgmJih1PWUtdSksZiYmKGw9ZS1sKSx1Pm98fGw+byl0aHJvdyBuZXcgRXJyb3IoInNwbGl0U2NhbGFyOiBFbmRvbW9ycGhpc20gZmFpbGVkLCBrPSIrdCk7cmV0dXJue2sxbmVnOmgsazE6dSxrMm5lZzpmLGsyOmx9fX19LGZuKTtmdW5jdGlvbiBRYih0KXtpZih0Lmxlbmd0aCE9PTEzMCYmdC5sZW5ndGghPT0xMzIpdGhyb3cgbmV3IHQxKHtzaWduYXR1cmU6dH0pO2NvbnN0IGU9QmlnSW50KE90KHQsMCwzMikpLHI9QmlnSW50KE90KHQsMzIsNjQpKSxuPSgoKT0+e2NvbnN0IGk9K2AweCR7dC5zbGljZSgxMzApfWA7aWYoIU51bWJlci5pc05hTihpKSl0cnl7cmV0dXJuIGUxKGkpfWNhdGNoe3Rocm93IG5ldyByMSh7dmFsdWU6aX0pfX0pKCk7cmV0dXJuIHR5cGVvZiBuPiJ1Ij97cjplLHM6cn06e3I6ZSxzOnIseVBhcml0eTpufX1mdW5jdGlvbiBlMSh0KXtpZih0PT09MHx8dD09PTI3KXJldHVybiAwO2lmKHQ9PT0xfHx0PT09MjgpcmV0dXJuIDE7aWYodD49MzUpcmV0dXJuIHQlMj09PTA/MTowO3Rocm93IG5ldyBuMSh7dmFsdWU6dH0pfWNsYXNzIHQxIGV4dGVuZHMgcmV7Y29uc3RydWN0b3Ioe3NpZ25hdHVyZTplfSl7c3VwZXIoYFZhbHVlIFxgJHtlfVxgIGlzIGFuIGludmFsaWQgc2lnbmF0dXJlIHNpemUuYCx7bWV0YU1lc3NhZ2VzOlsiRXhwZWN0ZWQ6IDY0IGJ5dGVzIG9yIDY1IGJ5dGVzLiIsYFJlY2VpdmVkICR7ZXIoWHMoZSkpfSBieXRlcy5gXX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJuYW1lIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6IlNpZ25hdHVyZS5JbnZhbGlkU2VyaWFsaXplZFNpemVFcnJvciJ9KX19Y2xhc3MgcjEgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7dmFsdWU6ZX0pe3N1cGVyKGBWYWx1ZSBcYCR7ZX1cYCBpcyBhbiBpbnZhbGlkIHktcGFyaXR5IHZhbHVlLiBZLXBhcml0eSBtdXN0IGJlIDAgb3IgMS5gKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibmFtZSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiJTaWduYXR1cmUuSW52YWxpZFlQYXJpdHlFcnJvciJ9KX19Y2xhc3MgbjEgZXh0ZW5kcyByZXtjb25zdHJ1Y3Rvcih7dmFsdWU6ZX0pe3N1cGVyKGBWYWx1ZSBcYCR7ZX1cYCBpcyBhbiBpbnZhbGlkIHYgdmFsdWUuIHYgbXVzdCBiZSAyNywgMjggb3IgPj0zNS5gKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibmFtZSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiJTaWduYXR1cmUuSW52YWxpZFZFcnJvciJ9KX19Y29uc3QgaTE9VWludDhBcnJheS5mcm9tKFswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE0LDEwLDQsOCw5LDE1LDEzLDYsMSwxMiwwLDIsMTEsNyw1LDMsMTEsOCwxMiwwLDUsMiwxNSwxMywxMCwxNCwzLDYsNywxLDksNCw3LDksMywxLDEzLDEyLDExLDE0LDIsNiw1LDEwLDQsMCwxNSw4LDksMCw1LDcsMiw0LDEwLDE1LDE0LDEsMTEsMTIsNiw4LDMsMTMsMiwxMiw2LDEwLDAsMTEsOCwzLDQsMTMsNyw1LDE1LDE0LDEsOSwxMiw1LDEsMTUsMTQsMTMsNCwxMCwwLDcsNiwzLDksMiw4LDExLDEzLDExLDcsMTQsMTIsMSwzLDksNSwwLDE1LDQsOCw2LDIsMTAsNiwxNSwxNCw5LDExLDMsMCw4LDEyLDIsMTMsNywxLDQsMTAsNSwxMCwyLDgsNCw3LDYsMSw1LDE1LDExLDksMTQsMywxMiwxMywwLDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTQsMTAsNCw4LDksMTUsMTMsNiwxLDEyLDAsMiwxMSw3LDUsMywxMSw4LDEyLDAsNSwyLDE1LDEzLDEwLDE0LDMsNiw3LDEsOSw0LDcsOSwzLDEsMTMsMTIsMTEsMTQsMiw2LDUsMTAsNCwwLDE1LDgsOSwwLDUsNywyLDQsMTAsMTUsMTQsMSwxMSwxMiw2LDgsMywxMywyLDEyLDYsMTAsMCwxMSw4LDMsNCwxMyw3LDUsMTUsMTQsMSw5XSksdWU9VWludDMyQXJyYXkuZnJvbShbNDA4OTIzNTcyMCwxNzc5MDMzNzAzLDIyMjc4NzM1OTUsMzE0NDEzNDI3Nyw0MjcxMTc1NzIzLDEwMTM5MDQyNDIsMTU5NTc1MDEyOSwyNzczNDgwNzYyLDI5MTc1NjUxMzcsMTM1OTg5MzExOSw3MjU1MTExOTksMjYwMDgyMjkyNCw0MjE1Mzg5NTQ3LDUyODczNDYzNSwzMjcwMzMyMDksMTU0MTQ1OTIyNV0pLEs9bmV3IFVpbnQzMkFycmF5KDMyKTtmdW5jdGlvbiB0cih0LGUscixuLGkscyl7Y29uc3Qgbz1pW3NdLGE9aVtzKzFdO2xldCBjPUtbMip0XSx1PUtbMip0KzFdLGw9S1syKmVdLGg9S1syKmUrMV0sZj1LWzIqcl0scD1LWzIqcisxXSxkPUtbMipuXSxnPUtbMipuKzFdLHk9a3MoYyxsLG8pO3U9TXMoeSx1LGgsYSksYz15fDAse0RoOmcsRGw6ZH09e0RoOmdedSxEbDpkXmN9LHtEaDpnLERsOmR9PXtEaDpjbShnLGQpLERsOnVtKGcpfSx7aDpwLGw6Zn09UWUocCxmLGcsZCkse0JoOmgsQmw6bH09e0JoOmhecCxCbDpsXmZ9LHtCaDpoLEJsOmx9PXtCaDpWdChoLGwsMjQpLEJsOkh0KGgsbCwyNCl9LEtbMip0XT1jLEtbMip0KzFdPXUsS1syKmVdPWwsS1syKmUrMV09aCxLWzIqcl09ZixLWzIqcisxXT1wLEtbMipuXT1kLEtbMipuKzFdPWd9ZnVuY3Rpb24gcnIodCxlLHIsbixpLHMpe2NvbnN0IG89aVtzXSxhPWlbcysxXTtsZXQgYz1LWzIqdF0sdT1LWzIqdCsxXSxsPUtbMiplXSxoPUtbMiplKzFdLGY9S1syKnJdLHA9S1syKnIrMV0sZD1LWzIqbl0sZz1LWzIqbisxXSx5PWtzKGMsbCxvKTt1PU1zKHksdSxoLGEpLGM9eXwwLHtEaDpnLERsOmR9PXtEaDpnXnUsRGw6ZF5jfSx7RGg6ZyxEbDpkfT17RGg6VnQoZyxkLDE2KSxEbDpIdChnLGQsMTYpfSx7aDpwLGw6Zn09UWUocCxmLGcsZCkse0JoOmgsQmw6bH09e0JoOmhecCxCbDpsXmZ9LHtCaDpoLEJsOmx9PXtCaDphbihoLGwsNjMpLEJsOmNuKGgsbCw2Myl9LEtbMip0XT1jLEtbMip0KzFdPXUsS1syKmVdPWwsS1syKmUrMV09aCxLWzIqcl09ZixLWzIqcisxXT1wLEtbMipuXT1kLEtbMipuKzFdPWd9ZnVuY3Rpb24gczEodCxlPXt9LHIsbixpKXtpZihmdChyKSx0PDB8fHQ+cil0aHJvdyBuZXcgRXJyb3IoIm91dHB1dExlbiBiaWdnZXIgdGhhbiBrZXlMZW4iKTtjb25zdHtrZXk6cyxzYWx0Om8scGVyc29uYWxpemF0aW9uOmF9PWU7aWYocyE9PXZvaWQgMCYmKHMubGVuZ3RoPDF8fHMubGVuZ3RoPnIpKXRocm93IG5ldyBFcnJvcigia2V5IGxlbmd0aCBtdXN0IGJlIHVuZGVmaW5lZCBvciAxLi4iK3IpO2lmKG8hPT12b2lkIDAmJm8ubGVuZ3RoIT09bil0aHJvdyBuZXcgRXJyb3IoInNhbHQgbXVzdCBiZSB1bmRlZmluZWQgb3IgIituKTtpZihhIT09dm9pZCAwJiZhLmxlbmd0aCE9PWkpdGhyb3cgbmV3IEVycm9yKCJwZXJzb25hbGl6YXRpb24gbXVzdCBiZSB1bmRlZmluZWQgb3IgIitpKX1jbGFzcyBvMSBleHRlbmRzIHVpe2NvbnN0cnVjdG9yKGUscil7c3VwZXIoKSx0aGlzLmZpbmlzaGVkPSExLHRoaXMuZGVzdHJveWVkPSExLHRoaXMubGVuZ3RoPTAsdGhpcy5wb3M9MCxmdChlKSxmdChyKSx0aGlzLmJsb2NrTGVuPWUsdGhpcy5vdXRwdXRMZW49cix0aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheShlKSx0aGlzLmJ1ZmZlcjMyPXVuKHRoaXMuYnVmZmVyKX11cGRhdGUoZSl7V3QodGhpcyksZT10dChlKSxldChlKTtjb25zdHtibG9ja0xlbjpyLGJ1ZmZlcjpuLGJ1ZmZlcjMyOml9PXRoaXMscz1lLmxlbmd0aCxvPWUuYnl0ZU9mZnNldCxhPWUuYnVmZmVyO2ZvcihsZXQgYz0wO2M8czspe3RoaXMucG9zPT09ciYmKEd0KGkpLHRoaXMuY29tcHJlc3MoaSwwLCExKSxHdChpKSx0aGlzLnBvcz0wKTtjb25zdCB1PU1hdGgubWluKHItdGhpcy5wb3Mscy1jKSxsPW8rYztpZih1PT09ciYmIShsJTQpJiZjK3U8cyl7Y29uc3QgaD1uZXcgVWludDMyQXJyYXkoYSxsLE1hdGguZmxvb3IoKHMtYykvNCkpO0d0KGgpO2ZvcihsZXQgZj0wO2MrcjxzO2YrPWkubGVuZ3RoLGMrPXIpdGhpcy5sZW5ndGgrPXIsdGhpcy5jb21wcmVzcyhoLGYsITEpO0d0KGgpO2NvbnRpbnVlfW4uc2V0KGUuc3ViYXJyYXkoYyxjK3UpLHRoaXMucG9zKSx0aGlzLnBvcys9dSx0aGlzLmxlbmd0aCs9dSxjKz11fXJldHVybiB0aGlzfWRpZ2VzdEludG8oZSl7V3QodGhpcyksRnMoZSx0aGlzKTtjb25zdHtwb3M6cixidWZmZXIzMjpufT10aGlzO3RoaXMuZmluaXNoZWQ9ITAsS2UodGhpcy5idWZmZXIuc3ViYXJyYXkocikpLEd0KG4pLHRoaXMuY29tcHJlc3MobiwwLCEwKSxHdChuKTtjb25zdCBpPXVuKGUpO3RoaXMuZ2V0KCkuZm9yRWFjaCgocyxvKT0+aVtvXT14dChzKSl9ZGlnZXN0KCl7Y29uc3R7YnVmZmVyOmUsb3V0cHV0TGVuOnJ9PXRoaXM7dGhpcy5kaWdlc3RJbnRvKGUpO2NvbnN0IG49ZS5zbGljZSgwLHIpO3JldHVybiB0aGlzLmRlc3Ryb3koKSxufV9jbG9uZUludG8oZSl7Y29uc3R7YnVmZmVyOnIsbGVuZ3RoOm4sZmluaXNoZWQ6aSxkZXN0cm95ZWQ6cyxvdXRwdXRMZW46byxwb3M6YX09dGhpcztyZXR1cm4gZXx8KGU9bmV3IHRoaXMuY29uc3RydWN0b3Ioe2RrTGVuOm99KSksZS5zZXQoLi4udGhpcy5nZXQoKSksZS5idWZmZXIuc2V0KHIpLGUuZGVzdHJveWVkPXMsZS5maW5pc2hlZD1pLGUubGVuZ3RoPW4sZS5wb3M9YSxlLm91dHB1dExlbj1vLGV9Y2xvbmUoKXtyZXR1cm4gdGhpcy5fY2xvbmVJbnRvKCl9fWNsYXNzIGExIGV4dGVuZHMgbzF7Y29uc3RydWN0b3IoZT17fSl7Y29uc3Qgcj1lLmRrTGVuPT09dm9pZCAwPzY0OmUuZGtMZW47c3VwZXIoMTI4LHIpLHRoaXMudjBsPXVlWzBdfDAsdGhpcy52MGg9dWVbMV18MCx0aGlzLnYxbD11ZVsyXXwwLHRoaXMudjFoPXVlWzNdfDAsdGhpcy52Mmw9dWVbNF18MCx0aGlzLnYyaD11ZVs1XXwwLHRoaXMudjNsPXVlWzZdfDAsdGhpcy52M2g9dWVbN118MCx0aGlzLnY0bD11ZVs4XXwwLHRoaXMudjRoPXVlWzldfDAsdGhpcy52NWw9dWVbMTBdfDAsdGhpcy52NWg9dWVbMTFdfDAsdGhpcy52Nmw9dWVbMTJdfDAsdGhpcy52Nmg9dWVbMTNdfDAsdGhpcy52N2w9dWVbMTRdfDAsdGhpcy52N2g9dWVbMTVdfDAsczEocixlLDY0LDE2LDE2KTtsZXR7a2V5Om4scGVyc29uYWxpemF0aW9uOmksc2FsdDpzfT1lLG89MDtpZihuIT09dm9pZCAwJiYobj10dChuKSxvPW4ubGVuZ3RoKSx0aGlzLnYwbF49dGhpcy5vdXRwdXRMZW58bzw8OHw2NTUzNnwxPDwyNCxzIT09dm9pZCAwKXtzPXR0KHMpO2NvbnN0IGE9dW4ocyk7dGhpcy52NGxePXh0KGFbMF0pLHRoaXMudjRoXj14dChhWzFdKSx0aGlzLnY1bF49eHQoYVsyXSksdGhpcy52NWhePXh0KGFbM10pfWlmKGkhPT12b2lkIDApe2k9dHQoaSk7Y29uc3QgYT11bihpKTt0aGlzLnY2bF49eHQoYVswXSksdGhpcy52NmhePXh0KGFbMV0pLHRoaXMudjdsXj14dChhWzJdKSx0aGlzLnY3aF49eHQoYVszXSl9aWYobiE9PXZvaWQgMCl7Y29uc3QgYT1uZXcgVWludDhBcnJheSh0aGlzLmJsb2NrTGVuKTthLnNldChuKSx0aGlzLnVwZGF0ZShhKX19Z2V0KCl7bGV0e3YwbDplLHYwaDpyLHYxbDpuLHYxaDppLHYybDpzLHYyaDpvLHYzbDphLHYzaDpjLHY0bDp1LHY0aDpsLHY1bDpoLHY1aDpmLHY2bDpwLHY2aDpkLHY3bDpnLHY3aDp5fT10aGlzO3JldHVybltlLHIsbixpLHMsbyxhLGMsdSxsLGgsZixwLGQsZyx5XX1zZXQoZSxyLG4saSxzLG8sYSxjLHUsbCxoLGYscCxkLGcseSl7dGhpcy52MGw9ZXwwLHRoaXMudjBoPXJ8MCx0aGlzLnYxbD1ufDAsdGhpcy52MWg9aXwwLHRoaXMudjJsPXN8MCx0aGlzLnYyaD1vfDAsdGhpcy52M2w9YXwwLHRoaXMudjNoPWN8MCx0aGlzLnY0bD11fDAsdGhpcy52NGg9bHwwLHRoaXMudjVsPWh8MCx0aGlzLnY1aD1mfDAsdGhpcy52Nmw9cHwwLHRoaXMudjZoPWR8MCx0aGlzLnY3bD1nfDAsdGhpcy52N2g9eXwwfWNvbXByZXNzKGUscixuKXt0aGlzLmdldCgpLmZvckVhY2goKGMsdSk9PktbdV09YyksSy5zZXQodWUsMTYpO2xldHtoOmksbDpzfT1ydShCaWdJbnQodGhpcy5sZW5ndGgpKTtLWzI0XT11ZVs4XV5zLEtbMjVdPXVlWzldXmksbiYmKEtbMjhdPX5LWzI4XSxLWzI5XT1+S1syOV0pO2xldCBvPTA7Y29uc3QgYT1pMTtmb3IobGV0IGM9MDtjPDEyO2MrKyl0cigwLDQsOCwxMixlLHIrMiphW28rK10pLHJyKDAsNCw4LDEyLGUscisyKmFbbysrXSksdHIoMSw1LDksMTMsZSxyKzIqYVtvKytdKSxycigxLDUsOSwxMyxlLHIrMiphW28rK10pLHRyKDIsNiwxMCwxNCxlLHIrMiphW28rK10pLHJyKDIsNiwxMCwxNCxlLHIrMiphW28rK10pLHRyKDMsNywxMSwxNSxlLHIrMiphW28rK10pLHJyKDMsNywxMSwxNSxlLHIrMiphW28rK10pLHRyKDAsNSwxMCwxNSxlLHIrMiphW28rK10pLHJyKDAsNSwxMCwxNSxlLHIrMiphW28rK10pLHRyKDEsNiwxMSwxMixlLHIrMiphW28rK10pLHJyKDEsNiwxMSwxMixlLHIrMiphW28rK10pLHRyKDIsNyw4LDEzLGUscisyKmFbbysrXSkscnIoMiw3LDgsMTMsZSxyKzIqYVtvKytdKSx0cigzLDQsOSwxNCxlLHIrMiphW28rK10pLHJyKDMsNCw5LDE0LGUscisyKmFbbysrXSk7dGhpcy52MGxePUtbMF1eS1sxNl0sdGhpcy52MGhePUtbMV1eS1sxN10sdGhpcy52MWxePUtbMl1eS1sxOF0sdGhpcy52MWhePUtbM11eS1sxOV0sdGhpcy52MmxePUtbNF1eS1syMF0sdGhpcy52MmhePUtbNV1eS1syMV0sdGhpcy52M2xePUtbNl1eS1syMl0sdGhpcy52M2hePUtbN11eS1syM10sdGhpcy52NGxePUtbOF1eS1syNF0sdGhpcy52NGhePUtbOV1eS1syNV0sdGhpcy52NWxePUtbMTBdXktbMjZdLHRoaXMudjVoXj1LWzExXV5LWzI3XSx0aGlzLnY2bF49S1sxMl1eS1syOF0sdGhpcy52NmhePUtbMTNdXktbMjldLHRoaXMudjdsXj1LWzE0XV5LWzMwXSx0aGlzLnY3aF49S1sxNV1eS1szMV0sS2UoSyl9ZGVzdHJveSgpe3RoaXMuZGVzdHJveWVkPSEwLEtlKHRoaXMuYnVmZmVyMzIpLHRoaXMuc2V0KDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDApfX1jb25zdCBjMT1FbSh0PT5uZXcgYTEodCkpOy8qISBzY3VyZS1iYXNlIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovZnVuY3Rpb24gY2wodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBVaW50OEFycmF5fHxBcnJheUJ1ZmZlci5pc1ZpZXcodCkmJnQuY29uc3RydWN0b3IubmFtZT09PSJVaW50OEFycmF5In1mdW5jdGlvbiB1bCh0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubGVuZ3RoPT09MD8hMDp0P2UuZXZlcnkocj0+dHlwZW9mIHI9PSJzdHJpbmciKTplLmV2ZXJ5KHI9Pk51bWJlci5pc1NhZmVJbnRlZ2VyKHIpKTohMX1mdW5jdGlvbiBtaSh0LGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoYCR7dH06IHN0cmluZyBleHBlY3RlZGApO3JldHVybiEwfWZ1bmN0aW9uIG1uKHQpe2lmKCFOdW1iZXIuaXNTYWZlSW50ZWdlcih0KSl0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgaW50ZWdlcjogJHt0fWApfWZ1bmN0aW9uIGJpKHQpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBFcnJvcigiYXJyYXkgZXhwZWN0ZWQiKX1mdW5jdGlvbiBFaSh0LGUpe2lmKCF1bCghMCxlKSl0aHJvdyBuZXcgRXJyb3IoYCR7dH06IGFycmF5IG9mIHN0cmluZ3MgZXhwZWN0ZWRgKX1mdW5jdGlvbiBsbCh0LGUpe2lmKCF1bCghMSxlKSl0aHJvdyBuZXcgRXJyb3IoYCR7dH06IGFycmF5IG9mIG51bWJlcnMgZXhwZWN0ZWRgKX1mdW5jdGlvbiBobCguLi50KXtjb25zdCBlPXM9PnMscj0ocyxvKT0+YT0+cyhvKGEpKSxuPXQubWFwKHM9PnMuZW5jb2RlKS5yZWR1Y2VSaWdodChyLGUpLGk9dC5tYXAocz0+cy5kZWNvZGUpLnJlZHVjZShyLGUpO3JldHVybntlbmNvZGU6bixkZWNvZGU6aX19ZnVuY3Rpb24gZmwodCl7Y29uc3QgZT10eXBlb2YgdD09InN0cmluZyI/dC5zcGxpdCgiIik6dCxyPWUubGVuZ3RoO0VpKCJhbHBoYWJldCIsZSk7Y29uc3Qgbj1uZXcgTWFwKGUubWFwKChpLHMpPT5baSxzXSkpO3JldHVybntlbmNvZGU6aT0+KGJpKGkpLGkubWFwKHM9PntpZighTnVtYmVyLmlzU2FmZUludGVnZXIocyl8fHM8MHx8cz49cil0aHJvdyBuZXcgRXJyb3IoYGFscGhhYmV0LmVuY29kZTogZGlnaXQgaW5kZXggb3V0c2lkZSBhbHBoYWJldCAiJHtzfSIuIEFsbG93ZWQ6ICR7dH1gKTtyZXR1cm4gZVtzXX0pKSxkZWNvZGU6aT0+KGJpKGkpLGkubWFwKHM9PnttaSgiYWxwaGFiZXQuZGVjb2RlIixzKTtjb25zdCBvPW4uZ2V0KHMpO2lmKG89PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGxldHRlcjogIiR7c30iLiBBbGxvd2VkOiAke3R9YCk7cmV0dXJuIG99KSl9fWZ1bmN0aW9uIGRsKHQ9IiIpe3JldHVybiBtaSgiam9pbiIsdCkse2VuY29kZTplPT4oRWkoImpvaW4uZGVjb2RlIixlKSxlLmpvaW4odCkpLGRlY29kZTplPT4obWkoImpvaW4uZGVjb2RlIixlKSxlLnNwbGl0KHQpKX19ZnVuY3Rpb24gdTEodCxlPSI9Iil7cmV0dXJuIG1uKHQpLG1pKCJwYWRkaW5nIixlKSx7ZW5jb2RlKHIpe2ZvcihFaSgicGFkZGluZy5lbmNvZGUiLHIpO3IubGVuZ3RoKnQlODspci5wdXNoKGUpO3JldHVybiByfSxkZWNvZGUocil7RWkoInBhZGRpbmcuZGVjb2RlIixyKTtsZXQgbj1yLmxlbmd0aDtpZihuKnQlOCl0aHJvdyBuZXcgRXJyb3IoInBhZGRpbmc6IGludmFsaWQsIHN0cmluZyBzaG91bGQgaGF2ZSB3aG9sZSBudW1iZXIgb2YgYnl0ZXMiKTtmb3IoO24+MCYmcltuLTFdPT09ZTtuLS0paWYoKG4tMSkqdCU4PT09MCl0aHJvdyBuZXcgRXJyb3IoInBhZGRpbmc6IGludmFsaWQsIHN0cmluZyBoYXMgdG9vIG11Y2ggcGFkZGluZyIpO3JldHVybiByLnNsaWNlKDAsbil9fX1mdW5jdGlvbiBwbCh0LGUscil7aWYoZTwyKXRocm93IG5ldyBFcnJvcihgY29udmVydFJhZGl4OiBpbnZhbGlkIGZyb209JHtlfSwgYmFzZSBjYW5ub3QgYmUgbGVzcyB0aGFuIDJgKTtpZihyPDIpdGhyb3cgbmV3IEVycm9yKGBjb252ZXJ0UmFkaXg6IGludmFsaWQgdG89JHtyfSwgYmFzZSBjYW5ub3QgYmUgbGVzcyB0aGFuIDJgKTtpZihiaSh0KSwhdC5sZW5ndGgpcmV0dXJuW107bGV0IG49MDtjb25zdCBpPVtdLHM9QXJyYXkuZnJvbSh0LGE9PntpZihtbihhKSxhPDB8fGE+PWUpdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGludGVnZXI6ICR7YX1gKTtyZXR1cm4gYX0pLG89cy5sZW5ndGg7Zm9yKDs7KXtsZXQgYT0wLGM9ITA7Zm9yKGxldCB1PW47dTxvO3UrKyl7Y29uc3QgbD1zW3VdLGg9ZSphLGY9aCtsO2lmKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihmKXx8aC9lIT09YXx8Zi1sIT09aCl0aHJvdyBuZXcgRXJyb3IoImNvbnZlcnRSYWRpeDogY2Fycnkgb3ZlcmZsb3ciKTtjb25zdCBwPWYvcjthPWYlcjtjb25zdCBkPU1hdGguZmxvb3IocCk7aWYoc1t1XT1kLCFOdW1iZXIuaXNTYWZlSW50ZWdlcihkKXx8ZCpyK2EhPT1mKXRocm93IG5ldyBFcnJvcigiY29udmVydFJhZGl4OiBjYXJyeSBvdmVyZmxvdyIpO2lmKGMpZD9jPSExOm49dTtlbHNlIGNvbnRpbnVlfWlmKGkucHVzaChhKSxjKWJyZWFrfWZvcihsZXQgYT0wO2E8dC5sZW5ndGgtMSYmdFthXT09PTA7YSsrKWkucHVzaCgwKTtyZXR1cm4gaS5yZXZlcnNlKCl9Y29uc3QgZ2w9KHQsZSk9PmU9PT0wP3Q6Z2woZSx0JWUpLHZpPSh0LGUpPT50KyhlLWdsKHQsZSkpLGhvPSgoKT0+e2xldCB0PVtdO2ZvcihsZXQgZT0wO2U8NDA7ZSsrKXQucHVzaCgyKiplKTtyZXR1cm4gdH0pKCk7ZnVuY3Rpb24geWwodCxlLHIsbil7aWYoYmkodCksZTw9MHx8ZT4zMil0aHJvdyBuZXcgRXJyb3IoYGNvbnZlcnRSYWRpeDI6IHdyb25nIGZyb209JHtlfWApO2lmKHI8PTB8fHI+MzIpdGhyb3cgbmV3IEVycm9yKGBjb252ZXJ0UmFkaXgyOiB3cm9uZyB0bz0ke3J9YCk7aWYodmkoZSxyKT4zMil0aHJvdyBuZXcgRXJyb3IoYGNvbnZlcnRSYWRpeDI6IGNhcnJ5IG92ZXJmbG93IGZyb209JHtlfSB0bz0ke3J9IGNhcnJ5Qml0cz0ke3ZpKGUscil9YCk7bGV0IGk9MCxzPTA7Y29uc3Qgbz1ob1tlXSxhPWhvW3JdLTEsYz1bXTtmb3IoY29uc3QgdSBvZiB0KXtpZihtbih1KSx1Pj1vKXRocm93IG5ldyBFcnJvcihgY29udmVydFJhZGl4MjogaW52YWxpZCBkYXRhIHdvcmQ9JHt1fSBmcm9tPSR7ZX1gKTtpZihpPWk8PGV8dSxzK2U+MzIpdGhyb3cgbmV3IEVycm9yKGBjb252ZXJ0UmFkaXgyOiBjYXJyeSBvdmVyZmxvdyBwb3M9JHtzfSBmcm9tPSR7ZX1gKTtmb3Iocys9ZTtzPj1yO3MtPXIpYy5wdXNoKChpPj5zLXImYSk+Pj4wKTtjb25zdCBsPWhvW3NdO2lmKGw9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhcnJ5Iik7aSY9bC0xfWlmKGk9aTw8ci1zJmEsIW4mJnM+PWUpdGhyb3cgbmV3IEVycm9yKCJFeGNlc3MgcGFkZGluZyIpO2lmKCFuJiZpPjApdGhyb3cgbmV3IEVycm9yKGBOb24temVybyBwYWRkaW5nOiAke2l9YCk7cmV0dXJuIG4mJnM+MCYmYy5wdXNoKGk+Pj4wKSxjfWZ1bmN0aW9uIGwxKHQpe21uKHQpO2NvbnN0IGU9MioqODtyZXR1cm57ZW5jb2RlOnI9PntpZighY2wocikpdGhyb3cgbmV3IEVycm9yKCJyYWRpeC5lbmNvZGUgaW5wdXQgc2hvdWxkIGJlIFVpbnQ4QXJyYXkiKTtyZXR1cm4gcGwoQXJyYXkuZnJvbShyKSxlLHQpfSxkZWNvZGU6cj0+KGxsKCJyYWRpeC5kZWNvZGUiLHIpLFVpbnQ4QXJyYXkuZnJvbShwbChyLHQsZSkpKX19ZnVuY3Rpb24gaDEodCxlPSExKXtpZihtbih0KSx0PD0wfHx0PjMyKXRocm93IG5ldyBFcnJvcigicmFkaXgyOiBiaXRzIHNob3VsZCBiZSBpbiAoMC4uMzJdIik7aWYodmkoOCx0KT4zMnx8dmkodCw4KT4zMil0aHJvdyBuZXcgRXJyb3IoInJhZGl4MjogY2Fycnkgb3ZlcmZsb3ciKTtyZXR1cm57ZW5jb2RlOnI9PntpZighY2wocikpdGhyb3cgbmV3IEVycm9yKCJyYWRpeDIuZW5jb2RlIGlucHV0IHNob3VsZCBiZSBVaW50OEFycmF5Iik7cmV0dXJuIHlsKEFycmF5LmZyb20ociksOCx0LCFlKX0sZGVjb2RlOnI9PihsbCgicmFkaXgyLmRlY29kZSIsciksVWludDhBcnJheS5mcm9tKHlsKHIsdCw4LGUpKSl9fWNvbnN0IGYxPWhsKGgxKDUpLGZsKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2NyIpLHUxKDUpLGRsKCIiKSksYm49KHQ9PmhsKGwxKDU4KSxmbCh0KSxkbCgiIikpKSgiMTIzNDU2Nzg5QUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaYWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5eiIpO2Z1bmN0aW9uIGQxKHQpe3JldHVybiBBYihwMSh0KSl9ZnVuY3Rpb24gcDEodCl7Y29uc3R7cGF5bG9hZDplLHNpZ25hdHVyZTpyfT10LHtyOm4sczppLHlQYXJpdHk6c309cixhPW5ldyBKYi5TaWduYXR1cmUoQmlnSW50KG4pLEJpZ0ludChpKSkuYWRkUmVjb3ZlcnlCaXQocykucmVjb3ZlclB1YmxpY0tleShYcyhlKS5zdWJzdHJpbmcoMikpO3JldHVybiBtYihhKX0vKiEgbm9ibGUtY2lwaGVycyAtIE1JVCBMaWNlbnNlIChjKSAyMDIzIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2Z1bmN0aW9uIHdsKHQpe3JldHVybiB0IGluc3RhbmNlb2YgVWludDhBcnJheXx8QXJyYXlCdWZmZXIuaXNWaWV3KHQpJiZ0LmNvbnN0cnVjdG9yLm5hbWU9PT0iVWludDhBcnJheSJ9ZnVuY3Rpb24gZm8odCl7aWYodHlwZW9mIHQhPSJib29sZWFuIil0aHJvdyBuZXcgRXJyb3IoYGJvb2xlYW4gZXhwZWN0ZWQsIG5vdCAke3R9YCl9ZnVuY3Rpb24gcG8odCl7aWYoIU51bWJlci5pc1NhZmVJbnRlZ2VyKHQpfHx0PDApdGhyb3cgbmV3IEVycm9yKCJwb3NpdGl2ZSBpbnRlZ2VyIGV4cGVjdGVkLCBnb3QgIit0KX1mdW5jdGlvbiBVZSh0LC4uLmUpe2lmKCF3bCh0KSl0aHJvdyBuZXcgRXJyb3IoIlVpbnQ4QXJyYXkgZXhwZWN0ZWQiKTtpZihlLmxlbmd0aD4wJiYhZS5pbmNsdWRlcyh0Lmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKCJVaW50OEFycmF5IGV4cGVjdGVkIG9mIGxlbmd0aCAiK2UrIiwgZ290IGxlbmd0aD0iK3QubGVuZ3RoKX1mdW5jdGlvbiBtbCh0LGU9ITApe2lmKHQuZGVzdHJveWVkKXRocm93IG5ldyBFcnJvcigiSGFzaCBpbnN0YW5jZSBoYXMgYmVlbiBkZXN0cm95ZWQiKTtpZihlJiZ0LmZpbmlzaGVkKXRocm93IG5ldyBFcnJvcigiSGFzaCNkaWdlc3QoKSBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZCIpfWZ1bmN0aW9uIGcxKHQsZSl7VWUodCk7Y29uc3Qgcj1lLm91dHB1dExlbjtpZih0Lmxlbmd0aDxyKXRocm93IG5ldyBFcnJvcigiZGlnZXN0SW50bygpIGV4cGVjdHMgb3V0cHV0IGJ1ZmZlciBvZiBsZW5ndGggYXQgbGVhc3QgIityKX1mdW5jdGlvbiBucih0KXtyZXR1cm4gbmV3IFVpbnQzMkFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCxNYXRoLmZsb29yKHQuYnl0ZUxlbmd0aC80KSl9ZnVuY3Rpb24gRnIoLi4udCl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXS5maWxsKDApfWZ1bmN0aW9uIHkxKHQpe3JldHVybiBuZXcgRGF0YVZpZXcodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9Y29uc3QgdzE9bmV3IFVpbnQ4QXJyYXkobmV3IFVpbnQzMkFycmF5KFsyODc0NTQwMjBdKS5idWZmZXIpWzBdPT09Njg7ZnVuY3Rpb24gbTEodCl7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcigic3RyaW5nIGV4cGVjdGVkIik7cmV0dXJuIG5ldyBVaW50OEFycmF5KG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0KSl9ZnVuY3Rpb24gZ28odCl7aWYodHlwZW9mIHQ9PSJzdHJpbmciKXQ9bTEodCk7ZWxzZSBpZih3bCh0KSl0PXlvKHQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJVaW50OEFycmF5IGV4cGVjdGVkLCBnb3QgIit0eXBlb2YgdCk7cmV0dXJuIHR9ZnVuY3Rpb24gYjEodCxlKXtpZihlPT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCIpdGhyb3cgbmV3IEVycm9yKCJvcHRpb25zIG11c3QgYmUgZGVmaW5lZCIpO3JldHVybiBPYmplY3QuYXNzaWduKHQsZSl9ZnVuY3Rpb24gRTEodCxlKXtpZih0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2xldCByPTA7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspcnw9dFtuXV5lW25dO3JldHVybiByPT09MH1jb25zdCB2MT0odCxlKT0+e2Z1bmN0aW9uIHIobiwuLi5pKXtpZihVZShuKSwhdzEpdGhyb3cgbmV3IEVycm9yKCJOb24gbGl0dGxlLWVuZGlhbiBoYXJkd2FyZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpO2lmKHQubm9uY2VMZW5ndGghPT12b2lkIDApe2NvbnN0IGw9aVswXTtpZighbCl0aHJvdyBuZXcgRXJyb3IoIm5vbmNlIC8gaXYgcmVxdWlyZWQiKTt0LnZhclNpemVOb25jZT9VZShsKTpVZShsLHQubm9uY2VMZW5ndGgpfWNvbnN0IHM9dC50YWdMZW5ndGg7cyYmaVsxXSE9PXZvaWQgMCYmVWUoaVsxXSk7Y29uc3Qgbz1lKG4sLi4uaSksYT0obCxoKT0+e2lmKGghPT12b2lkIDApe2lmKGwhPT0yKXRocm93IG5ldyBFcnJvcigiY2lwaGVyIG91dHB1dCBub3Qgc3VwcG9ydGVkIik7VWUoaCl9fTtsZXQgYz0hMTtyZXR1cm57ZW5jcnlwdChsLGgpe2lmKGMpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgZW5jcnlwdCgpIHR3aWNlIHdpdGggc2FtZSBrZXkgKyBub25jZSIpO3JldHVybiBjPSEwLFVlKGwpLGEoby5lbmNyeXB0Lmxlbmd0aCxoKSxvLmVuY3J5cHQobCxoKX0sZGVjcnlwdChsLGgpe2lmKFVlKGwpLHMmJmwubGVuZ3RoPHMpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNpcGhlcnRleHQgbGVuZ3RoOiBzbWFsbGVyIHRoYW4gdGFnTGVuZ3RoPSIrcyk7cmV0dXJuIGEoby5kZWNyeXB0Lmxlbmd0aCxoKSxvLmRlY3J5cHQobCxoKX19fXJldHVybiBPYmplY3QuYXNzaWduKHIsdCkscn07ZnVuY3Rpb24gYmwodCxlLHI9ITApe2lmKGU9PT12b2lkIDApcmV0dXJuIG5ldyBVaW50OEFycmF5KHQpO2lmKGUubGVuZ3RoIT09dCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgb3V0cHV0IGxlbmd0aCwgZXhwZWN0ZWQgIit0KyIsIGdvdDogIitlLmxlbmd0aCk7aWYociYmIXgxKGUpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBvdXRwdXQsIG11c3QgYmUgYWxpZ25lZCIpO3JldHVybiBlfWZ1bmN0aW9uIEVsKHQsZSxyLG4pe2lmKHR5cGVvZiB0LnNldEJpZ1VpbnQ2ND09ImZ1bmN0aW9uIilyZXR1cm4gdC5zZXRCaWdVaW50NjQoZSxyLG4pO2NvbnN0IGk9QmlnSW50KDMyKSxzPUJpZ0ludCg0Mjk0OTY3Mjk1KSxvPU51bWJlcihyPj5pJnMpLGE9TnVtYmVyKHImcyksYz00LHU9MDt0LnNldFVpbnQzMihlK2MsbyxuKSx0LnNldFVpbnQzMihlK3UsYSxuKX1mdW5jdGlvbiBfMSh0LGUscil7Zm8ocik7Y29uc3Qgbj1uZXcgVWludDhBcnJheSgxNiksaT15MShuKTtyZXR1cm4gRWwoaSwwLEJpZ0ludChlKSxyKSxFbChpLDgsQmlnSW50KHQpLHIpLG59ZnVuY3Rpb24geDEodCl7cmV0dXJuIHQuYnl0ZU9mZnNldCU0PT09MH1mdW5jdGlvbiB5byh0KXtyZXR1cm4gVWludDhBcnJheS5mcm9tKHQpfWZ1bmN0aW9uIFMxKHQpe2NvbnN0IGU9dC5sZW5ndGg7bGV0IHI9MCxuPTA7Zm9yKDtuPGU7KXtsZXQgaT10LmNoYXJDb2RlQXQobisrKTtpZigoaSY0Mjk0OTY3MTY4KT09PTApe3IrKztjb250aW51ZX1lbHNlIGlmKChpJjQyOTQ5NjUyNDgpPT09MClyKz0yO2Vsc2V7aWYoaT49NTUyOTYmJmk8PTU2MzE5JiZuPGUpe2NvbnN0IHM9dC5jaGFyQ29kZUF0KG4pOyhzJjY0NTEyKT09PTU2MzIwJiYoKytuLGk9KChpJjEwMjMpPDwxMCkrKHMmMTAyMykrNjU1MzYpfShpJjQyOTQ5MDE3NjApPT09MD9yKz0zOnIrPTR9fXJldHVybiByfWZ1bmN0aW9uIEkxKHQsZSxyKXtjb25zdCBuPXQubGVuZ3RoO2xldCBpPXIscz0wO2Zvcig7czxuOyl7bGV0IG89dC5jaGFyQ29kZUF0KHMrKyk7aWYoKG8mNDI5NDk2NzE2OCk9PT0wKXtlW2krK109bztjb250aW51ZX1lbHNlIGlmKChvJjQyOTQ5NjUyNDgpPT09MCllW2krK109bz4+NiYzMXwxOTI7ZWxzZXtpZihvPj01NTI5NiYmbzw9NTYzMTkmJnM8bil7Y29uc3QgYT10LmNoYXJDb2RlQXQocyk7KGEmNjQ1MTIpPT09NTYzMjAmJigrK3Msbz0oKG8mMTAyMyk8PDEwKSsoYSYxMDIzKSs2NTUzNil9KG8mNDI5NDkwMTc2MCk9PT0wPyhlW2krK109bz4+MTImMTV8MjI0LGVbaSsrXT1vPj42JjYzfDEyOCk6KGVbaSsrXT1vPj4xOCY3fDI0MCxlW2krK109bz4+MTImNjN8MTI4LGVbaSsrXT1vPj42JjYzfDEyOCl9ZVtpKytdPW8mNjN8MTI4fX1jb25zdCBEMT1uZXcgVGV4dEVuY29kZXIsQTE9NTA7ZnVuY3Rpb24gTzEodCxlLHIpe0QxLmVuY29kZUludG8odCxlLnN1YmFycmF5KHIpKX1mdW5jdGlvbiBUMSh0LGUscil7dC5sZW5ndGg+QTE/TzEodCxlLHIpOkkxKHQsZSxyKX1jb25zdCBCMT00MDk2O2Z1bmN0aW9uIHZsKHQsZSxyKXtsZXQgbj1lO2NvbnN0IGk9bityLHM9W107bGV0IG89IiI7Zm9yKDtuPGk7KXtjb25zdCBhPXRbbisrXTtpZigoYSYxMjgpPT09MClzLnB1c2goYSk7ZWxzZSBpZigoYSYyMjQpPT09MTkyKXtjb25zdCBjPXRbbisrXSY2MztzLnB1c2goKGEmMzEpPDw2fGMpfWVsc2UgaWYoKGEmMjQwKT09PTIyNCl7Y29uc3QgYz10W24rK10mNjMsdT10W24rK10mNjM7cy5wdXNoKChhJjMxKTw8MTJ8Yzw8Nnx1KX1lbHNlIGlmKChhJjI0OCk9PT0yNDApe2NvbnN0IGM9dFtuKytdJjYzLHU9dFtuKytdJjYzLGw9dFtuKytdJjYzO2xldCBoPShhJjcpPDwxOHxjPDwxMnx1PDw2fGw7aD42NTUzNSYmKGgtPTY1NTM2LHMucHVzaChoPj4+MTAmMTAyM3w1NTI5NiksaD01NjMyMHxoJjEwMjMpLHMucHVzaChoKX1lbHNlIHMucHVzaChhKTtzLmxlbmd0aD49QjEmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnMpLHMubGVuZ3RoPTApfXJldHVybiBzLmxlbmd0aD4wJiYobys9U3RyaW5nLmZyb21DaGFyQ29kZSguLi5zKSksb31jb25zdCBSMT1uZXcgVGV4dERlY29kZXIsTjE9MjAwO2Z1bmN0aW9uIFAxKHQsZSxyKXtjb25zdCBuPXQuc3ViYXJyYXkoZSxlK3IpO3JldHVybiBSMS5kZWNvZGUobil9ZnVuY3Rpb24gJDEodCxlLHIpe3JldHVybiByPk4xP1AxKHQsZSxyKTp2bCh0LGUscil9Y2xhc3MgX2l7dHlwZTtkYXRhO2NvbnN0cnVjdG9yKGUscil7dGhpcy50eXBlPWUsdGhpcy5kYXRhPXJ9fWNsYXNzIEZlIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3Qgcj1PYmplY3QuY3JlYXRlKEZlLnByb3RvdHlwZSk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsciksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIm5hbWUiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTpGZS5uYW1lfSl9fWNvbnN0IEVuPTQyOTQ5NjcyOTU7ZnVuY3Rpb24gQzEodCxlLHIpe2NvbnN0IG49ci80Mjk0OTY3Mjk2LGk9cjt0LnNldFVpbnQzMihlLG4pLHQuc2V0VWludDMyKGUrNCxpKX1mdW5jdGlvbiBfbCh0LGUscil7Y29uc3Qgbj1NYXRoLmZsb29yKHIvNDI5NDk2NzI5NiksaT1yO3Quc2V0VWludDMyKGUsbiksdC5zZXRVaW50MzIoZSs0LGkpfWZ1bmN0aW9uIHhsKHQsZSl7Y29uc3Qgcj10LmdldEludDMyKGUpLG49dC5nZXRVaW50MzIoZSs0KTtyZXR1cm4gcio0Mjk0OTY3Mjk2K259ZnVuY3Rpb24gVTEodCxlKXtjb25zdCByPXQuZ2V0VWludDMyKGUpLG49dC5nZXRVaW50MzIoZSs0KTtyZXR1cm4gcio0Mjk0OTY3Mjk2K259Y29uc3QgTDE9LTEsazE9NDI5NDk2NzI5Ni0xLE0xPTE3MTc5ODY5MTg0LTE7ZnVuY3Rpb24gRjEoe3NlYzp0LG5zZWM6ZX0pe2lmKHQ+PTAmJmU+PTAmJnQ8PU0xKWlmKGU9PT0wJiZ0PD1rMSl7Y29uc3Qgcj1uZXcgVWludDhBcnJheSg0KTtyZXR1cm4gbmV3IERhdGFWaWV3KHIuYnVmZmVyKS5zZXRVaW50MzIoMCx0KSxyfWVsc2V7Y29uc3Qgcj10LzQyOTQ5NjcyOTYsbj10JjQyOTQ5NjcyOTUsaT1uZXcgVWludDhBcnJheSg4KSxzPW5ldyBEYXRhVmlldyhpLmJ1ZmZlcik7cmV0dXJuIHMuc2V0VWludDMyKDAsZTw8MnxyJjMpLHMuc2V0VWludDMyKDQsbiksaX1lbHNle2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkoMTIpLG49bmV3IERhdGFWaWV3KHIuYnVmZmVyKTtyZXR1cm4gbi5zZXRVaW50MzIoMCxlKSxfbChuLDQsdCkscn19ZnVuY3Rpb24gcTEodCl7Y29uc3QgZT10LmdldFRpbWUoKSxyPU1hdGguZmxvb3IoZS8xZTMpLG49KGUtcioxZTMpKjFlNixpPU1hdGguZmxvb3Iobi8xZTkpO3JldHVybntzZWM6citpLG5zZWM6bi1pKjFlOX19ZnVuY3Rpb24gejEodCl7aWYodCBpbnN0YW5jZW9mIERhdGUpe2NvbnN0IGU9cTEodCk7cmV0dXJuIEYxKGUpfWVsc2UgcmV0dXJuIG51bGx9ZnVuY3Rpb24gajEodCl7Y29uc3QgZT1uZXcgRGF0YVZpZXcodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCk7c3dpdGNoKHQuYnl0ZUxlbmd0aCl7Y2FzZSA0OnJldHVybntzZWM6ZS5nZXRVaW50MzIoMCksbnNlYzowfTtjYXNlIDg6e2NvbnN0IHI9ZS5nZXRVaW50MzIoMCksbj1lLmdldFVpbnQzMig0KSxpPShyJjMpKjQyOTQ5NjcyOTYrbixzPXI+Pj4yO3JldHVybntzZWM6aSxuc2VjOnN9fWNhc2UgMTI6e2NvbnN0IHI9eGwoZSw0KSxuPWUuZ2V0VWludDMyKDApO3JldHVybntzZWM6cixuc2VjOm59fWRlZmF1bHQ6dGhyb3cgbmV3IEZlKGBVbnJlY29nbml6ZWQgZGF0YSBzaXplIGZvciB0aW1lc3RhbXAgKGV4cGVjdGVkIDQsIDgsIG9yIDEyKTogJHt0Lmxlbmd0aH1gKX19ZnVuY3Rpb24gSzEodCl7Y29uc3QgZT1qMSh0KTtyZXR1cm4gbmV3IERhdGUoZS5zZWMqMWUzK2UubnNlYy8xZTYpfWNvbnN0IFYxPXt0eXBlOkwxLGVuY29kZTp6MSxkZWNvZGU6SzF9O2NsYXNzIHhpe3N0YXRpYyBkZWZhdWx0Q29kZWM9bmV3IHhpO19fYnJhbmQ7YnVpbHRJbkVuY29kZXJzPVtdO2J1aWx0SW5EZWNvZGVycz1bXTtlbmNvZGVycz1bXTtkZWNvZGVycz1bXTtjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXIoVjEpfXJlZ2lzdGVyKHt0eXBlOmUsZW5jb2RlOnIsZGVjb2RlOm59KXtpZihlPj0wKXRoaXMuZW5jb2RlcnNbZV09cix0aGlzLmRlY29kZXJzW2VdPW47ZWxzZXtjb25zdCBpPS0xLWU7dGhpcy5idWlsdEluRW5jb2RlcnNbaV09cix0aGlzLmJ1aWx0SW5EZWNvZGVyc1tpXT1ufX10cnlUb0VuY29kZShlLHIpe2ZvcihsZXQgbj0wO248dGhpcy5idWlsdEluRW5jb2RlcnMubGVuZ3RoO24rKyl7Y29uc3QgaT10aGlzLmJ1aWx0SW5FbmNvZGVyc1tuXTtpZihpIT1udWxsKXtjb25zdCBzPWkoZSxyKTtpZihzIT1udWxsKXtjb25zdCBvPS0xLW47cmV0dXJuIG5ldyBfaShvLHMpfX19Zm9yKGxldCBuPTA7bjx0aGlzLmVuY29kZXJzLmxlbmd0aDtuKyspe2NvbnN0IGk9dGhpcy5lbmNvZGVyc1tuXTtpZihpIT1udWxsKXtjb25zdCBzPWkoZSxyKTtpZihzIT1udWxsKXtjb25zdCBvPW47cmV0dXJuIG5ldyBfaShvLHMpfX19cmV0dXJuIGUgaW5zdGFuY2VvZiBfaT9lOm51bGx9ZGVjb2RlKGUscixuKXtjb25zdCBpPXI8MD90aGlzLmJ1aWx0SW5EZWNvZGVyc1stMS1yXTp0aGlzLmRlY29kZXJzW3JdO3JldHVybiBpP2koZSxyLG4pOm5ldyBfaShyLGUpfX1mdW5jdGlvbiBIMSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHx0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXI8InUiJiZ0IGluc3RhbmNlb2YgU2hhcmVkQXJyYXlCdWZmZXJ9ZnVuY3Rpb24gd28odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBVaW50OEFycmF5P3Q6QXJyYXlCdWZmZXIuaXNWaWV3KHQpP25ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpOkgxKHQpP25ldyBVaW50OEFycmF5KHQpOlVpbnQ4QXJyYXkuZnJvbSh0KX1jb25zdCBXMT0xMDAsRzE9MjA0ODtjbGFzcyBtb3tleHRlbnNpb25Db2RlYztjb250ZXh0O3VzZUJpZ0ludDY0O21heERlcHRoO2luaXRpYWxCdWZmZXJTaXplO3NvcnRLZXlzO2ZvcmNlRmxvYXQzMjtpZ25vcmVVbmRlZmluZWQ7Zm9yY2VJbnRlZ2VyVG9GbG9hdDtwb3M7dmlldztieXRlcztlbnRlcmVkPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMuZXh0ZW5zaW9uQ29kZWM9ZT8uZXh0ZW5zaW9uQ29kZWM/P3hpLmRlZmF1bHRDb2RlYyx0aGlzLmNvbnRleHQ9ZT8uY29udGV4dCx0aGlzLnVzZUJpZ0ludDY0PWU/LnVzZUJpZ0ludDY0Pz8hMSx0aGlzLm1heERlcHRoPWU/Lm1heERlcHRoPz9XMSx0aGlzLmluaXRpYWxCdWZmZXJTaXplPWU/LmluaXRpYWxCdWZmZXJTaXplPz9HMSx0aGlzLnNvcnRLZXlzPWU/LnNvcnRLZXlzPz8hMSx0aGlzLmZvcmNlRmxvYXQzMj1lPy5mb3JjZUZsb2F0MzI/PyExLHRoaXMuaWdub3JlVW5kZWZpbmVkPWU/Lmlnbm9yZVVuZGVmaW5lZD8/ITEsdGhpcy5mb3JjZUludGVnZXJUb0Zsb2F0PWU/LmZvcmNlSW50ZWdlclRvRmxvYXQ/PyExLHRoaXMucG9zPTAsdGhpcy52aWV3PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIodGhpcy5pbml0aWFsQnVmZmVyU2l6ZSkpLHRoaXMuYnl0ZXM9bmV3IFVpbnQ4QXJyYXkodGhpcy52aWV3LmJ1ZmZlcil9Y2xvbmUoKXtyZXR1cm4gbmV3IG1vKHtleHRlbnNpb25Db2RlYzp0aGlzLmV4dGVuc2lvbkNvZGVjLGNvbnRleHQ6dGhpcy5jb250ZXh0LHVzZUJpZ0ludDY0OnRoaXMudXNlQmlnSW50NjQsbWF4RGVwdGg6dGhpcy5tYXhEZXB0aCxpbml0aWFsQnVmZmVyU2l6ZTp0aGlzLmluaXRpYWxCdWZmZXJTaXplLHNvcnRLZXlzOnRoaXMuc29ydEtleXMsZm9yY2VGbG9hdDMyOnRoaXMuZm9yY2VGbG9hdDMyLGlnbm9yZVVuZGVmaW5lZDp0aGlzLmlnbm9yZVVuZGVmaW5lZCxmb3JjZUludGVnZXJUb0Zsb2F0OnRoaXMuZm9yY2VJbnRlZ2VyVG9GbG9hdH0pfXJlaW5pdGlhbGl6ZVN0YXRlKCl7dGhpcy5wb3M9MH1lbmNvZGVTaGFyZWRSZWYoZSl7aWYodGhpcy5lbnRlcmVkKXJldHVybiB0aGlzLmNsb25lKCkuZW5jb2RlU2hhcmVkUmVmKGUpO3RyeXtyZXR1cm4gdGhpcy5lbnRlcmVkPSEwLHRoaXMucmVpbml0aWFsaXplU3RhdGUoKSx0aGlzLmRvRW5jb2RlKGUsMSksdGhpcy5ieXRlcy5zdWJhcnJheSgwLHRoaXMucG9zKX1maW5hbGx5e3RoaXMuZW50ZXJlZD0hMX19ZW5jb2RlKGUpe2lmKHRoaXMuZW50ZXJlZClyZXR1cm4gdGhpcy5jbG9uZSgpLmVuY29kZShlKTt0cnl7cmV0dXJuIHRoaXMuZW50ZXJlZD0hMCx0aGlzLnJlaW5pdGlhbGl6ZVN0YXRlKCksdGhpcy5kb0VuY29kZShlLDEpLHRoaXMuYnl0ZXMuc2xpY2UoMCx0aGlzLnBvcyl9ZmluYWxseXt0aGlzLmVudGVyZWQ9ITF9fWRvRW5jb2RlKGUscil7aWYocj50aGlzLm1heERlcHRoKXRocm93IG5ldyBFcnJvcihgVG9vIGRlZXAgb2JqZWN0cyBpbiBkZXB0aCAke3J9YCk7ZT09bnVsbD90aGlzLmVuY29kZU5pbCgpOnR5cGVvZiBlPT0iYm9vbGVhbiI/dGhpcy5lbmNvZGVCb29sZWFuKGUpOnR5cGVvZiBlPT0ibnVtYmVyIj90aGlzLmZvcmNlSW50ZWdlclRvRmxvYXQ/dGhpcy5lbmNvZGVOdW1iZXJBc0Zsb2F0KGUpOnRoaXMuZW5jb2RlTnVtYmVyKGUpOnR5cGVvZiBlPT0ic3RyaW5nIj90aGlzLmVuY29kZVN0cmluZyhlKTp0aGlzLnVzZUJpZ0ludDY0JiZ0eXBlb2YgZT09ImJpZ2ludCI/dGhpcy5lbmNvZGVCaWdJbnQ2NChlKTp0aGlzLmVuY29kZU9iamVjdChlLHIpfWVuc3VyZUJ1ZmZlclNpemVUb1dyaXRlKGUpe2NvbnN0IHI9dGhpcy5wb3MrZTt0aGlzLnZpZXcuYnl0ZUxlbmd0aDxyJiZ0aGlzLnJlc2l6ZUJ1ZmZlcihyKjIpfXJlc2l6ZUJ1ZmZlcihlKXtjb25zdCByPW5ldyBBcnJheUJ1ZmZlcihlKSxuPW5ldyBVaW50OEFycmF5KHIpLGk9bmV3IERhdGFWaWV3KHIpO24uc2V0KHRoaXMuYnl0ZXMpLHRoaXMudmlldz1pLHRoaXMuYnl0ZXM9bn1lbmNvZGVOaWwoKXt0aGlzLndyaXRlVTgoMTkyKX1lbmNvZGVCb29sZWFuKGUpe2U9PT0hMT90aGlzLndyaXRlVTgoMTk0KTp0aGlzLndyaXRlVTgoMTk1KX1lbmNvZGVOdW1iZXIoZSl7IXRoaXMuZm9yY2VJbnRlZ2VyVG9GbG9hdCYmTnVtYmVyLmlzU2FmZUludGVnZXIoZSk/ZT49MD9lPDEyOD90aGlzLndyaXRlVTgoZSk6ZTwyNTY/KHRoaXMud3JpdGVVOCgyMDQpLHRoaXMud3JpdGVVOChlKSk6ZTw2NTUzNj8odGhpcy53cml0ZVU4KDIwNSksdGhpcy53cml0ZVUxNihlKSk6ZTw0Mjk0OTY3Mjk2Pyh0aGlzLndyaXRlVTgoMjA2KSx0aGlzLndyaXRlVTMyKGUpKTp0aGlzLnVzZUJpZ0ludDY0P3RoaXMuZW5jb2RlTnVtYmVyQXNGbG9hdChlKToodGhpcy53cml0ZVU4KDIwNyksdGhpcy53cml0ZVU2NChlKSk6ZT49LTMyP3RoaXMud3JpdGVVOCgyMjR8ZSszMik6ZT49LTEyOD8odGhpcy53cml0ZVU4KDIwOCksdGhpcy53cml0ZUk4KGUpKTplPj0tMzI3Njg/KHRoaXMud3JpdGVVOCgyMDkpLHRoaXMud3JpdGVJMTYoZSkpOmU+PS0yMTQ3NDgzNjQ4Pyh0aGlzLndyaXRlVTgoMjEwKSx0aGlzLndyaXRlSTMyKGUpKTp0aGlzLnVzZUJpZ0ludDY0P3RoaXMuZW5jb2RlTnVtYmVyQXNGbG9hdChlKToodGhpcy53cml0ZVU4KDIxMSksdGhpcy53cml0ZUk2NChlKSk6dGhpcy5lbmNvZGVOdW1iZXJBc0Zsb2F0KGUpfWVuY29kZU51bWJlckFzRmxvYXQoZSl7dGhpcy5mb3JjZUZsb2F0MzI/KHRoaXMud3JpdGVVOCgyMDIpLHRoaXMud3JpdGVGMzIoZSkpOih0aGlzLndyaXRlVTgoMjAzKSx0aGlzLndyaXRlRjY0KGUpKX1lbmNvZGVCaWdJbnQ2NChlKXtlPj1CaWdJbnQoMCk/KHRoaXMud3JpdGVVOCgyMDcpLHRoaXMud3JpdGVCaWdVaW50NjQoZSkpOih0aGlzLndyaXRlVTgoMjExKSx0aGlzLndyaXRlQmlnSW50NjQoZSkpfXdyaXRlU3RyaW5nSGVhZGVyKGUpe2lmKGU8MzIpdGhpcy53cml0ZVU4KDE2MCtlKTtlbHNlIGlmKGU8MjU2KXRoaXMud3JpdGVVOCgyMTcpLHRoaXMud3JpdGVVOChlKTtlbHNlIGlmKGU8NjU1MzYpdGhpcy53cml0ZVU4KDIxOCksdGhpcy53cml0ZVUxNihlKTtlbHNlIGlmKGU8NDI5NDk2NzI5Nil0aGlzLndyaXRlVTgoMjE5KSx0aGlzLndyaXRlVTMyKGUpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBUb28gbG9uZyBzdHJpbmc6ICR7ZX0gYnl0ZXMgaW4gVVRGLThgKX1lbmNvZGVTdHJpbmcoZSl7Y29uc3Qgbj1TMShlKTt0aGlzLmVuc3VyZUJ1ZmZlclNpemVUb1dyaXRlKDUrbiksdGhpcy53cml0ZVN0cmluZ0hlYWRlcihuKSxUMShlLHRoaXMuYnl0ZXMsdGhpcy5wb3MpLHRoaXMucG9zKz1ufWVuY29kZU9iamVjdChlLHIpe2NvbnN0IG49dGhpcy5leHRlbnNpb25Db2RlYy50cnlUb0VuY29kZShlLHRoaXMuY29udGV4dCk7aWYobiE9bnVsbCl0aGlzLmVuY29kZUV4dGVuc2lvbihuKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpdGhpcy5lbmNvZGVBcnJheShlLHIpO2Vsc2UgaWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXRoaXMuZW5jb2RlQmluYXJ5KGUpO2Vsc2UgaWYodHlwZW9mIGU9PSJvYmplY3QiKXRoaXMuZW5jb2RlTWFwKGUscik7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBvYmplY3Q6ICR7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseShlKX1gKX1lbmNvZGVCaW5hcnkoZSl7Y29uc3Qgcj1lLmJ5dGVMZW5ndGg7aWYocjwyNTYpdGhpcy53cml0ZVU4KDE5NiksdGhpcy53cml0ZVU4KHIpO2Vsc2UgaWYocjw2NTUzNil0aGlzLndyaXRlVTgoMTk3KSx0aGlzLndyaXRlVTE2KHIpO2Vsc2UgaWYocjw0Mjk0OTY3Mjk2KXRoaXMud3JpdGVVOCgxOTgpLHRoaXMud3JpdGVVMzIocik7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYFRvbyBsYXJnZSBiaW5hcnk6ICR7cn1gKTtjb25zdCBuPXdvKGUpO3RoaXMud3JpdGVVOGEobil9ZW5jb2RlQXJyYXkoZSxyKXtjb25zdCBuPWUubGVuZ3RoO2lmKG48MTYpdGhpcy53cml0ZVU4KDE0NCtuKTtlbHNlIGlmKG48NjU1MzYpdGhpcy53cml0ZVU4KDIyMCksdGhpcy53cml0ZVUxNihuKTtlbHNlIGlmKG48NDI5NDk2NzI5Nil0aGlzLndyaXRlVTgoMjIxKSx0aGlzLndyaXRlVTMyKG4pO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBUb28gbGFyZ2UgYXJyYXk6ICR7bn1gKTtmb3IoY29uc3QgaSBvZiBlKXRoaXMuZG9FbmNvZGUoaSxyKzEpfWNvdW50V2l0aG91dFVuZGVmaW5lZChlLHIpe2xldCBuPTA7Zm9yKGNvbnN0IGkgb2YgcillW2ldIT09dm9pZCAwJiZuKys7cmV0dXJuIG59ZW5jb2RlTWFwKGUscil7Y29uc3Qgbj1PYmplY3Qua2V5cyhlKTt0aGlzLnNvcnRLZXlzJiZuLnNvcnQoKTtjb25zdCBpPXRoaXMuaWdub3JlVW5kZWZpbmVkP3RoaXMuY291bnRXaXRob3V0VW5kZWZpbmVkKGUsbik6bi5sZW5ndGg7aWYoaTwxNil0aGlzLndyaXRlVTgoMTI4K2kpO2Vsc2UgaWYoaTw2NTUzNil0aGlzLndyaXRlVTgoMjIyKSx0aGlzLndyaXRlVTE2KGkpO2Vsc2UgaWYoaTw0Mjk0OTY3Mjk2KXRoaXMud3JpdGVVOCgyMjMpLHRoaXMud3JpdGVVMzIoaSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYFRvbyBsYXJnZSBtYXAgb2JqZWN0OiAke2l9YCk7Zm9yKGNvbnN0IHMgb2Ygbil7Y29uc3Qgbz1lW3NdO3RoaXMuaWdub3JlVW5kZWZpbmVkJiZvPT09dm9pZCAwfHwodGhpcy5lbmNvZGVTdHJpbmcocyksdGhpcy5kb0VuY29kZShvLHIrMSkpfX1lbmNvZGVFeHRlbnNpb24oZSl7aWYodHlwZW9mIGUuZGF0YT09ImZ1bmN0aW9uIil7Y29uc3Qgbj1lLmRhdGEodGhpcy5wb3MrNiksaT1uLmxlbmd0aDtpZihpPj00Mjk0OTY3Mjk2KXRocm93IG5ldyBFcnJvcihgVG9vIGxhcmdlIGV4dGVuc2lvbiBvYmplY3Q6ICR7aX1gKTt0aGlzLndyaXRlVTgoMjAxKSx0aGlzLndyaXRlVTMyKGkpLHRoaXMud3JpdGVJOChlLnR5cGUpLHRoaXMud3JpdGVVOGEobik7cmV0dXJufWNvbnN0IHI9ZS5kYXRhLmxlbmd0aDtpZihyPT09MSl0aGlzLndyaXRlVTgoMjEyKTtlbHNlIGlmKHI9PT0yKXRoaXMud3JpdGVVOCgyMTMpO2Vsc2UgaWYocj09PTQpdGhpcy53cml0ZVU4KDIxNCk7ZWxzZSBpZihyPT09OCl0aGlzLndyaXRlVTgoMjE1KTtlbHNlIGlmKHI9PT0xNil0aGlzLndyaXRlVTgoMjE2KTtlbHNlIGlmKHI8MjU2KXRoaXMud3JpdGVVOCgxOTkpLHRoaXMud3JpdGVVOChyKTtlbHNlIGlmKHI8NjU1MzYpdGhpcy53cml0ZVU4KDIwMCksdGhpcy53cml0ZVUxNihyKTtlbHNlIGlmKHI8NDI5NDk2NzI5Nil0aGlzLndyaXRlVTgoMjAxKSx0aGlzLndyaXRlVTMyKHIpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBUb28gbGFyZ2UgZXh0ZW5zaW9uIG9iamVjdDogJHtyfWApO3RoaXMud3JpdGVJOChlLnR5cGUpLHRoaXMud3JpdGVVOGEoZS5kYXRhKX13cml0ZVU4KGUpe3RoaXMuZW5zdXJlQnVmZmVyU2l6ZVRvV3JpdGUoMSksdGhpcy52aWV3LnNldFVpbnQ4KHRoaXMucG9zLGUpLHRoaXMucG9zKyt9d3JpdGVVOGEoZSl7Y29uc3Qgcj1lLmxlbmd0aDt0aGlzLmVuc3VyZUJ1ZmZlclNpemVUb1dyaXRlKHIpLHRoaXMuYnl0ZXMuc2V0KGUsdGhpcy5wb3MpLHRoaXMucG9zKz1yfXdyaXRlSTgoZSl7dGhpcy5lbnN1cmVCdWZmZXJTaXplVG9Xcml0ZSgxKSx0aGlzLnZpZXcuc2V0SW50OCh0aGlzLnBvcyxlKSx0aGlzLnBvcysrfXdyaXRlVTE2KGUpe3RoaXMuZW5zdXJlQnVmZmVyU2l6ZVRvV3JpdGUoMiksdGhpcy52aWV3LnNldFVpbnQxNih0aGlzLnBvcyxlKSx0aGlzLnBvcys9Mn13cml0ZUkxNihlKXt0aGlzLmVuc3VyZUJ1ZmZlclNpemVUb1dyaXRlKDIpLHRoaXMudmlldy5zZXRJbnQxNih0aGlzLnBvcyxlKSx0aGlzLnBvcys9Mn13cml0ZVUzMihlKXt0aGlzLmVuc3VyZUJ1ZmZlclNpemVUb1dyaXRlKDQpLHRoaXMudmlldy5zZXRVaW50MzIodGhpcy5wb3MsZSksdGhpcy5wb3MrPTR9d3JpdGVJMzIoZSl7dGhpcy5lbnN1cmVCdWZmZXJTaXplVG9Xcml0ZSg0KSx0aGlzLnZpZXcuc2V0SW50MzIodGhpcy5wb3MsZSksdGhpcy5wb3MrPTR9d3JpdGVGMzIoZSl7dGhpcy5lbnN1cmVCdWZmZXJTaXplVG9Xcml0ZSg0KSx0aGlzLnZpZXcuc2V0RmxvYXQzMih0aGlzLnBvcyxlKSx0aGlzLnBvcys9NH13cml0ZUY2NChlKXt0aGlzLmVuc3VyZUJ1ZmZlclNpemVUb1dyaXRlKDgpLHRoaXMudmlldy5zZXRGbG9hdDY0KHRoaXMucG9zLGUpLHRoaXMucG9zKz04fXdyaXRlVTY0KGUpe3RoaXMuZW5zdXJlQnVmZmVyU2l6ZVRvV3JpdGUoOCksQzEodGhpcy52aWV3LHRoaXMucG9zLGUpLHRoaXMucG9zKz04fXdyaXRlSTY0KGUpe3RoaXMuZW5zdXJlQnVmZmVyU2l6ZVRvV3JpdGUoOCksX2wodGhpcy52aWV3LHRoaXMucG9zLGUpLHRoaXMucG9zKz04fXdyaXRlQmlnVWludDY0KGUpe3RoaXMuZW5zdXJlQnVmZmVyU2l6ZVRvV3JpdGUoOCksdGhpcy52aWV3LnNldEJpZ1VpbnQ2NCh0aGlzLnBvcyxlKSx0aGlzLnBvcys9OH13cml0ZUJpZ0ludDY0KGUpe3RoaXMuZW5zdXJlQnVmZmVyU2l6ZVRvV3JpdGUoOCksdGhpcy52aWV3LnNldEJpZ0ludDY0KHRoaXMucG9zLGUpLHRoaXMucG9zKz04fX1mdW5jdGlvbiBZMSh0LGUpe3JldHVybiBuZXcgbW8oZSkuZW5jb2RlU2hhcmVkUmVmKHQpfWZ1bmN0aW9uIGJvKHQpe3JldHVybmAke3Q8MD8iLSI6IiJ9MHgke01hdGguYWJzKHQpLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIil9YH1jb25zdCBaMT0xNixYMT0xNjtjbGFzcyBKMXtoaXQ9MDttaXNzPTA7Y2FjaGVzO21heEtleUxlbmd0aDttYXhMZW5ndGhQZXJLZXk7Y29uc3RydWN0b3IoZT1aMSxyPVgxKXt0aGlzLm1heEtleUxlbmd0aD1lLHRoaXMubWF4TGVuZ3RoUGVyS2V5PXIsdGhpcy5jYWNoZXM9W107Zm9yKGxldCBuPTA7bjx0aGlzLm1heEtleUxlbmd0aDtuKyspdGhpcy5jYWNoZXMucHVzaChbXSl9Y2FuQmVDYWNoZWQoZSl7cmV0dXJuIGU+MCYmZTw9dGhpcy5tYXhLZXlMZW5ndGh9ZmluZChlLHIsbil7Y29uc3QgaT10aGlzLmNhY2hlc1tuLTFdO2U6Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3Qgbz1zLmJ5dGVzO2ZvcihsZXQgYT0wO2E8bjthKyspaWYob1thXSE9PWVbcithXSljb250aW51ZSBlO3JldHVybiBzLnN0cn1yZXR1cm4gbnVsbH1zdG9yZShlLHIpe2NvbnN0IG49dGhpcy5jYWNoZXNbZS5sZW5ndGgtMV0saT17Ynl0ZXM6ZSxzdHI6cn07bi5sZW5ndGg+PXRoaXMubWF4TGVuZ3RoUGVyS2V5P25bTWF0aC5yYW5kb20oKSpuLmxlbmd0aHwwXT1pOm4ucHVzaChpKX1kZWNvZGUoZSxyLG4pe2NvbnN0IGk9dGhpcy5maW5kKGUscixuKTtpZihpIT1udWxsKXJldHVybiB0aGlzLmhpdCsrLGk7dGhpcy5taXNzKys7Y29uc3Qgcz12bChlLHIsbiksbz1VaW50OEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUscixyK24pO3JldHVybiB0aGlzLnN0b3JlKG8scyksc319Y29uc3QgRW89ImFycmF5Iix2bj0ibWFwX2tleSIsU2w9Im1hcF92YWx1ZSIsUTE9dD0+e2lmKHR5cGVvZiB0PT0ic3RyaW5nInx8dHlwZW9mIHQ9PSJudW1iZXIiKXJldHVybiB0O3Rocm93IG5ldyBGZSgiVGhlIHR5cGUgb2Yga2V5IG11c3QgYmUgc3RyaW5nIG9yIG51bWJlciBidXQgIit0eXBlb2YgdCl9O2NsYXNzIGVFe3N0YWNrPVtdO3N0YWNrSGVhZFBvc2l0aW9uPS0xO2dldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5zdGFja0hlYWRQb3NpdGlvbisxfXRvcCgpe3JldHVybiB0aGlzLnN0YWNrW3RoaXMuc3RhY2tIZWFkUG9zaXRpb25dfXB1c2hBcnJheVN0YXRlKGUpe2NvbnN0IHI9dGhpcy5nZXRVbmluaXRpYWxpemVkU3RhdGVGcm9tUG9vbCgpO3IudHlwZT1FbyxyLnBvc2l0aW9uPTAsci5zaXplPWUsci5hcnJheT1uZXcgQXJyYXkoZSl9cHVzaE1hcFN0YXRlKGUpe2NvbnN0IHI9dGhpcy5nZXRVbmluaXRpYWxpemVkU3RhdGVGcm9tUG9vbCgpO3IudHlwZT12bixyLnJlYWRDb3VudD0wLHIuc2l6ZT1lLHIubWFwPXt9fWdldFVuaW5pdGlhbGl6ZWRTdGF0ZUZyb21Qb29sKCl7aWYodGhpcy5zdGFja0hlYWRQb3NpdGlvbisrLHRoaXMuc3RhY2tIZWFkUG9zaXRpb249PT10aGlzLnN0YWNrLmxlbmd0aCl7Y29uc3QgZT17dHlwZTp2b2lkIDAsc2l6ZTowLGFycmF5OnZvaWQgMCxwb3NpdGlvbjowLHJlYWRDb3VudDowLG1hcDp2b2lkIDAsa2V5Om51bGx9O3RoaXMuc3RhY2sucHVzaChlKX1yZXR1cm4gdGhpcy5zdGFja1t0aGlzLnN0YWNrSGVhZFBvc2l0aW9uXX1yZWxlYXNlKGUpe2lmKHRoaXMuc3RhY2tbdGhpcy5zdGFja0hlYWRQb3NpdGlvbl0hPT1lKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdGFjayBzdGF0ZS4gUmVsZWFzZWQgc3RhdGUgaXMgbm90IG9uIHRvcCBvZiB0aGUgc3RhY2suIik7aWYoZS50eXBlPT09RW8pe2NvbnN0IG49ZTtuLnNpemU9MCxuLmFycmF5PXZvaWQgMCxuLnBvc2l0aW9uPTAsbi50eXBlPXZvaWQgMH1pZihlLnR5cGU9PT12bnx8ZS50eXBlPT09U2wpe2NvbnN0IG49ZTtuLnNpemU9MCxuLm1hcD12b2lkIDAsbi5yZWFkQ291bnQ9MCxuLnR5cGU9dm9pZCAwfXRoaXMuc3RhY2tIZWFkUG9zaXRpb24tLX1yZXNldCgpe3RoaXMuc3RhY2subGVuZ3RoPTAsdGhpcy5zdGFja0hlYWRQb3NpdGlvbj0tMX19Y29uc3QgX249LTEsdm89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigwKSksdEU9bmV3IFVpbnQ4QXJyYXkodm8uYnVmZmVyKTt0cnl7dm8uZ2V0SW50OCgwKX1jYXRjaCh0KXtpZighKHQgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgbW9kdWxlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIGN1cnJlbnQgSmF2YVNjcmlwdCBlbmdpbmUgYmVjYXVzZSBEYXRhVmlldyBkb2VzIG5vdCB0aHJvdyBSYW5nZUVycm9yIG9uIG91dC1vZi1ib3VuZHMgYWNjZXNzIil9Y29uc3QgSWw9bmV3IFJhbmdlRXJyb3IoIkluc3VmZmljaWVudCBkYXRhIiksckU9bmV3IEoxO2NsYXNzIF9ve2V4dGVuc2lvbkNvZGVjO2NvbnRleHQ7dXNlQmlnSW50NjQ7cmF3U3RyaW5nczttYXhTdHJMZW5ndGg7bWF4QmluTGVuZ3RoO21heEFycmF5TGVuZ3RoO21heE1hcExlbmd0aDttYXhFeHRMZW5ndGg7a2V5RGVjb2RlcjttYXBLZXlDb252ZXJ0ZXI7dG90YWxQb3M9MDtwb3M9MDt2aWV3PXZvO2J5dGVzPXRFO2hlYWRCeXRlPV9uO3N0YWNrPW5ldyBlRTtlbnRlcmVkPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMuZXh0ZW5zaW9uQ29kZWM9ZT8uZXh0ZW5zaW9uQ29kZWM/P3hpLmRlZmF1bHRDb2RlYyx0aGlzLmNvbnRleHQ9ZT8uY29udGV4dCx0aGlzLnVzZUJpZ0ludDY0PWU/LnVzZUJpZ0ludDY0Pz8hMSx0aGlzLnJhd1N0cmluZ3M9ZT8ucmF3U3RyaW5ncz8/ITEsdGhpcy5tYXhTdHJMZW5ndGg9ZT8ubWF4U3RyTGVuZ3RoPz9Fbix0aGlzLm1heEJpbkxlbmd0aD1lPy5tYXhCaW5MZW5ndGg/P0VuLHRoaXMubWF4QXJyYXlMZW5ndGg9ZT8ubWF4QXJyYXlMZW5ndGg/P0VuLHRoaXMubWF4TWFwTGVuZ3RoPWU/Lm1heE1hcExlbmd0aD8/RW4sdGhpcy5tYXhFeHRMZW5ndGg9ZT8ubWF4RXh0TGVuZ3RoPz9Fbix0aGlzLmtleURlY29kZXI9ZT8ua2V5RGVjb2RlciE9PXZvaWQgMD9lLmtleURlY29kZXI6ckUsdGhpcy5tYXBLZXlDb252ZXJ0ZXI9ZT8ubWFwS2V5Q29udmVydGVyPz9RMX1jbG9uZSgpe3JldHVybiBuZXcgX28oe2V4dGVuc2lvbkNvZGVjOnRoaXMuZXh0ZW5zaW9uQ29kZWMsY29udGV4dDp0aGlzLmNvbnRleHQsdXNlQmlnSW50NjQ6dGhpcy51c2VCaWdJbnQ2NCxyYXdTdHJpbmdzOnRoaXMucmF3U3RyaW5ncyxtYXhTdHJMZW5ndGg6dGhpcy5tYXhTdHJMZW5ndGgsbWF4QmluTGVuZ3RoOnRoaXMubWF4QmluTGVuZ3RoLG1heEFycmF5TGVuZ3RoOnRoaXMubWF4QXJyYXlMZW5ndGgsbWF4TWFwTGVuZ3RoOnRoaXMubWF4TWFwTGVuZ3RoLG1heEV4dExlbmd0aDp0aGlzLm1heEV4dExlbmd0aCxrZXlEZWNvZGVyOnRoaXMua2V5RGVjb2Rlcn0pfXJlaW5pdGlhbGl6ZVN0YXRlKCl7dGhpcy50b3RhbFBvcz0wLHRoaXMuaGVhZEJ5dGU9X24sdGhpcy5zdGFjay5yZXNldCgpfXNldEJ1ZmZlcihlKXtjb25zdCByPXdvKGUpO3RoaXMuYnl0ZXM9cix0aGlzLnZpZXc9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxyLmJ5dGVMZW5ndGgpLHRoaXMucG9zPTB9YXBwZW5kQnVmZmVyKGUpe2lmKHRoaXMuaGVhZEJ5dGU9PT1fbiYmIXRoaXMuaGFzUmVtYWluaW5nKDEpKXRoaXMuc2V0QnVmZmVyKGUpO2Vsc2V7Y29uc3Qgcj10aGlzLmJ5dGVzLnN1YmFycmF5KHRoaXMucG9zKSxuPXdvKGUpLGk9bmV3IFVpbnQ4QXJyYXkoci5sZW5ndGgrbi5sZW5ndGgpO2kuc2V0KHIpLGkuc2V0KG4sci5sZW5ndGgpLHRoaXMuc2V0QnVmZmVyKGkpfX1oYXNSZW1haW5pbmcoZSl7cmV0dXJuIHRoaXMudmlldy5ieXRlTGVuZ3RoLXRoaXMucG9zPj1lfWNyZWF0ZUV4dHJhQnl0ZUVycm9yKGUpe2NvbnN0e3ZpZXc6cixwb3M6bn09dGhpcztyZXR1cm4gbmV3IFJhbmdlRXJyb3IoYEV4dHJhICR7ci5ieXRlTGVuZ3RoLW59IG9mICR7ci5ieXRlTGVuZ3RofSBieXRlKHMpIGZvdW5kIGF0IGJ1ZmZlclske2V9XWApfWRlY29kZShlKXtpZih0aGlzLmVudGVyZWQpcmV0dXJuIHRoaXMuY2xvbmUoKS5kZWNvZGUoZSk7dHJ5e3RoaXMuZW50ZXJlZD0hMCx0aGlzLnJlaW5pdGlhbGl6ZVN0YXRlKCksdGhpcy5zZXRCdWZmZXIoZSk7Y29uc3Qgcj10aGlzLmRvRGVjb2RlU3luYygpO2lmKHRoaXMuaGFzUmVtYWluaW5nKDEpKXRocm93IHRoaXMuY3JlYXRlRXh0cmFCeXRlRXJyb3IodGhpcy5wb3MpO3JldHVybiByfWZpbmFsbHl7dGhpcy5lbnRlcmVkPSExfX0qZGVjb2RlTXVsdGkoZSl7aWYodGhpcy5lbnRlcmVkKXt5aWVsZCp0aGlzLmNsb25lKCkuZGVjb2RlTXVsdGkoZSk7cmV0dXJufXRyeXtmb3IodGhpcy5lbnRlcmVkPSEwLHRoaXMucmVpbml0aWFsaXplU3RhdGUoKSx0aGlzLnNldEJ1ZmZlcihlKTt0aGlzLmhhc1JlbWFpbmluZygxKTspeWllbGQgdGhpcy5kb0RlY29kZVN5bmMoKX1maW5hbGx5e3RoaXMuZW50ZXJlZD0hMX19YXN5bmMgZGVjb2RlQXN5bmMoZSl7aWYodGhpcy5lbnRlcmVkKXJldHVybiB0aGlzLmNsb25lKCkuZGVjb2RlQXN5bmMoZSk7dHJ5e3RoaXMuZW50ZXJlZD0hMDtsZXQgcj0hMSxuO2ZvciBhd2FpdChjb25zdCBhIG9mIGUpe2lmKHIpdGhyb3cgdGhpcy5lbnRlcmVkPSExLHRoaXMuY3JlYXRlRXh0cmFCeXRlRXJyb3IodGhpcy50b3RhbFBvcyk7dGhpcy5hcHBlbmRCdWZmZXIoYSk7dHJ5e249dGhpcy5kb0RlY29kZVN5bmMoKSxyPSEwfWNhdGNoKGMpe2lmKCEoYyBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXRocm93IGN9dGhpcy50b3RhbFBvcys9dGhpcy5wb3N9aWYocil7aWYodGhpcy5oYXNSZW1haW5pbmcoMSkpdGhyb3cgdGhpcy5jcmVhdGVFeHRyYUJ5dGVFcnJvcih0aGlzLnRvdGFsUG9zKTtyZXR1cm4gbn1jb25zdHtoZWFkQnl0ZTppLHBvczpzLHRvdGFsUG9zOm99PXRoaXM7dGhyb3cgbmV3IFJhbmdlRXJyb3IoYEluc3VmZmljaWVudCBkYXRhIGluIHBhcnNpbmcgJHtibyhpKX0gYXQgJHtvfSAoJHtzfSBpbiB0aGUgY3VycmVudCBidWZmZXIpYCl9ZmluYWxseXt0aGlzLmVudGVyZWQ9ITF9fWRlY29kZUFycmF5U3RyZWFtKGUpe3JldHVybiB0aGlzLmRlY29kZU11bHRpQXN5bmMoZSwhMCl9ZGVjb2RlU3RyZWFtKGUpe3JldHVybiB0aGlzLmRlY29kZU11bHRpQXN5bmMoZSwhMSl9YXN5bmMqZGVjb2RlTXVsdGlBc3luYyhlLHIpe2lmKHRoaXMuZW50ZXJlZCl7eWllbGQqdGhpcy5jbG9uZSgpLmRlY29kZU11bHRpQXN5bmMoZSxyKTtyZXR1cm59dHJ5e3RoaXMuZW50ZXJlZD0hMDtsZXQgbj1yLGk9LTE7Zm9yIGF3YWl0KGNvbnN0IHMgb2YgZSl7aWYociYmaT09PTApdGhyb3cgdGhpcy5jcmVhdGVFeHRyYUJ5dGVFcnJvcih0aGlzLnRvdGFsUG9zKTt0aGlzLmFwcGVuZEJ1ZmZlcihzKSxuJiYoaT10aGlzLnJlYWRBcnJheVNpemUoKSxuPSExLHRoaXMuY29tcGxldGUoKSk7dHJ5e2Zvcig7eWllbGQgdGhpcy5kb0RlY29kZVN5bmMoKSwtLWkhPT0wOyk7fWNhdGNoKG8pe2lmKCEobyBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXRocm93IG99dGhpcy50b3RhbFBvcys9dGhpcy5wb3N9fWZpbmFsbHl7dGhpcy5lbnRlcmVkPSExfX1kb0RlY29kZVN5bmMoKXtlOmZvcig7Oyl7Y29uc3QgZT10aGlzLnJlYWRIZWFkQnl0ZSgpO2xldCByO2lmKGU+PTIyNClyPWUtMjU2O2Vsc2UgaWYoZTwxOTIpaWYoZTwxMjgpcj1lO2Vsc2UgaWYoZTwxNDQpe2NvbnN0IGk9ZS0xMjg7aWYoaSE9PTApe3RoaXMucHVzaE1hcFN0YXRlKGkpLHRoaXMuY29tcGxldGUoKTtjb250aW51ZSBlfWVsc2Ugcj17fX1lbHNlIGlmKGU8MTYwKXtjb25zdCBpPWUtMTQ0O2lmKGkhPT0wKXt0aGlzLnB1c2hBcnJheVN0YXRlKGkpLHRoaXMuY29tcGxldGUoKTtjb250aW51ZSBlfWVsc2Ugcj1bXX1lbHNle2NvbnN0IGk9ZS0xNjA7cj10aGlzLmRlY29kZVN0cmluZyhpLDApfWVsc2UgaWYoZT09PTE5MilyPW51bGw7ZWxzZSBpZihlPT09MTk0KXI9ITE7ZWxzZSBpZihlPT09MTk1KXI9ITA7ZWxzZSBpZihlPT09MjAyKXI9dGhpcy5yZWFkRjMyKCk7ZWxzZSBpZihlPT09MjAzKXI9dGhpcy5yZWFkRjY0KCk7ZWxzZSBpZihlPT09MjA0KXI9dGhpcy5yZWFkVTgoKTtlbHNlIGlmKGU9PT0yMDUpcj10aGlzLnJlYWRVMTYoKTtlbHNlIGlmKGU9PT0yMDYpcj10aGlzLnJlYWRVMzIoKTtlbHNlIGlmKGU9PT0yMDcpdGhpcy51c2VCaWdJbnQ2ND9yPXRoaXMucmVhZFU2NEFzQmlnSW50KCk6cj10aGlzLnJlYWRVNjQoKTtlbHNlIGlmKGU9PT0yMDgpcj10aGlzLnJlYWRJOCgpO2Vsc2UgaWYoZT09PTIwOSlyPXRoaXMucmVhZEkxNigpO2Vsc2UgaWYoZT09PTIxMClyPXRoaXMucmVhZEkzMigpO2Vsc2UgaWYoZT09PTIxMSl0aGlzLnVzZUJpZ0ludDY0P3I9dGhpcy5yZWFkSTY0QXNCaWdJbnQoKTpyPXRoaXMucmVhZEk2NCgpO2Vsc2UgaWYoZT09PTIxNyl7Y29uc3QgaT10aGlzLmxvb2tVOCgpO3I9dGhpcy5kZWNvZGVTdHJpbmcoaSwxKX1lbHNlIGlmKGU9PT0yMTgpe2NvbnN0IGk9dGhpcy5sb29rVTE2KCk7cj10aGlzLmRlY29kZVN0cmluZyhpLDIpfWVsc2UgaWYoZT09PTIxOSl7Y29uc3QgaT10aGlzLmxvb2tVMzIoKTtyPXRoaXMuZGVjb2RlU3RyaW5nKGksNCl9ZWxzZSBpZihlPT09MjIwKXtjb25zdCBpPXRoaXMucmVhZFUxNigpO2lmKGkhPT0wKXt0aGlzLnB1c2hBcnJheVN0YXRlKGkpLHRoaXMuY29tcGxldGUoKTtjb250aW51ZSBlfWVsc2Ugcj1bXX1lbHNlIGlmKGU9PT0yMjEpe2NvbnN0IGk9dGhpcy5yZWFkVTMyKCk7aWYoaSE9PTApe3RoaXMucHVzaEFycmF5U3RhdGUoaSksdGhpcy5jb21wbGV0ZSgpO2NvbnRpbnVlIGV9ZWxzZSByPVtdfWVsc2UgaWYoZT09PTIyMil7Y29uc3QgaT10aGlzLnJlYWRVMTYoKTtpZihpIT09MCl7dGhpcy5wdXNoTWFwU3RhdGUoaSksdGhpcy5jb21wbGV0ZSgpO2NvbnRpbnVlIGV9ZWxzZSByPXt9fWVsc2UgaWYoZT09PTIyMyl7Y29uc3QgaT10aGlzLnJlYWRVMzIoKTtpZihpIT09MCl7dGhpcy5wdXNoTWFwU3RhdGUoaSksdGhpcy5jb21wbGV0ZSgpO2NvbnRpbnVlIGV9ZWxzZSByPXt9fWVsc2UgaWYoZT09PTE5Nil7Y29uc3QgaT10aGlzLmxvb2tVOCgpO3I9dGhpcy5kZWNvZGVCaW5hcnkoaSwxKX1lbHNlIGlmKGU9PT0xOTcpe2NvbnN0IGk9dGhpcy5sb29rVTE2KCk7cj10aGlzLmRlY29kZUJpbmFyeShpLDIpfWVsc2UgaWYoZT09PTE5OCl7Y29uc3QgaT10aGlzLmxvb2tVMzIoKTtyPXRoaXMuZGVjb2RlQmluYXJ5KGksNCl9ZWxzZSBpZihlPT09MjEyKXI9dGhpcy5kZWNvZGVFeHRlbnNpb24oMSwwKTtlbHNlIGlmKGU9PT0yMTMpcj10aGlzLmRlY29kZUV4dGVuc2lvbigyLDApO2Vsc2UgaWYoZT09PTIxNClyPXRoaXMuZGVjb2RlRXh0ZW5zaW9uKDQsMCk7ZWxzZSBpZihlPT09MjE1KXI9dGhpcy5kZWNvZGVFeHRlbnNpb24oOCwwKTtlbHNlIGlmKGU9PT0yMTYpcj10aGlzLmRlY29kZUV4dGVuc2lvbigxNiwwKTtlbHNlIGlmKGU9PT0xOTkpe2NvbnN0IGk9dGhpcy5sb29rVTgoKTtyPXRoaXMuZGVjb2RlRXh0ZW5zaW9uKGksMSl9ZWxzZSBpZihlPT09MjAwKXtjb25zdCBpPXRoaXMubG9va1UxNigpO3I9dGhpcy5kZWNvZGVFeHRlbnNpb24oaSwyKX1lbHNlIGlmKGU9PT0yMDEpe2NvbnN0IGk9dGhpcy5sb29rVTMyKCk7cj10aGlzLmRlY29kZUV4dGVuc2lvbihpLDQpfWVsc2UgdGhyb3cgbmV3IEZlKGBVbnJlY29nbml6ZWQgdHlwZSBieXRlOiAke2JvKGUpfWApO3RoaXMuY29tcGxldGUoKTtjb25zdCBuPXRoaXMuc3RhY2s7Zm9yKDtuLmxlbmd0aD4wOyl7Y29uc3QgaT1uLnRvcCgpO2lmKGkudHlwZT09PUVvKWlmKGkuYXJyYXlbaS5wb3NpdGlvbl09cixpLnBvc2l0aW9uKyssaS5wb3NpdGlvbj09PWkuc2l6ZSlyPWkuYXJyYXksbi5yZWxlYXNlKGkpO2Vsc2UgY29udGludWUgZTtlbHNlIGlmKGkudHlwZT09PXZuKXtpZihyPT09Il9fcHJvdG9fXyIpdGhyb3cgbmV3IEZlKCJUaGUga2V5IF9fcHJvdG9fXyBpcyBub3QgYWxsb3dlZCIpO2kua2V5PXRoaXMubWFwS2V5Q29udmVydGVyKHIpLGkudHlwZT1TbDtjb250aW51ZSBlfWVsc2UgaWYoaS5tYXBbaS5rZXldPXIsaS5yZWFkQ291bnQrKyxpLnJlYWRDb3VudD09PWkuc2l6ZSlyPWkubWFwLG4ucmVsZWFzZShpKTtlbHNle2kua2V5PW51bGwsaS50eXBlPXZuO2NvbnRpbnVlIGV9fXJldHVybiByfX1yZWFkSGVhZEJ5dGUoKXtyZXR1cm4gdGhpcy5oZWFkQnl0ZT09PV9uJiYodGhpcy5oZWFkQnl0ZT10aGlzLnJlYWRVOCgpKSx0aGlzLmhlYWRCeXRlfWNvbXBsZXRlKCl7dGhpcy5oZWFkQnl0ZT1fbn1yZWFkQXJyYXlTaXplKCl7Y29uc3QgZT10aGlzLnJlYWRIZWFkQnl0ZSgpO3N3aXRjaChlKXtjYXNlIDIyMDpyZXR1cm4gdGhpcy5yZWFkVTE2KCk7Y2FzZSAyMjE6cmV0dXJuIHRoaXMucmVhZFUzMigpO2RlZmF1bHQ6e2lmKGU8MTYwKXJldHVybiBlLTE0NDt0aHJvdyBuZXcgRmUoYFVucmVjb2duaXplZCBhcnJheSB0eXBlIGJ5dGU6ICR7Ym8oZSl9YCl9fX1wdXNoTWFwU3RhdGUoZSl7aWYoZT50aGlzLm1heE1hcExlbmd0aCl0aHJvdyBuZXcgRmUoYE1heCBsZW5ndGggZXhjZWVkZWQ6IG1hcCBsZW5ndGggKCR7ZX0pID4gbWF4TWFwTGVuZ3RoTGVuZ3RoICgke3RoaXMubWF4TWFwTGVuZ3RofSlgKTt0aGlzLnN0YWNrLnB1c2hNYXBTdGF0ZShlKX1wdXNoQXJyYXlTdGF0ZShlKXtpZihlPnRoaXMubWF4QXJyYXlMZW5ndGgpdGhyb3cgbmV3IEZlKGBNYXggbGVuZ3RoIGV4Y2VlZGVkOiBhcnJheSBsZW5ndGggKCR7ZX0pID4gbWF4QXJyYXlMZW5ndGggKCR7dGhpcy5tYXhBcnJheUxlbmd0aH0pYCk7dGhpcy5zdGFjay5wdXNoQXJyYXlTdGF0ZShlKX1kZWNvZGVTdHJpbmcoZSxyKXtyZXR1cm4hdGhpcy5yYXdTdHJpbmdzfHx0aGlzLnN0YXRlSXNNYXBLZXkoKT90aGlzLmRlY29kZVV0ZjhTdHJpbmcoZSxyKTp0aGlzLmRlY29kZUJpbmFyeShlLHIpfWRlY29kZVV0ZjhTdHJpbmcoZSxyKXtpZihlPnRoaXMubWF4U3RyTGVuZ3RoKXRocm93IG5ldyBGZShgTWF4IGxlbmd0aCBleGNlZWRlZDogVVRGLTggYnl0ZSBsZW5ndGggKCR7ZX0pID4gbWF4U3RyTGVuZ3RoICgke3RoaXMubWF4U3RyTGVuZ3RofSlgKTtpZih0aGlzLmJ5dGVzLmJ5dGVMZW5ndGg8dGhpcy5wb3MrcitlKXRocm93IElsO2NvbnN0IG49dGhpcy5wb3MrcjtsZXQgaTtyZXR1cm4gdGhpcy5zdGF0ZUlzTWFwS2V5KCkmJnRoaXMua2V5RGVjb2Rlcj8uY2FuQmVDYWNoZWQoZSk/aT10aGlzLmtleURlY29kZXIuZGVjb2RlKHRoaXMuYnl0ZXMsbixlKTppPSQxKHRoaXMuYnl0ZXMsbixlKSx0aGlzLnBvcys9citlLGl9c3RhdGVJc01hcEtleSgpe3JldHVybiB0aGlzLnN0YWNrLmxlbmd0aD4wP3RoaXMuc3RhY2sudG9wKCkudHlwZT09PXZuOiExfWRlY29kZUJpbmFyeShlLHIpe2lmKGU+dGhpcy5tYXhCaW5MZW5ndGgpdGhyb3cgbmV3IEZlKGBNYXggbGVuZ3RoIGV4Y2VlZGVkOiBiaW4gbGVuZ3RoICgke2V9KSA+IG1heEJpbkxlbmd0aCAoJHt0aGlzLm1heEJpbkxlbmd0aH0pYCk7aWYoIXRoaXMuaGFzUmVtYWluaW5nKGUrcikpdGhyb3cgSWw7Y29uc3Qgbj10aGlzLnBvcytyLGk9dGhpcy5ieXRlcy5zdWJhcnJheShuLG4rZSk7cmV0dXJuIHRoaXMucG9zKz1yK2UsaX1kZWNvZGVFeHRlbnNpb24oZSxyKXtpZihlPnRoaXMubWF4RXh0TGVuZ3RoKXRocm93IG5ldyBGZShgTWF4IGxlbmd0aCBleGNlZWRlZDogZXh0IGxlbmd0aCAoJHtlfSkgPiBtYXhFeHRMZW5ndGggKCR7dGhpcy5tYXhFeHRMZW5ndGh9KWApO2NvbnN0IG49dGhpcy52aWV3LmdldEludDgodGhpcy5wb3MrciksaT10aGlzLmRlY29kZUJpbmFyeShlLHIrMSk7cmV0dXJuIHRoaXMuZXh0ZW5zaW9uQ29kZWMuZGVjb2RlKGksbix0aGlzLmNvbnRleHQpfWxvb2tVOCgpe3JldHVybiB0aGlzLnZpZXcuZ2V0VWludDgodGhpcy5wb3MpfWxvb2tVMTYoKXtyZXR1cm4gdGhpcy52aWV3LmdldFVpbnQxNih0aGlzLnBvcyl9bG9va1UzMigpe3JldHVybiB0aGlzLnZpZXcuZ2V0VWludDMyKHRoaXMucG9zKX1yZWFkVTgoKXtjb25zdCBlPXRoaXMudmlldy5nZXRVaW50OCh0aGlzLnBvcyk7cmV0dXJuIHRoaXMucG9zKyssZX1yZWFkSTgoKXtjb25zdCBlPXRoaXMudmlldy5nZXRJbnQ4KHRoaXMucG9zKTtyZXR1cm4gdGhpcy5wb3MrKyxlfXJlYWRVMTYoKXtjb25zdCBlPXRoaXMudmlldy5nZXRVaW50MTYodGhpcy5wb3MpO3JldHVybiB0aGlzLnBvcys9MixlfXJlYWRJMTYoKXtjb25zdCBlPXRoaXMudmlldy5nZXRJbnQxNih0aGlzLnBvcyk7cmV0dXJuIHRoaXMucG9zKz0yLGV9cmVhZFUzMigpe2NvbnN0IGU9dGhpcy52aWV3LmdldFVpbnQzMih0aGlzLnBvcyk7cmV0dXJuIHRoaXMucG9zKz00LGV9cmVhZEkzMigpe2NvbnN0IGU9dGhpcy52aWV3LmdldEludDMyKHRoaXMucG9zKTtyZXR1cm4gdGhpcy5wb3MrPTQsZX1yZWFkVTY0KCl7Y29uc3QgZT1VMSh0aGlzLnZpZXcsdGhpcy5wb3MpO3JldHVybiB0aGlzLnBvcys9OCxlfXJlYWRJNjQoKXtjb25zdCBlPXhsKHRoaXMudmlldyx0aGlzLnBvcyk7cmV0dXJuIHRoaXMucG9zKz04LGV9cmVhZFU2NEFzQmlnSW50KCl7Y29uc3QgZT10aGlzLnZpZXcuZ2V0QmlnVWludDY0KHRoaXMucG9zKTtyZXR1cm4gdGhpcy5wb3MrPTgsZX1yZWFkSTY0QXNCaWdJbnQoKXtjb25zdCBlPXRoaXMudmlldy5nZXRCaWdJbnQ2NCh0aGlzLnBvcyk7cmV0dXJuIHRoaXMucG9zKz04LGV9cmVhZEYzMigpe2NvbnN0IGU9dGhpcy52aWV3LmdldEZsb2F0MzIodGhpcy5wb3MpO3JldHVybiB0aGlzLnBvcys9NCxlfXJlYWRGNjQoKXtjb25zdCBlPXRoaXMudmlldy5nZXRGbG9hdDY0KHRoaXMucG9zKTtyZXR1cm4gdGhpcy5wb3MrPTgsZX19ZnVuY3Rpb24gbkUodCxlKXtyZXR1cm4gbmV3IF9vKGUpLmRlY29kZSh0KX1mdW5jdGlvbiB3cih0LGUpe2V8fChlPXQucmVkdWNlKChpLHMpPT5pK3MubGVuZ3RoLDApKTtjb25zdCByPVZjKGUpO2xldCBuPTA7Zm9yKGNvbnN0IGkgb2YgdClyLnNldChpLG4pLG4rPWkubGVuZ3RoO3JldHVybiBVcyhyKX1mdW5jdGlvbiBnZSh0LGU9InV0ZjgiKXtjb25zdCByPUdjW2VdO2lmKCFyKXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZW5jb2RpbmcgIiR7ZX0iYCk7cmV0dXJuKGU9PT0idXRmOCJ8fGU9PT0idXRmLTgiKSYmZ2xvYmFsVGhpcy5CdWZmZXIhPW51bGwmJmdsb2JhbFRoaXMuQnVmZmVyLmZyb20hPW51bGw/Z2xvYmFsVGhpcy5CdWZmZXIuZnJvbSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKS50b1N0cmluZygidXRmOCIpOnIuZW5jb2Rlci5lbmNvZGUodCkuc3Vic3RyaW5nKDEpfWNvbnN0IERsPXQ9PlVpbnQ4QXJyYXkuZnJvbSh0LnNwbGl0KCIiKS5tYXAoZT0+ZS5jaGFyQ29kZUF0KDApKSksaUU9RGwoImV4cGFuZCAxNi1ieXRlIGsiKSxzRT1EbCgiZXhwYW5kIDMyLWJ5dGUgayIpLG9FPW5yKGlFKSxhRT1ucihzRSk7ZnVuY3Rpb24gSih0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfWZ1bmN0aW9uIHhvKHQpe3JldHVybiB0LmJ5dGVPZmZzZXQlND09PTB9Y29uc3QgU2k9NjQsY0U9MTYsQWw9MioqMzItMSxPbD1uZXcgVWludDMyQXJyYXk7ZnVuY3Rpb24gdUUodCxlLHIsbixpLHMsbyxhKXtjb25zdCBjPWkubGVuZ3RoLHU9bmV3IFVpbnQ4QXJyYXkoU2kpLGw9bnIodSksaD14byhpKSYmeG8ocyksZj1oP25yKGkpOk9sLHA9aD9ucihzKTpPbDtmb3IobGV0IGQ9MDtkPGM7bysrKXtpZih0KGUscixuLGwsbyxhKSxvPj1BbCl0aHJvdyBuZXcgRXJyb3IoImFyeDogY291bnRlciBvdmVyZmxvdyIpO2NvbnN0IGc9TWF0aC5taW4oU2ksYy1kKTtpZihoJiZnPT09U2kpe2NvbnN0IHk9ZC80O2lmKGQlNCE9PTApdGhyb3cgbmV3IEVycm9yKCJhcng6IGludmFsaWQgYmxvY2sgcG9zaXRpb24iKTtmb3IobGV0IHY9MCxBO3Y8Y0U7disrKUE9eSt2LHBbQV09ZltBXV5sW3ZdO2QrPVNpO2NvbnRpbnVlfWZvcihsZXQgeT0wLHY7eTxnO3krKyl2PWQreSxzW3ZdPWlbdl1edVt5XTtkKz1nfX1mdW5jdGlvbiBsRSh0LGUpe2NvbnN0e2FsbG93U2hvcnRLZXlzOnIsZXh0ZW5kTm9uY2VGbjpuLGNvdW50ZXJMZW5ndGg6aSxjb3VudGVyUmlnaHQ6cyxyb3VuZHM6b309YjEoe2FsbG93U2hvcnRLZXlzOiExLGNvdW50ZXJMZW5ndGg6OCxjb3VudGVyUmlnaHQ6ITEscm91bmRzOjIwfSxlKTtpZih0eXBlb2YgdCE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoImNvcmUgbXVzdCBiZSBhIGZ1bmN0aW9uIik7cmV0dXJuIHBvKGkpLHBvKG8pLGZvKHMpLGZvKHIpLChhLGMsdSxsLGg9MCk9PntVZShhKSxVZShjKSxVZSh1KTtjb25zdCBmPXUubGVuZ3RoO2lmKGw9PT12b2lkIDAmJihsPW5ldyBVaW50OEFycmF5KGYpKSxVZShsKSxwbyhoKSxoPDB8fGg+PUFsKXRocm93IG5ldyBFcnJvcigiYXJ4OiBjb3VudGVyIG92ZXJmbG93Iik7aWYobC5sZW5ndGg8Zil0aHJvdyBuZXcgRXJyb3IoYGFyeDogb3V0cHV0ICgke2wubGVuZ3RofSkgaXMgc2hvcnRlciB0aGFuIGRhdGEgKCR7Zn0pYCk7Y29uc3QgcD1bXTtsZXQgZD1hLmxlbmd0aCxnLHk7aWYoZD09PTMyKXAucHVzaChnPXlvKGEpKSx5PWFFO2Vsc2UgaWYoZD09PTE2JiZyKWc9bmV3IFVpbnQ4QXJyYXkoMzIpLGcuc2V0KGEpLGcuc2V0KGEsMTYpLHk9b0UscC5wdXNoKGcpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBhcng6IGludmFsaWQgMzItYnl0ZSBrZXksIGdvdCBsZW5ndGg9JHtkfWApO3hvKGMpfHxwLnB1c2goYz15byhjKSk7Y29uc3Qgdj1ucihnKTtpZihuKXtpZihjLmxlbmd0aCE9PTI0KXRocm93IG5ldyBFcnJvcigiYXJ4OiBleHRlbmRlZCBub25jZSBtdXN0IGJlIDI0IGJ5dGVzIik7bih5LHYsbnIoYy5zdWJhcnJheSgwLDE2KSksdiksYz1jLnN1YmFycmF5KDE2KX1jb25zdCBBPTE2LWk7aWYoQSE9PWMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYXJ4OiBub25jZSBtdXN0IGJlICR7QX0gb3IgMTYgYnl0ZXNgKTtpZihBIT09MTIpe2NvbnN0IG09bmV3IFVpbnQ4QXJyYXkoMTIpO20uc2V0KGMscz8wOjEyLWMubGVuZ3RoKSxjPW0scC5wdXNoKGMpfWNvbnN0IHc9bnIoYyk7cmV0dXJuIHVFKHQseSx2LHcsdSxsLGgsbyksRnIoLi4ucCksbH19Y29uc3QgYmU9KHQsZSk9PnRbZSsrXSYyNTV8KHRbZSsrXSYyNTUpPDw4O2NsYXNzIGhFe2NvbnN0cnVjdG9yKGUpe3RoaXMuYmxvY2tMZW49MTYsdGhpcy5vdXRwdXRMZW49MTYsdGhpcy5idWZmZXI9bmV3IFVpbnQ4QXJyYXkoMTYpLHRoaXMucj1uZXcgVWludDE2QXJyYXkoMTApLHRoaXMuaD1uZXcgVWludDE2QXJyYXkoMTApLHRoaXMucGFkPW5ldyBVaW50MTZBcnJheSg4KSx0aGlzLnBvcz0wLHRoaXMuZmluaXNoZWQ9ITEsZT1nbyhlKSxVZShlLDMyKTtjb25zdCByPWJlKGUsMCksbj1iZShlLDIpLGk9YmUoZSw0KSxzPWJlKGUsNiksbz1iZShlLDgpLGE9YmUoZSwxMCksYz1iZShlLDEyKSx1PWJlKGUsMTQpO3RoaXMuclswXT1yJjgxOTEsdGhpcy5yWzFdPShyPj4+MTN8bjw8MykmODE5MSx0aGlzLnJbMl09KG4+Pj4xMHxpPDw2KSY3OTM5LHRoaXMuclszXT0oaT4+Pjd8czw8OSkmODE5MSx0aGlzLnJbNF09KHM+Pj40fG88PDEyKSYyNTUsdGhpcy5yWzVdPW8+Pj4xJjgxOTAsdGhpcy5yWzZdPShvPj4+MTR8YTw8MikmODE5MSx0aGlzLnJbN109KGE+Pj4xMXxjPDw1KSY4MDY1LHRoaXMucls4XT0oYz4+Pjh8dTw8OCkmODE5MSx0aGlzLnJbOV09dT4+PjUmMTI3O2ZvcihsZXQgbD0wO2w8ODtsKyspdGhpcy5wYWRbbF09YmUoZSwxNisyKmwpfXByb2Nlc3MoZSxyLG49ITEpe2NvbnN0IGk9bj8wOjIwNDgse2g6cyxyOm99PXRoaXMsYT1vWzBdLGM9b1sxXSx1PW9bMl0sbD1vWzNdLGg9b1s0XSxmPW9bNV0scD1vWzZdLGQ9b1s3XSxnPW9bOF0seT1vWzldLHY9YmUoZSxyKzApLEE9YmUoZSxyKzIpLHc9YmUoZSxyKzQpLG09YmUoZSxyKzYpLF89YmUoZSxyKzgpLHg9YmUoZSxyKzEwKSxUPWJlKGUscisxMiksQj1iZShlLHIrMTQpO2xldCBQPXNbMF0rKHYmODE5MSksVT1zWzFdKygodj4+PjEzfEE8PDMpJjgxOTEpLEw9c1syXSsoKEE+Pj4xMHx3PDw2KSY4MTkxKSxDPXNbM10rKCh3Pj4+N3xtPDw5KSY4MTkxKSxTPXNbNF0rKChtPj4+NHxfPDwxMikmODE5MSksUj1zWzVdKyhfPj4+MSY4MTkxKSxiPXNbNl0rKChfPj4+MTR8eDw8MikmODE5MSksRT1zWzddKygoeD4+PjExfFQ8PDUpJjgxOTEpLEQ9c1s4XSsoKFQ+Pj44fEI8PDgpJjgxOTEpLE89c1s5XSsoQj4+PjV8aSksST0wLE49SStQKmErVSooNSp5KStMKig1KmcpK0MqKDUqZCkrUyooNSpwKTtJPU4+Pj4xMyxOJj04MTkxLE4rPVIqKDUqZikrYiooNSpoKStFKig1KmwpK0QqKDUqdSkrTyooNSpjKSxJKz1OPj4+MTMsTiY9ODE5MTtsZXQgJD1JK1AqYytVKmErTCooNSp5KStDKig1KmcpK1MqKDUqZCk7ST0kPj4+MTMsJCY9ODE5MSwkKz1SKig1KnApK2IqKDUqZikrRSooNSpoKStEKig1KmwpK08qKDUqdSksSSs9JD4+PjEzLCQmPTgxOTE7bGV0IGs9SStQKnUrVSpjK0wqYStDKig1KnkpK1MqKDUqZyk7ST1rPj4+MTMsayY9ODE5MSxrKz1SKig1KmQpK2IqKDUqcCkrRSooNSpmKStEKig1KmgpK08qKDUqbCksSSs9az4+PjEzLGsmPTgxOTE7bGV0IHo9SStQKmwrVSp1K0wqYytDKmErUyooNSp5KTtJPXo+Pj4xMyx6Jj04MTkxLHorPVIqKDUqZykrYiooNSpkKStFKig1KnApK0QqKDUqZikrTyooNSpoKSxJKz16Pj4+MTMseiY9ODE5MTtsZXQgaj1JK1AqaCtVKmwrTCp1K0MqYytTKmE7ST1qPj4+MTMsaiY9ODE5MSxqKz1SKig1KnkpK2IqKDUqZykrRSooNSpkKStEKig1KnApK08qKDUqZiksSSs9aj4+PjEzLGomPTgxOTE7bGV0IHE9SStQKmYrVSpoK0wqbCtDKnUrUypjO0k9cT4+PjEzLHEmPTgxOTEscSs9UiphK2IqKDUqeSkrRSooNSpnKStEKig1KmQpK08qKDUqcCksSSs9cT4+PjEzLHEmPTgxOTE7bGV0IFY9SStQKnArVSpmK0wqaCtDKmwrUyp1O0k9Vj4+PjEzLFYmPTgxOTEsVis9UipjK2IqYStFKig1KnkpK0QqKDUqZykrTyooNSpkKSxJKz1WPj4+MTMsViY9ODE5MTtsZXQgVz1JK1AqZCtVKnArTCpmK0MqaCtTKmw7ST1XPj4+MTMsVyY9ODE5MSxXKz1SKnUrYipjK0UqYStEKig1KnkpK08qKDUqZyksSSs9Vz4+PjEzLFcmPTgxOTE7bGV0IEc9SStQKmcrVSpkK0wqcCtDKmYrUypoO0k9Rz4+PjEzLEcmPTgxOTEsRys9UipsK2IqdStFKmMrRCphK08qKDUqeSksSSs9Rz4+PjEzLEcmPTgxOTE7bGV0IEg9SStQKnkrVSpnK0wqZCtDKnArUypmO0k9SD4+PjEzLEgmPTgxOTEsSCs9UipoK2IqbCtFKnUrRCpjK08qYSxJKz1IPj4+MTMsSCY9ODE5MSxJPShJPDwyKStJfDAsST1JK058MCxOPUkmODE5MSxJPUk+Pj4xMywkKz1JLHNbMF09TixzWzFdPSQsc1syXT1rLHNbM109eixzWzRdPWosc1s1XT1xLHNbNl09VixzWzddPVcsc1s4XT1HLHNbOV09SH1maW5hbGl6ZSgpe2NvbnN0e2g6ZSxwYWQ6cn09dGhpcyxuPW5ldyBVaW50MTZBcnJheSgxMCk7bGV0IGk9ZVsxXT4+PjEzO2VbMV0mPTgxOTE7Zm9yKGxldCBhPTI7YTwxMDthKyspZVthXSs9aSxpPWVbYV0+Pj4xMyxlW2FdJj04MTkxO2VbMF0rPWkqNSxpPWVbMF0+Pj4xMyxlWzBdJj04MTkxLGVbMV0rPWksaT1lWzFdPj4+MTMsZVsxXSY9ODE5MSxlWzJdKz1pLG5bMF09ZVswXSs1LGk9blswXT4+PjEzLG5bMF0mPTgxOTE7Zm9yKGxldCBhPTE7YTwxMDthKyspblthXT1lW2FdK2ksaT1uW2FdPj4+MTMsblthXSY9ODE5MTtuWzldLT04MTkyO2xldCBzPShpXjEpLTE7Zm9yKGxldCBhPTA7YTwxMDthKyspblthXSY9cztzPX5zO2ZvcihsZXQgYT0wO2E8MTA7YSsrKWVbYV09ZVthXSZzfG5bYV07ZVswXT0oZVswXXxlWzFdPDwxMykmNjU1MzUsZVsxXT0oZVsxXT4+PjN8ZVsyXTw8MTApJjY1NTM1LGVbMl09KGVbMl0+Pj42fGVbM108PDcpJjY1NTM1LGVbM109KGVbM10+Pj45fGVbNF08PDQpJjY1NTM1LGVbNF09KGVbNF0+Pj4xMnxlWzVdPDwxfGVbNl08PDE0KSY2NTUzNSxlWzVdPShlWzZdPj4+MnxlWzddPDwxMSkmNjU1MzUsZVs2XT0oZVs3XT4+PjV8ZVs4XTw8OCkmNjU1MzUsZVs3XT0oZVs4XT4+Pjh8ZVs5XTw8NSkmNjU1MzU7bGV0IG89ZVswXStyWzBdO2VbMF09byY2NTUzNTtmb3IobGV0IGE9MTthPDg7YSsrKW89KGVbYV0rclthXXwwKSsobz4+PjE2KXwwLGVbYV09byY2NTUzNTtGcihuKX11cGRhdGUoZSl7bWwodGhpcyksZT1nbyhlKSxVZShlKTtjb25zdHtidWZmZXI6cixibG9ja0xlbjpufT10aGlzLGk9ZS5sZW5ndGg7Zm9yKGxldCBzPTA7czxpOyl7Y29uc3Qgbz1NYXRoLm1pbihuLXRoaXMucG9zLGktcyk7aWYobz09PW4pe2Zvcig7bjw9aS1zO3MrPW4pdGhpcy5wcm9jZXNzKGUscyk7Y29udGludWV9ci5zZXQoZS5zdWJhcnJheShzLHMrbyksdGhpcy5wb3MpLHRoaXMucG9zKz1vLHMrPW8sdGhpcy5wb3M9PT1uJiYodGhpcy5wcm9jZXNzKHIsMCwhMSksdGhpcy5wb3M9MCl9cmV0dXJuIHRoaXN9ZGVzdHJveSgpe0ZyKHRoaXMuaCx0aGlzLnIsdGhpcy5idWZmZXIsdGhpcy5wYWQpfWRpZ2VzdEludG8oZSl7bWwodGhpcyksZzEoZSx0aGlzKSx0aGlzLmZpbmlzaGVkPSEwO2NvbnN0e2J1ZmZlcjpyLGg6bn09dGhpcztsZXR7cG9zOml9PXRoaXM7aWYoaSl7Zm9yKHJbaSsrXT0xO2k8MTY7aSsrKXJbaV09MDt0aGlzLnByb2Nlc3MociwwLCEwKX10aGlzLmZpbmFsaXplKCk7bGV0IHM9MDtmb3IobGV0IG89MDtvPDg7bysrKWVbcysrXT1uW29dPj4+MCxlW3MrK109bltvXT4+Pjg7cmV0dXJuIGV9ZGlnZXN0KCl7Y29uc3R7YnVmZmVyOmUsb3V0cHV0TGVuOnJ9PXRoaXM7dGhpcy5kaWdlc3RJbnRvKGUpO2NvbnN0IG49ZS5zbGljZSgwLHIpO3JldHVybiB0aGlzLmRlc3Ryb3koKSxufX1mdW5jdGlvbiBmRSh0KXtjb25zdCBlPShuLGkpPT50KGkpLnVwZGF0ZShnbyhuKSkuZGlnZXN0KCkscj10KG5ldyBVaW50OEFycmF5KDMyKSk7cmV0dXJuIGUub3V0cHV0TGVuPXIub3V0cHV0TGVuLGUuYmxvY2tMZW49ci5ibG9ja0xlbixlLmNyZWF0ZT1uPT50KG4pLGV9Y29uc3QgZEU9ZkUodD0+bmV3IGhFKHQpKTtmdW5jdGlvbiBwRSh0LGUscixuLGkscz0yMCl7bGV0IG89dFswXSxhPXRbMV0sYz10WzJdLHU9dFszXSxsPWVbMF0saD1lWzFdLGY9ZVsyXSxwPWVbM10sZD1lWzRdLGc9ZVs1XSx5PWVbNl0sdj1lWzddLEE9aSx3PXJbMF0sbT1yWzFdLF89clsyXSx4PW8sVD1hLEI9YyxQPXUsVT1sLEw9aCxDPWYsUz1wLFI9ZCxiPWcsRT15LEQ9dixPPUEsST13LE49bSwkPV87Zm9yKGxldCB6PTA7ejxzO3orPTIpeD14K1V8MCxPPUooT154LDE2KSxSPVIrT3wwLFU9SihVXlIsMTIpLHg9eCtVfDAsTz1KKE9eeCw4KSxSPVIrT3wwLFU9SihVXlIsNyksVD1UK0x8MCxJPUooSV5ULDE2KSxiPWIrSXwwLEw9SihMXmIsMTIpLFQ9VCtMfDAsST1KKEleVCw4KSxiPWIrSXwwLEw9SihMXmIsNyksQj1CK0N8MCxOPUooTl5CLDE2KSxFPUUrTnwwLEM9SihDXkUsMTIpLEI9QitDfDAsTj1KKE5eQiw4KSxFPUUrTnwwLEM9SihDXkUsNyksUD1QK1N8MCwkPUooJF5QLDE2KSxEPUQrJHwwLFM9SihTXkQsMTIpLFA9UCtTfDAsJD1KKCReUCw4KSxEPUQrJHwwLFM9SihTXkQsNykseD14K0x8MCwkPUooJF54LDE2KSxFPUUrJHwwLEw9SihMXkUsMTIpLHg9eCtMfDAsJD1KKCReeCw4KSxFPUUrJHwwLEw9SihMXkUsNyksVD1UK0N8MCxPPUooT15ULDE2KSxEPUQrT3wwLEM9SihDXkQsMTIpLFQ9VCtDfDAsTz1KKE9eVCw4KSxEPUQrT3wwLEM9SihDXkQsNyksQj1CK1N8MCxJPUooSV5CLDE2KSxSPVIrSXwwLFM9SihTXlIsMTIpLEI9QitTfDAsST1KKEleQiw4KSxSPVIrSXwwLFM9SihTXlIsNyksUD1QK1V8MCxOPUooTl5QLDE2KSxiPWIrTnwwLFU9SihVXmIsMTIpLFA9UCtVfDAsTj1KKE5eUCw4KSxiPWIrTnwwLFU9SihVXmIsNyk7bGV0IGs9MDtuW2srK109byt4fDAsbltrKytdPWErVHwwLG5baysrXT1jK0J8MCxuW2srK109dStQfDAsbltrKytdPWwrVXwwLG5baysrXT1oK0x8MCxuW2srK109ZitDfDAsbltrKytdPXArU3wwLG5baysrXT1kK1J8MCxuW2srK109ZytifDAsbltrKytdPXkrRXwwLG5baysrXT12K0R8MCxuW2srK109QStPfDAsbltrKytdPXcrSXwwLG5baysrXT1tK058MCxuW2srK109XyskfDB9Y29uc3QgZ0U9bEUocEUse2NvdW50ZXJSaWdodDohMSxjb3VudGVyTGVuZ3RoOjQsYWxsb3dTaG9ydEtleXM6ITF9KSx5RT1uZXcgVWludDhBcnJheSgxNiksVGw9KHQsZSk9Pnt0LnVwZGF0ZShlKTtjb25zdCByPWUubGVuZ3RoJTE2O3ImJnQudXBkYXRlKHlFLnN1YmFycmF5KHIpKX0sd0U9bmV3IFVpbnQ4QXJyYXkoMzIpO2Z1bmN0aW9uIEJsKHQsZSxyLG4saSl7Y29uc3Qgcz10KGUscix3RSksbz1kRS5jcmVhdGUocyk7aSYmVGwobyxpKSxUbChvLG4pO2NvbnN0IGE9XzEobi5sZW5ndGgsaT9pLmxlbmd0aDowLCEwKTtvLnVwZGF0ZShhKTtjb25zdCBjPW8uZGlnZXN0KCk7cmV0dXJuIEZyKHMsYSksY31jb25zdCBSbD12MSh7YmxvY2tTaXplOjY0LG5vbmNlTGVuZ3RoOjEyLHRhZ0xlbmd0aDoxNn0sKHQ9PihlLHIsbik9Pih7ZW5jcnlwdChzLG8pe2NvbnN0IGE9cy5sZW5ndGg7bz1ibChhKzE2LG8sITEpLG8uc2V0KHMpO2NvbnN0IGM9by5zdWJhcnJheSgwLC0xNik7dChlLHIsYyxjLDEpO2NvbnN0IHU9QmwodCxlLHIsYyxuKTtyZXR1cm4gby5zZXQodSxhKSxGcih1KSxvfSxkZWNyeXB0KHMsbyl7bz1ibChzLmxlbmd0aC0xNixvLCExKTtjb25zdCBhPXMuc3ViYXJyYXkoMCwtMTYpLGM9cy5zdWJhcnJheSgtMTYpLHU9QmwodCxlLHIsYSxuKTtpZighRTEoYyx1KSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdGFnIik7cmV0dXJuIG8uc2V0KHMuc3ViYXJyYXkoMCwtMTYpKSx0KGUscixvLG8sMSksRnIodSksb319KSkoZ0UpKTtmdW5jdGlvbiBtRSh0LGUscil7cmV0dXJuIGFpKHQpLHI9PT12b2lkIDAmJihyPW5ldyBVaW50OEFycmF5KHQub3V0cHV0TGVuKSksd24odCx0dChyKSx0dChlKSl9Y29uc3QgU289VWludDhBcnJheS5mcm9tKFswXSksTmw9VWludDhBcnJheS5vZigpO2Z1bmN0aW9uIGJFKHQsZSxyLG49MzIpe2FpKHQpLGZ0KG4pO2NvbnN0IGk9dC5vdXRwdXRMZW47aWYobj4yNTUqaSl0aHJvdyBuZXcgRXJyb3IoIkxlbmd0aCBzaG91bGQgYmUgPD0gMjU1Kkhhc2hMZW4iKTtjb25zdCBzPU1hdGguY2VpbChuL2kpO3I9PT12b2lkIDAmJihyPU5sKTtjb25zdCBvPW5ldyBVaW50OEFycmF5KHMqaSksYT13bi5jcmVhdGUodCxlKSxjPWEuX2Nsb25lSW50bygpLHU9bmV3IFVpbnQ4QXJyYXkoYS5vdXRwdXRMZW4pO2ZvcihsZXQgbD0wO2w8cztsKyspU29bMF09bCsxLGMudXBkYXRlKGw9PT0wP05sOnUpLnVwZGF0ZShyKS51cGRhdGUoU28pLmRpZ2VzdEludG8odSksby5zZXQodSxpKmwpLGEuX2Nsb25lSW50byhjKTtyZXR1cm4gYS5kZXN0cm95KCksYy5kZXN0cm95KCksS2UodSxTbyksby5zbGljZSgwLG4pfWNvbnN0IEVFPSh0LGUscixuLGkpPT5iRSh0LG1FKHQsZSxyKSxuLGkpOy8qISBub2JsZS1jdXJ2ZXMgLSBNSVQgTGljZW5zZSAoYykgMjAyMiBQYXVsIE1pbGxlciAocGF1bG1pbGxyLmNvbSkgKi9jb25zdCBJbz1CaWdJbnQoMCksRG89QmlnSW50KDEpO2Z1bmN0aW9uIElpKHQsZT0iIil7aWYodHlwZW9mIHQhPSJib29sZWFuIil7Y29uc3Qgcj1lJiZgIiR7ZX0iYDt0aHJvdyBuZXcgRXJyb3IocisiZXhwZWN0ZWQgYm9vbGVhbiwgZ290IHR5cGU9Iit0eXBlb2YgdCl9cmV0dXJuIHR9ZnVuY3Rpb24gbXIodCxlLHI9IiIpe2NvbnN0IG49b2kodCksaT10Py5sZW5ndGgscz1lIT09dm9pZCAwO2lmKCFufHxzJiZpIT09ZSl7Y29uc3Qgbz1yJiZgIiR7cn0iIGAsYT1zP2Agb2YgbGVuZ3RoICR7ZX1gOiIiLGM9bj9gbGVuZ3RoPSR7aX1gOmB0eXBlPSR7dHlwZW9mIHR9YDt0aHJvdyBuZXcgRXJyb3IobysiZXhwZWN0ZWQgVWludDhBcnJheSIrYSsiLCBnb3QgIitjKX1yZXR1cm4gdH1mdW5jdGlvbiBEaSh0KXtjb25zdCBlPXQudG9TdHJpbmcoMTYpO3JldHVybiBlLmxlbmd0aCYxPyIwIitlOmV9ZnVuY3Rpb24gUGwodCl7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcigiaGV4IHN0cmluZyBleHBlY3RlZCwgZ290ICIrdHlwZW9mIHQpO3JldHVybiB0PT09IiI/SW86QmlnSW50KCIweCIrdCl9ZnVuY3Rpb24gQWkodCl7cmV0dXJuIFBsKGtyKHQpKX1mdW5jdGlvbiBPaSh0KXtyZXR1cm4gZXQodCksUGwoa3IoVWludDhBcnJheS5mcm9tKHQpLnJldmVyc2UoKSkpfWZ1bmN0aW9uIEFvKHQsZSl7cmV0dXJuIGNpKHQudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KGUqMiwiMCIpKX1mdW5jdGlvbiBPbyh0LGUpe3JldHVybiBBbyh0LGUpLnJldmVyc2UoKX1mdW5jdGlvbiBJZSh0LGUscil7bGV0IG47aWYodHlwZW9mIGU9PSJzdHJpbmciKXRyeXtuPWNpKGUpfWNhdGNoKHMpe3Rocm93IG5ldyBFcnJvcih0KyIgbXVzdCBiZSBoZXggc3RyaW5nIG9yIFVpbnQ4QXJyYXksIGNhdXNlOiAiK3MpfWVsc2UgaWYob2koZSkpbj1VaW50OEFycmF5LmZyb20oZSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IodCsiIG11c3QgYmUgaGV4IHN0cmluZyBvciBVaW50OEFycmF5Iik7Y29uc3QgaT1uLmxlbmd0aDtpZih0eXBlb2Ygcj09Im51bWJlciImJmkhPT1yKXRocm93IG5ldyBFcnJvcih0KyIgb2YgbGVuZ3RoICIrcisiIGV4cGVjdGVkLCBnb3QgIitpKTtyZXR1cm4gbn1jb25zdCBUbz10PT50eXBlb2YgdD09ImJpZ2ludCImJklvPD10O2Z1bmN0aW9uIHZFKHQsZSxyKXtyZXR1cm4gVG8odCkmJlRvKGUpJiZUbyhyKSYmZTw9dCYmdDxyfWZ1bmN0aW9uIEJvKHQsZSxyLG4pe2lmKCF2RShlLHIsbikpdGhyb3cgbmV3IEVycm9yKCJleHBlY3RlZCB2YWxpZCAiK3QrIjogIityKyIgPD0gbiA8ICIrbisiLCBnb3QgIitlKX1mdW5jdGlvbiAkbCh0KXtsZXQgZTtmb3IoZT0wO3Q+SW87dD4+PURvLGUrPTEpO3JldHVybiBlfWNvbnN0IHhuPXQ9PihEbzw8QmlnSW50KHQpKS1EbztmdW5jdGlvbiBfRSh0LGUscil7aWYodHlwZW9mIHQhPSJudW1iZXIifHx0PDIpdGhyb3cgbmV3IEVycm9yKCJoYXNoTGVuIG11c3QgYmUgYSBudW1iZXIiKTtpZih0eXBlb2YgZSE9Im51bWJlciJ8fGU8Mil0aHJvdyBuZXcgRXJyb3IoInFCeXRlTGVuIG11c3QgYmUgYSBudW1iZXIiKTtpZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoImhtYWNGbiBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBuPXA9Pm5ldyBVaW50OEFycmF5KHApLGk9cD0+VWludDhBcnJheS5vZihwKTtsZXQgcz1uKHQpLG89bih0KSxhPTA7Y29uc3QgYz0oKT0+e3MuZmlsbCgxKSxvLmZpbGwoMCksYT0wfSx1PSguLi5wKT0+cihvLHMsLi4ucCksbD0ocD1uKDApKT0+e289dShpKDApLHApLHM9dSgpLHAubGVuZ3RoIT09MCYmKG89dShpKDEpLHApLHM9dSgpKX0saD0oKT0+e2lmKGErKz49MWUzKXRocm93IG5ldyBFcnJvcigiZHJiZzogdHJpZWQgMTAwMCB2YWx1ZXMiKTtsZXQgcD0wO2NvbnN0IGQ9W107Zm9yKDtwPGU7KXtzPXUoKTtjb25zdCBnPXMuc2xpY2UoKTtkLnB1c2goZykscCs9cy5sZW5ndGh9cmV0dXJuIEl0KC4uLmQpfTtyZXR1cm4ocCxkKT0+e2MoKSxsKHApO2xldCBnO2Zvcig7IShnPWQoaCgpKSk7KWwoKTtyZXR1cm4gYygpLGd9fWZ1bmN0aW9uIFRpKHQsZSxyPXt9KXtpZighdHx8dHlwZW9mIHQhPSJvYmplY3QiKXRocm93IG5ldyBFcnJvcigiZXhwZWN0ZWQgdmFsaWQgb3B0aW9ucyBvYmplY3QiKTtmdW5jdGlvbiBuKGkscyxvKXtjb25zdCBhPXRbaV07aWYobyYmYT09PXZvaWQgMClyZXR1cm47Y29uc3QgYz10eXBlb2YgYTtpZihjIT09c3x8YT09PW51bGwpdGhyb3cgbmV3IEVycm9yKGBwYXJhbSAiJHtpfSIgaXMgaW52YWxpZDogZXhwZWN0ZWQgJHtzfSwgZ290ICR7Y31gKX1PYmplY3QuZW50cmllcyhlKS5mb3JFYWNoKChbaSxzXSk9Pm4oaSxzLCExKSksT2JqZWN0LmVudHJpZXMocikuZm9yRWFjaCgoW2ksc10pPT5uKGkscywhMCkpfWZ1bmN0aW9uIENsKHQpe2NvbnN0IGU9bmV3IFdlYWtNYXA7cmV0dXJuKHIsLi4ubik9Pntjb25zdCBpPWUuZ2V0KHIpO2lmKGkhPT12b2lkIDApcmV0dXJuIGk7Y29uc3Qgcz10KHIsLi4ubik7cmV0dXJuIGUuc2V0KHIscyksc319LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2NvbnN0IExlPUJpZ0ludCgwKSxUZT1CaWdJbnQoMSksYnI9QmlnSW50KDIpLFVsPUJpZ0ludCgzKSxMbD1CaWdJbnQoNCksa2w9QmlnSW50KDUpLHhFPUJpZ0ludCg3KSxNbD1CaWdJbnQoOCksU0U9QmlnSW50KDkpLEZsPUJpZ0ludCgxNik7ZnVuY3Rpb24gcWUodCxlKXtjb25zdCByPXQlZTtyZXR1cm4gcj49TGU/cjplK3J9ZnVuY3Rpb24gcnQodCxlLHIpe2xldCBuPXQ7Zm9yKDtlLS0gPkxlOyluKj1uLG4lPXI7cmV0dXJuIG59ZnVuY3Rpb24gcWwodCxlKXtpZih0PT09TGUpdGhyb3cgbmV3IEVycm9yKCJpbnZlcnQ6IGV4cGVjdGVkIG5vbi16ZXJvIG51bWJlciIpO2lmKGU8PUxlKXRocm93IG5ldyBFcnJvcigiaW52ZXJ0OiBleHBlY3RlZCBwb3NpdGl2ZSBtb2R1bHVzLCBnb3QgIitlKTtsZXQgcj1xZSh0LGUpLG49ZSxpPUxlLHM9VGU7Zm9yKDtyIT09TGU7KXtjb25zdCBhPW4vcixjPW4lcix1PWktcyphO249cixyPWMsaT1zLHM9dX1pZihuIT09VGUpdGhyb3cgbmV3IEVycm9yKCJpbnZlcnQ6IGRvZXMgbm90IGV4aXN0Iik7cmV0dXJuIHFlKGksZSl9ZnVuY3Rpb24gUm8odCxlLHIpe2lmKCF0LmVxbCh0LnNxcihlKSxyKSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIHNxdWFyZSByb290Iil9ZnVuY3Rpb24gemwodCxlKXtjb25zdCByPSh0Lk9SREVSK1RlKS9MbCxuPXQucG93KGUscik7cmV0dXJuIFJvKHQsbixlKSxufWZ1bmN0aW9uIElFKHQsZSl7Y29uc3Qgcj0odC5PUkRFUi1rbCkvTWwsbj10Lm11bChlLGJyKSxpPXQucG93KG4scikscz10Lm11bChlLGkpLG89dC5tdWwodC5tdWwocyxiciksaSksYT10Lm11bChzLHQuc3ViKG8sdC5PTkUpKTtyZXR1cm4gUm8odCxhLGUpLGF9ZnVuY3Rpb24gREUodCl7Y29uc3QgZT1pcih0KSxyPWpsKHQpLG49cihlLGUubmVnKGUuT05FKSksaT1yKGUsbikscz1yKGUsZS5uZWcobikpLG89KHQreEUpL0ZsO3JldHVybihhLGMpPT57bGV0IHU9YS5wb3coYyxvKSxsPWEubXVsKHUsbik7Y29uc3QgaD1hLm11bCh1LGkpLGY9YS5tdWwodSxzKSxwPWEuZXFsKGEuc3FyKGwpLGMpLGQ9YS5lcWwoYS5zcXIoaCksYyk7dT1hLmNtb3YodSxsLHApLGw9YS5jbW92KGYsaCxkKTtjb25zdCBnPWEuZXFsKGEuc3FyKGwpLGMpLHk9YS5jbW92KHUsbCxnKTtyZXR1cm4gUm8oYSx5LGMpLHl9fWZ1bmN0aW9uIGpsKHQpe2lmKHQ8VWwpdGhyb3cgbmV3IEVycm9yKCJzcXJ0IGlzIG5vdCBkZWZpbmVkIGZvciBzbWFsbCBmaWVsZCIpO2xldCBlPXQtVGUscj0wO2Zvcig7ZSVicj09PUxlOyllLz1icixyKys7bGV0IG49YnI7Y29uc3QgaT1pcih0KTtmb3IoO1ZsKGksbik9PT0xOylpZihuKys+MWUzKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3Q6IHByb2JhYmx5IG5vbi1wcmltZSBQIik7aWYocj09PTEpcmV0dXJuIHpsO2xldCBzPWkucG93KG4sZSk7Y29uc3Qgbz0oZStUZSkvYnI7cmV0dXJuIGZ1bmN0aW9uKGMsdSl7aWYoYy5pczAodSkpcmV0dXJuIHU7aWYoVmwoYyx1KSE9PTEpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBzcXVhcmUgcm9vdCIpO2xldCBsPXIsaD1jLm11bChjLk9ORSxzKSxmPWMucG93KHUsZSkscD1jLnBvdyh1LG8pO2Zvcig7IWMuZXFsKGYsYy5PTkUpOyl7aWYoYy5pczAoZikpcmV0dXJuIGMuWkVSTztsZXQgZD0xLGc9Yy5zcXIoZik7Zm9yKDshYy5lcWwoZyxjLk9ORSk7KWlmKGQrKyxnPWMuc3FyKGcpLGQ9PT1sKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QiKTtjb25zdCB5PVRlPDxCaWdJbnQobC1kLTEpLHY9Yy5wb3coaCx5KTtsPWQsaD1jLnNxcih2KSxmPWMubXVsKGYsaCkscD1jLm11bChwLHYpfXJldHVybiBwfX1mdW5jdGlvbiBBRSh0KXtyZXR1cm4gdCVMbD09PVVsP3psOnQlTWw9PT1rbD9JRTp0JUZsPT09U0U/REUodCk6amwodCl9Y29uc3QgT0U9WyJjcmVhdGUiLCJpc1ZhbGlkIiwiaXMwIiwibmVnIiwiaW52Iiwic3FydCIsInNxciIsImVxbCIsImFkZCIsInN1YiIsIm11bCIsInBvdyIsImRpdiIsImFkZE4iLCJzdWJOIiwibXVsTiIsInNxck4iXTtmdW5jdGlvbiBURSh0KXtjb25zdCBlPXtPUkRFUjoiYmlnaW50IixNQVNLOiJiaWdpbnQiLEJZVEVTOiJudW1iZXIiLEJJVFM6Im51bWJlciJ9LHI9T0UucmVkdWNlKChuLGkpPT4obltpXT0iZnVuY3Rpb24iLG4pLGUpO3JldHVybiBUaSh0LHIpLHR9ZnVuY3Rpb24gQkUodCxlLHIpe2lmKHI8TGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cG9uZW50LCBuZWdhdGl2ZXMgdW5zdXBwb3J0ZWQiKTtpZihyPT09TGUpcmV0dXJuIHQuT05FO2lmKHI9PT1UZSlyZXR1cm4gZTtsZXQgbj10Lk9ORSxpPWU7Zm9yKDtyPkxlOylyJlRlJiYobj10Lm11bChuLGkpKSxpPXQuc3FyKGkpLHI+Pj1UZTtyZXR1cm4gbn1mdW5jdGlvbiBLbCh0LGUscj0hMSl7Y29uc3Qgbj1uZXcgQXJyYXkoZS5sZW5ndGgpLmZpbGwocj90LlpFUk86dm9pZCAwKSxpPWUucmVkdWNlKChvLGEsYyk9PnQuaXMwKGEpP286KG5bY109byx0Lm11bChvLGEpKSx0Lk9ORSkscz10LmludihpKTtyZXR1cm4gZS5yZWR1Y2VSaWdodCgobyxhLGMpPT50LmlzMChhKT9vOihuW2NdPXQubXVsKG8sbltjXSksdC5tdWwobyxhKSkscyksbn1mdW5jdGlvbiBWbCh0LGUpe2NvbnN0IHI9KHQuT1JERVItVGUpL2JyLG49dC5wb3coZSxyKSxpPXQuZXFsKG4sdC5PTkUpLHM9dC5lcWwobix0LlpFUk8pLG89dC5lcWwobix0Lm5lZyh0Lk9ORSkpO2lmKCFpJiYhcyYmIW8pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIExlZ2VuZHJlIHN5bWJvbCByZXN1bHQiKTtyZXR1cm4gaT8xOnM/MDotMX1mdW5jdGlvbiBIbCh0LGUpe2UhPT12b2lkIDAmJmZ0KGUpO2NvbnN0IHI9ZSE9PXZvaWQgMD9lOnQudG9TdHJpbmcoMikubGVuZ3RoLG49TWF0aC5jZWlsKHIvOCk7cmV0dXJue25CaXRMZW5ndGg6cixuQnl0ZUxlbmd0aDpufX1mdW5jdGlvbiBpcih0LGUscj0hMSxuPXt9KXtpZih0PD1MZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZmllbGQ6IGV4cGVjdGVkIE9SREVSID4gMCwgZ290ICIrdCk7bGV0IGkscyxvPSExLGE7aWYodHlwZW9mIGU9PSJvYmplY3QiJiZlIT1udWxsKXtpZihuLnNxcnR8fHIpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3Qgc3BlY2lmeSBvcHRzIGluIHR3byBhcmd1bWVudHMiKTtjb25zdCBmPWU7Zi5CSVRTJiYoaT1mLkJJVFMpLGYuc3FydCYmKHM9Zi5zcXJ0KSx0eXBlb2YgZi5pc0xFPT0iYm9vbGVhbiImJihyPWYuaXNMRSksdHlwZW9mIGYubW9kRnJvbUJ5dGVzPT0iYm9vbGVhbiImJihvPWYubW9kRnJvbUJ5dGVzKSxhPWYuYWxsb3dlZExlbmd0aHN9ZWxzZSB0eXBlb2YgZT09Im51bWJlciImJihpPWUpLG4uc3FydCYmKHM9bi5zcXJ0KTtjb25zdHtuQml0TGVuZ3RoOmMsbkJ5dGVMZW5ndGg6dX09SGwodCxpKTtpZih1PjIwNDgpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZpZWxkOiBleHBlY3RlZCBPUkRFUiBvZiA8PSAyMDQ4IGJ5dGVzIik7bGV0IGw7Y29uc3QgaD1PYmplY3QuZnJlZXplKHtPUkRFUjp0LGlzTEU6cixCSVRTOmMsQllURVM6dSxNQVNLOnhuKGMpLFpFUk86TGUsT05FOlRlLGFsbG93ZWRMZW5ndGhzOmEsY3JlYXRlOmY9PnFlKGYsdCksaXNWYWxpZDpmPT57aWYodHlwZW9mIGYhPSJiaWdpbnQiKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmaWVsZCBlbGVtZW50OiBleHBlY3RlZCBiaWdpbnQsIGdvdCAiK3R5cGVvZiBmKTtyZXR1cm4gTGU8PWYmJmY8dH0saXMwOmY9PmY9PT1MZSxpc1ZhbGlkTm90MDpmPT4haC5pczAoZikmJmguaXNWYWxpZChmKSxpc09kZDpmPT4oZiZUZSk9PT1UZSxuZWc6Zj0+cWUoLWYsdCksZXFsOihmLHApPT5mPT09cCxzcXI6Zj0+cWUoZipmLHQpLGFkZDooZixwKT0+cWUoZitwLHQpLHN1YjooZixwKT0+cWUoZi1wLHQpLG11bDooZixwKT0+cWUoZipwLHQpLHBvdzooZixwKT0+QkUoaCxmLHApLGRpdjooZixwKT0+cWUoZipxbChwLHQpLHQpLHNxck46Zj0+ZipmLGFkZE46KGYscCk9PmYrcCxzdWJOOihmLHApPT5mLXAsbXVsTjooZixwKT0+ZipwLGludjpmPT5xbChmLHQpLHNxcnQ6c3x8KGY9PihsfHwobD1BRSh0KSksbChoLGYpKSksdG9CeXRlczpmPT5yP09vKGYsdSk6QW8oZix1KSxmcm9tQnl0ZXM6KGYscD0hMCk9PntpZihhKXtpZighYS5pbmNsdWRlcyhmLmxlbmd0aCl8fGYubGVuZ3RoPnUpdGhyb3cgbmV3IEVycm9yKCJGaWVsZC5mcm9tQnl0ZXM6IGV4cGVjdGVkICIrYSsiIGJ5dGVzLCBnb3QgIitmLmxlbmd0aCk7Y29uc3QgZz1uZXcgVWludDhBcnJheSh1KTtnLnNldChmLHI/MDpnLmxlbmd0aC1mLmxlbmd0aCksZj1nfWlmKGYubGVuZ3RoIT09dSl0aHJvdyBuZXcgRXJyb3IoIkZpZWxkLmZyb21CeXRlczogZXhwZWN0ZWQgIit1KyIgYnl0ZXMsIGdvdCAiK2YubGVuZ3RoKTtsZXQgZD1yP09pKGYpOkFpKGYpO2lmKG8mJihkPXFlKGQsdCkpLCFwJiYhaC5pc1ZhbGlkKGQpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmaWVsZCBlbGVtZW50OiBvdXRzaWRlIG9mIHJhbmdlIDAuLk9SREVSIik7cmV0dXJuIGR9LGludmVydEJhdGNoOmY9PktsKGgsZiksY21vdjooZixwLGQpPT5kP3A6Zn0pO3JldHVybiBPYmplY3QuZnJlZXplKGgpfWZ1bmN0aW9uIFdsKHQpe2lmKHR5cGVvZiB0IT0iYmlnaW50Iil0aHJvdyBuZXcgRXJyb3IoImZpZWxkIG9yZGVyIG11c3QgYmUgYmlnaW50Iik7Y29uc3QgZT10LnRvU3RyaW5nKDIpLmxlbmd0aDtyZXR1cm4gTWF0aC5jZWlsKGUvOCl9ZnVuY3Rpb24gR2wodCl7Y29uc3QgZT1XbCh0KTtyZXR1cm4gZStNYXRoLmNlaWwoZS8yKX1mdW5jdGlvbiBSRSh0LGUscj0hMSl7Y29uc3Qgbj10Lmxlbmd0aCxpPVdsKGUpLHM9R2woZSk7aWYobjwxNnx8bjxzfHxuPjEwMjQpdGhyb3cgbmV3IEVycm9yKCJleHBlY3RlZCAiK3MrIi0xMDI0IGJ5dGVzIG9mIGlucHV0LCBnb3QgIituKTtjb25zdCBvPXI/T2kodCk6QWkodCksYT1xZShvLGUtVGUpK1RlO3JldHVybiByP09vKGEsaSk6QW8oYSxpKX0vKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovY29uc3QgcXI9QmlnSW50KDApLEVyPUJpZ0ludCgxKTtmdW5jdGlvbiBCaSh0LGUpe2NvbnN0IHI9ZS5uZWdhdGUoKTtyZXR1cm4gdD9yOmV9ZnVuY3Rpb24gTm8odCxlKXtjb25zdCByPUtsKHQuRnAsZS5tYXAobj0+bi5aKSk7cmV0dXJuIGUubWFwKChuLGkpPT50LmZyb21BZmZpbmUobi50b0FmZmluZShyW2ldKSkpfWZ1bmN0aW9uIFlsKHQsZSl7aWYoIU51bWJlci5pc1NhZmVJbnRlZ2VyKHQpfHx0PD0wfHx0PmUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHdpbmRvdyBzaXplLCBleHBlY3RlZCBbMS4uIitlKyJdLCBnb3QgVz0iK3QpfWZ1bmN0aW9uIFBvKHQsZSl7WWwodCxlKTtjb25zdCByPU1hdGguY2VpbChlL3QpKzEsbj0yKioodC0xKSxpPTIqKnQscz14bih0KSxvPUJpZ0ludCh0KTtyZXR1cm57d2luZG93czpyLHdpbmRvd1NpemU6bixtYXNrOnMsbWF4TnVtYmVyOmksc2hpZnRCeTpvfX1mdW5jdGlvbiBabCh0LGUscil7Y29uc3R7d2luZG93U2l6ZTpuLG1hc2s6aSxtYXhOdW1iZXI6cyxzaGlmdEJ5Om99PXI7bGV0IGE9TnVtYmVyKHQmaSksYz10Pj5vO2E+biYmKGEtPXMsYys9RXIpO2NvbnN0IHU9ZSpuLGw9dStNYXRoLmFicyhhKS0xLGg9YT09PTAsZj1hPDAscD1lJTIhPT0wO3JldHVybntuZXh0TjpjLG9mZnNldDpsLGlzWmVybzpoLGlzTmVnOmYsaXNOZWdGOnAsb2Zmc2V0Rjp1fX1mdW5jdGlvbiBORSh0LGUpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBFcnJvcigiYXJyYXkgZXhwZWN0ZWQiKTt0LmZvckVhY2goKHIsbik9PntpZighKHIgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQgYXQgaW5kZXggIituKX0pfWZ1bmN0aW9uIFBFKHQsZSl7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJhcnJheSBvZiBzY2FsYXJzIGV4cGVjdGVkIik7dC5mb3JFYWNoKChyLG4pPT57aWYoIWUuaXNWYWxpZChyKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgc2NhbGFyIGF0IGluZGV4ICIrbil9KX1jb25zdCAkbz1uZXcgV2Vha01hcCxYbD1uZXcgV2Vha01hcDtmdW5jdGlvbiBDbyh0KXtyZXR1cm4gWGwuZ2V0KHQpfHwxfWZ1bmN0aW9uIEpsKHQpe2lmKHQhPT1xcil0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgd05BRiIpfWNsYXNzICRFe2NvbnN0cnVjdG9yKGUscil7dGhpcy5CQVNFPWUuQkFTRSx0aGlzLlpFUk89ZS5aRVJPLHRoaXMuRm49ZS5Gbix0aGlzLmJpdHM9cn1fdW5zYWZlTGFkZGVyKGUscixuPXRoaXMuWkVSTyl7bGV0IGk9ZTtmb3IoO3I+cXI7KXImRXImJihuPW4uYWRkKGkpKSxpPWkuZG91YmxlKCkscj4+PUVyO3JldHVybiBufXByZWNvbXB1dGVXaW5kb3coZSxyKXtjb25zdHt3aW5kb3dzOm4sd2luZG93U2l6ZTppfT1QbyhyLHRoaXMuYml0cykscz1bXTtsZXQgbz1lLGE9bztmb3IobGV0IGM9MDtjPG47YysrKXthPW8scy5wdXNoKGEpO2ZvcihsZXQgdT0xO3U8aTt1KyspYT1hLmFkZChvKSxzLnB1c2goYSk7bz1hLmRvdWJsZSgpfXJldHVybiBzfXdOQUYoZSxyLG4pe2lmKCF0aGlzLkZuLmlzVmFsaWQobikpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNjYWxhciIpO2xldCBpPXRoaXMuWkVSTyxzPXRoaXMuQkFTRTtjb25zdCBvPVBvKGUsdGhpcy5iaXRzKTtmb3IobGV0IGE9MDthPG8ud2luZG93czthKyspe2NvbnN0e25leHROOmMsb2Zmc2V0OnUsaXNaZXJvOmwsaXNOZWc6aCxpc05lZ0Y6ZixvZmZzZXRGOnB9PVpsKG4sYSxvKTtuPWMsbD9zPXMuYWRkKEJpKGYscltwXSkpOmk9aS5hZGQoQmkoaCxyW3VdKSl9cmV0dXJuIEpsKG4pLHtwOmksZjpzfX13TkFGVW5zYWZlKGUscixuLGk9dGhpcy5aRVJPKXtjb25zdCBzPVBvKGUsdGhpcy5iaXRzKTtmb3IobGV0IG89MDtvPHMud2luZG93cyYmbiE9PXFyO28rKyl7Y29uc3R7bmV4dE46YSxvZmZzZXQ6Yyxpc1plcm86dSxpc05lZzpsfT1abChuLG8scyk7aWYobj1hLCF1KXtjb25zdCBoPXJbY107aT1pLmFkZChsP2gubmVnYXRlKCk6aCl9fXJldHVybiBKbChuKSxpfWdldFByZWNvbXB1dGVzKGUscixuKXtsZXQgaT0kby5nZXQocik7cmV0dXJuIGl8fChpPXRoaXMucHJlY29tcHV0ZVdpbmRvdyhyLGUpLGUhPT0xJiYodHlwZW9mIG49PSJmdW5jdGlvbiImJihpPW4oaSkpLCRvLnNldChyLGkpKSksaX1jYWNoZWQoZSxyLG4pe2NvbnN0IGk9Q28oZSk7cmV0dXJuIHRoaXMud05BRihpLHRoaXMuZ2V0UHJlY29tcHV0ZXMoaSxlLG4pLHIpfXVuc2FmZShlLHIsbixpKXtjb25zdCBzPUNvKGUpO3JldHVybiBzPT09MT90aGlzLl91bnNhZmVMYWRkZXIoZSxyLGkpOnRoaXMud05BRlVuc2FmZShzLHRoaXMuZ2V0UHJlY29tcHV0ZXMocyxlLG4pLHIsaSl9Y3JlYXRlQ2FjaGUoZSxyKXtZbChyLHRoaXMuYml0cyksWGwuc2V0KGUsciksJG8uZGVsZXRlKGUpfWhhc0NhY2hlKGUpe3JldHVybiBDbyhlKSE9PTF9fWZ1bmN0aW9uIENFKHQsZSxyLG4pe2xldCBpPWUscz10LlpFUk8sbz10LlpFUk87Zm9yKDtyPnFyfHxuPnFyOylyJkVyJiYocz1zLmFkZChpKSksbiZFciYmKG89by5hZGQoaSkpLGk9aS5kb3VibGUoKSxyPj49RXIsbj4+PUVyO3JldHVybntwMTpzLHAyOm99fWZ1bmN0aW9uIFVFKHQsZSxyLG4pe05FKHIsdCksUEUobixlKTtjb25zdCBpPXIubGVuZ3RoLHM9bi5sZW5ndGg7aWYoaSE9PXMpdGhyb3cgbmV3IEVycm9yKCJhcnJheXMgb2YgcG9pbnRzIGFuZCBzY2FsYXJzIG11c3QgaGF2ZSBlcXVhbCBsZW5ndGgiKTtjb25zdCBvPXQuWkVSTyxhPSRsKEJpZ0ludChpKSk7bGV0IGM9MTthPjEyP2M9YS0zOmE+ND9jPWEtMjphPjAmJihjPTIpO2NvbnN0IHU9eG4oYyksbD1uZXcgQXJyYXkoTnVtYmVyKHUpKzEpLmZpbGwobyksaD1NYXRoLmZsb29yKChlLkJJVFMtMSkvYykqYztsZXQgZj1vO2ZvcihsZXQgcD1oO3A+PTA7cC09Yyl7bC5maWxsKG8pO2ZvcihsZXQgZz0wO2c8cztnKyspe2NvbnN0IHk9bltnXSx2PU51bWJlcih5Pj5CaWdJbnQocCkmdSk7bFt2XT1sW3ZdLmFkZChyW2ddKX1sZXQgZD1vO2ZvcihsZXQgZz1sLmxlbmd0aC0xLHk9bztnPjA7Zy0tKXk9eS5hZGQobFtnXSksZD1kLmFkZCh5KTtpZihmPWYuYWRkKGQpLHAhPT0wKWZvcihsZXQgZz0wO2c8YztnKyspZj1mLmRvdWJsZSgpfXJldHVybiBmfWZ1bmN0aW9uIFFsKHQsZSxyKXtpZihlKXtpZihlLk9SREVSIT09dCl0aHJvdyBuZXcgRXJyb3IoIkZpZWxkLk9SREVSIG11c3QgbWF0Y2ggb3JkZXI6IEZwID09IHAsIEZuID09IG4iKTtyZXR1cm4gVEUoZSksZX1lbHNlIHJldHVybiBpcih0LHtpc0xFOnJ9KX1mdW5jdGlvbiBMRSh0LGUscj17fSxuKXtpZihuPT09dm9pZCAwJiYobj10PT09ImVkd2FyZHMiKSwhZXx8dHlwZW9mIGUhPSJvYmplY3QiKXRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgdmFsaWQgJHt0fSBDVVJWRSBvYmplY3RgKTtmb3IoY29uc3QgYyBvZlsicCIsIm4iLCJoIl0pe2NvbnN0IHU9ZVtjXTtpZighKHR5cGVvZiB1PT0iYmlnaW50IiYmdT5xcikpdGhyb3cgbmV3IEVycm9yKGBDVVJWRS4ke2N9IG11c3QgYmUgcG9zaXRpdmUgYmlnaW50YCl9Y29uc3QgaT1RbChlLnAsci5GcCxuKSxzPVFsKGUubixyLkZuLG4pLGE9WyJHeCIsIkd5IiwiYSIsImIiXTtmb3IoY29uc3QgYyBvZiBhKWlmKCFpLmlzVmFsaWQoZVtjXSkpdGhyb3cgbmV3IEVycm9yKGBDVVJWRS4ke2N9IG11c3QgYmUgdmFsaWQgZmllbGQgZWxlbWVudCBvZiBDVVJWRS5GcGApO3JldHVybiBlPU9iamVjdC5mcmVlemUoT2JqZWN0LmFzc2lnbih7fSxlKSkse0NVUlZFOmUsRnA6aSxGbjpzfX0vKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovQmlnSW50KDApLEJpZ0ludCgxKSxCaWdJbnQoMiksQmlnSW50KDgpLGx1KCJIYXNoVG9TY2FsYXItIik7LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2NvbnN0IFNuPUJpZ0ludCgwKSx6cj1CaWdJbnQoMSksUmk9QmlnSW50KDIpO2Z1bmN0aW9uIGtFKHQpe3JldHVybiBUaSh0LHthZGp1c3RTY2FsYXJCeXRlczoiZnVuY3Rpb24iLHBvd1BtaW51czI6ImZ1bmN0aW9uIn0pLE9iamVjdC5mcmVlemUoey4uLnR9KX1mdW5jdGlvbiBNRSh0KXtjb25zdCBlPWtFKHQpLHtQOnIsdHlwZTpuLGFkanVzdFNjYWxhckJ5dGVzOmkscG93UG1pbnVzMjpzLHJhbmRvbUJ5dGVzOm99PWUsYT1uPT09IngyNTUxOSI7aWYoIWEmJm4hPT0ieDQ0OCIpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHR5cGUiKTtjb25zdCBjPW98fFl0LHU9YT8yNTU6NDQ4LGw9YT8zMjo1NixoPUJpZ0ludChhPzk6NSksZj1CaWdJbnQoYT8xMjE2NjU6MzkwODEpLHA9YT9SaSoqQmlnSW50KDI1NCk6UmkqKkJpZ0ludCg0NDcpLGQ9YT9CaWdJbnQoOCkqUmkqKkJpZ0ludCgyNTEpLXpyOkJpZ0ludCg0KSpSaSoqQmlnSW50KDQ0NSktenIsZz1wK2QrenIseT1TPT5xZShTLHIpLHY9QShoKTtmdW5jdGlvbiBBKFMpe3JldHVybiBPbyh5KFMpLGwpfWZ1bmN0aW9uIHcoUyl7Y29uc3QgUj1JZSgidSBjb29yZGluYXRlIixTLGwpO3JldHVybiBhJiYoUlszMV0mPTEyNykseShPaShSKSl9ZnVuY3Rpb24gbShTKXtyZXR1cm4gT2koaShJZSgic2NhbGFyIixTLGwpKSl9ZnVuY3Rpb24gXyhTLFIpe2NvbnN0IGI9Qih3KFIpLG0oUykpO2lmKGI9PT1Tbil0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcHJpdmF0ZSBvciBwdWJsaWMga2V5IHJlY2VpdmVkIik7cmV0dXJuIEEoYil9ZnVuY3Rpb24geChTKXtyZXR1cm4gXyhTLHYpfWZ1bmN0aW9uIFQoUyxSLGIpe2NvbnN0IEU9eShTKihSLWIpKTtyZXR1cm4gUj15KFItRSksYj15KGIrRSkse3hfMjpSLHhfMzpifX1mdW5jdGlvbiBCKFMsUil7Qm8oInUiLFMsU24sciksQm8oInNjYWxhciIsUixwLGcpO2NvbnN0IGI9UixFPVM7bGV0IEQ9enIsTz1TbixJPVMsTj16ciwkPVNuO2ZvcihsZXQgej1CaWdJbnQodS0xKTt6Pj1Tbjt6LS0pe2NvbnN0IGo9Yj4+eiZ6cjskXj1qLHt4XzI6RCx4XzM6SX09VCgkLEQsSSkse3hfMjpPLHhfMzpOfT1UKCQsTyxOKSwkPWo7Y29uc3QgcT1EK08sVj15KHEqcSksVz1ELU8sRz15KFcqVyksSD1WLUcsWD1JK04sYWU9SS1OLERlPXkoYWUqcSksQWU9eShYKlcpLGF0PURlK0FlLGN0PURlLUFlO0k9eShhdCphdCksTj15KEUqeShjdCpjdCkpLEQ9eShWKkcpLE89eShIKihWK3koZipIKSkpfSh7eF8yOkQseF8zOkl9PVQoJCxELEkpKSx7eF8yOk8seF8zOk59PVQoJCxPLE4pO2NvbnN0IGs9cyhPKTtyZXR1cm4geShEKmspfWNvbnN0IFA9e3NlY3JldEtleTpsLHB1YmxpY0tleTpsLHNlZWQ6bH0sVT0oUz1jKGwpKT0+KGV0KFMsUC5zZWVkKSxTKTtmdW5jdGlvbiBMKFMpe2NvbnN0IFI9VShTKTtyZXR1cm57c2VjcmV0S2V5OlIscHVibGljS2V5OngoUil9fXJldHVybntrZXlnZW46TCxnZXRTaGFyZWRTZWNyZXQ6KFMsUik9Pl8oUyxSKSxnZXRQdWJsaWNLZXk6Uz0+eChTKSxzY2FsYXJNdWx0Ol8sc2NhbGFyTXVsdEJhc2U6eCx1dGlsczp7cmFuZG9tU2VjcmV0S2V5OlUscmFuZG9tUHJpdmF0ZUtleTpVfSxHdUJ5dGVzOnYuc2xpY2UoKSxsZW5ndGhzOlB9fS8qISBub2JsZS1jdXJ2ZXMgLSBNSVQgTGljZW5zZSAoYykgMjAyMiBQYXVsIE1pbGxlciAocGF1bG1pbGxyLmNvbSkgKi9jb25zdCBGRT1CaWdJbnQoMSksZWg9QmlnSW50KDIpLHFFPUJpZ0ludCgzKSx6RT1CaWdJbnQoNSksakU9QmlnSW50KDgpLHRoPUJpZ0ludCgiMHg3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVkIiksS0U9e3A6dGgsbjpCaWdJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGRlZjlkZWEyZjc5Y2Q2NTgxMjYzMWE1Y2Y1ZDNlZCIpLGg6akUsYTpCaWdJbnQoIjB4N2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYyIpLGQ6QmlnSW50KCIweDUyMDM2Y2VlMmI2ZmZlNzM4Y2M3NDA3OTc3NzllODk4MDA3MDBhNGQ0MTQxZDhhYjc1ZWI0ZGNhMTM1OTc4YTMiKSxHeDpCaWdJbnQoIjB4MjE2OTM2ZDNjZDZlNTNmZWMwYTRlMjMxZmRkNmRjNWM2OTJjYzc2MDk1MjVhN2IyYzk1NjJkNjA4ZjI1ZDUxYSIpLEd5OkJpZ0ludCgiMHg2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjU4Iil9O2Z1bmN0aW9uIFZFKHQpe2NvbnN0IGU9QmlnSW50KDEwKSxyPUJpZ0ludCgyMCksbj1CaWdJbnQoNDApLGk9QmlnSW50KDgwKSxzPXRoLGE9dCp0JXMqdCVzLGM9cnQoYSxlaCxzKSphJXMsdT1ydChjLEZFLHMpKnQlcyxsPXJ0KHUsekUscykqdSVzLGg9cnQobCxlLHMpKmwlcyxmPXJ0KGgscixzKSpoJXMscD1ydChmLG4scykqZiVzLGQ9cnQocCxpLHMpKnAlcyxnPXJ0KGQsaSxzKSpwJXMseT1ydChnLGUscykqbCVzO3JldHVybntwb3dfcF81Xzg6cnQoeSxlaCxzKSp0JXMsYjI6YX19ZnVuY3Rpb24gSEUodCl7cmV0dXJuIHRbMF0mPTI0OCx0WzMxXSY9MTI3LHRbMzFdfD02NCx0fWNvbnN0IFdFPWlyKEtFLnAse2lzTEU6ITB9KSxVbz0oKCk9Pntjb25zdCB0PVdFLk9SREVSO3JldHVybiBNRSh7UDp0LHR5cGU6IngyNTUxOSIscG93UG1pbnVzMjplPT57Y29uc3R7cG93X3BfNV84OnIsYjI6bn09VkUoZSk7cmV0dXJuIHFlKHJ0KHIscUUsdCkqbix0KX0sYWRqdXN0U2NhbGFyQnl0ZXM6SEV9KX0pKCk7LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2NvbnN0IHJoPSh0LGUpPT4odCsodD49MD9lOi1lKS9uaCkvZTtmdW5jdGlvbiBHRSh0LGUscil7Y29uc3RbW24saV0sW3Msb11dPWUsYT1yaChvKnQsciksYz1yaCgtaSp0LHIpO2xldCB1PXQtYSpuLWMqcyxsPS1hKmktYypvO2NvbnN0IGg9dTxOdCxmPWw8TnQ7aCYmKHU9LXUpLGYmJihsPS1sKTtjb25zdCBwPXhuKE1hdGguY2VpbCgkbChyKS8yKSkranI7aWYodTxOdHx8dT49cHx8bDxOdHx8bD49cCl0aHJvdyBuZXcgRXJyb3IoInNwbGl0U2NhbGFyIChlbmRvbW9ycGhpc20pOiBmYWlsZWQsIGs9Iit0KTtyZXR1cm57azFuZWc6aCxrMTp1LGsybmVnOmYsazI6bH19ZnVuY3Rpb24gTG8odCl7aWYoIVsiY29tcGFjdCIsInJlY292ZXJlZCIsImRlciJdLmluY2x1ZGVzKHQpKXRocm93IG5ldyBFcnJvcignU2lnbmF0dXJlIGZvcm1hdCBtdXN0IGJlICJjb21wYWN0IiwgInJlY292ZXJlZCIsIG9yICJkZXIiJyk7cmV0dXJuIHR9ZnVuY3Rpb24ga28odCxlKXtjb25zdCByPXt9O2ZvcihsZXQgbiBvZiBPYmplY3Qua2V5cyhlKSlyW25dPXRbbl09PT12b2lkIDA/ZVtuXTp0W25dO3JldHVybiBJaShyLmxvd1MsImxvd1MiKSxJaShyLnByZWhhc2gsInByZWhhc2giKSxyLmZvcm1hdCE9PXZvaWQgMCYmTG8oci5mb3JtYXQpLHJ9Y2xhc3MgWUUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlPSIiKXtzdXBlcihlKX19Y29uc3QgUnQ9e0VycjpZRSxfdGx2OntlbmNvZGU6KHQsZSk9Pntjb25zdHtFcnI6cn09UnQ7aWYodDwwfHx0PjI1Nil0aHJvdyBuZXcgcigidGx2LmVuY29kZTogd3JvbmcgdGFnIik7aWYoZS5sZW5ndGgmMSl0aHJvdyBuZXcgcigidGx2LmVuY29kZTogdW5wYWRkZWQgZGF0YSIpO2NvbnN0IG49ZS5sZW5ndGgvMixpPURpKG4pO2lmKGkubGVuZ3RoLzImMTI4KXRocm93IG5ldyByKCJ0bHYuZW5jb2RlOiBsb25nIGZvcm0gbGVuZ3RoIHRvbyBiaWciKTtjb25zdCBzPW4+MTI3P0RpKGkubGVuZ3RoLzJ8MTI4KToiIjtyZXR1cm4gRGkodCkrcytpK2V9LGRlY29kZSh0LGUpe2NvbnN0e0VycjpyfT1SdDtsZXQgbj0wO2lmKHQ8MHx8dD4yNTYpdGhyb3cgbmV3IHIoInRsdi5lbmNvZGU6IHdyb25nIHRhZyIpO2lmKGUubGVuZ3RoPDJ8fGVbbisrXSE9PXQpdGhyb3cgbmV3IHIoInRsdi5kZWNvZGU6IHdyb25nIHRsdiIpO2NvbnN0IGk9ZVtuKytdLHM9ISEoaSYxMjgpO2xldCBvPTA7aWYoIXMpbz1pO2Vsc2V7Y29uc3QgYz1pJjEyNztpZighYyl0aHJvdyBuZXcgcigidGx2LmRlY29kZShsb25nKTogaW5kZWZpbml0ZSBsZW5ndGggbm90IHN1cHBvcnRlZCIpO2lmKGM+NCl0aHJvdyBuZXcgcigidGx2LmRlY29kZShsb25nKTogYnl0ZSBsZW5ndGggaXMgdG9vIGJpZyIpO2NvbnN0IHU9ZS5zdWJhcnJheShuLG4rYyk7aWYodS5sZW5ndGghPT1jKXRocm93IG5ldyByKCJ0bHYuZGVjb2RlOiBsZW5ndGggYnl0ZXMgbm90IGNvbXBsZXRlIik7aWYodVswXT09PTApdGhyb3cgbmV3IHIoInRsdi5kZWNvZGUobG9uZyk6IHplcm8gbGVmdG1vc3QgYnl0ZSIpO2Zvcihjb25zdCBsIG9mIHUpbz1vPDw4fGw7aWYobis9YyxvPDEyOCl0aHJvdyBuZXcgcigidGx2LmRlY29kZShsb25nKTogbm90IG1pbmltYWwgZW5jb2RpbmciKX1jb25zdCBhPWUuc3ViYXJyYXkobixuK28pO2lmKGEubGVuZ3RoIT09byl0aHJvdyBuZXcgcigidGx2LmRlY29kZTogd3JvbmcgdmFsdWUgbGVuZ3RoIik7cmV0dXJue3Y6YSxsOmUuc3ViYXJyYXkobitvKX19fSxfaW50OntlbmNvZGUodCl7Y29uc3R7RXJyOmV9PVJ0O2lmKHQ8TnQpdGhyb3cgbmV3IGUoImludGVnZXI6IG5lZ2F0aXZlIGludGVnZXJzIGFyZSBub3QgYWxsb3dlZCIpO2xldCByPURpKHQpO2lmKE51bWJlci5wYXJzZUludChyWzBdLDE2KSY4JiYocj0iMDAiK3IpLHIubGVuZ3RoJjEpdGhyb3cgbmV3IGUoInVuZXhwZWN0ZWQgREVSIHBhcnNpbmcgYXNzZXJ0aW9uOiB1bnBhZGRlZCBoZXgiKTtyZXR1cm4gcn0sZGVjb2RlKHQpe2NvbnN0e0VycjplfT1SdDtpZih0WzBdJjEyOCl0aHJvdyBuZXcgZSgiaW52YWxpZCBzaWduYXR1cmUgaW50ZWdlcjogbmVnYXRpdmUiKTtpZih0WzBdPT09MCYmISh0WzFdJjEyOCkpdGhyb3cgbmV3IGUoImludmFsaWQgc2lnbmF0dXJlIGludGVnZXI6IHVubmVjZXNzYXJ5IGxlYWRpbmcgemVybyIpO3JldHVybiBBaSh0KX19LHRvU2lnKHQpe2NvbnN0e0VycjplLF9pbnQ6cixfdGx2Om59PVJ0LGk9SWUoInNpZ25hdHVyZSIsdCkse3Y6cyxsOm99PW4uZGVjb2RlKDQ4LGkpO2lmKG8ubGVuZ3RoKXRocm93IG5ldyBlKCJpbnZhbGlkIHNpZ25hdHVyZTogbGVmdCBieXRlcyBhZnRlciBwYXJzaW5nIik7Y29uc3R7djphLGw6Y309bi5kZWNvZGUoMixzKSx7djp1LGx9PW4uZGVjb2RlKDIsYyk7aWYobC5sZW5ndGgpdGhyb3cgbmV3IGUoImludmFsaWQgc2lnbmF0dXJlOiBsZWZ0IGJ5dGVzIGFmdGVyIHBhcnNpbmciKTtyZXR1cm57cjpyLmRlY29kZShhKSxzOnIuZGVjb2RlKHUpfX0saGV4RnJvbVNpZyh0KXtjb25zdHtfdGx2OmUsX2ludDpyfT1SdCxuPWUuZW5jb2RlKDIsci5lbmNvZGUodC5yKSksaT1lLmVuY29kZSgyLHIuZW5jb2RlKHQucykpLHM9bitpO3JldHVybiBlLmVuY29kZSg0OCxzKX19LE50PUJpZ0ludCgwKSxqcj1CaWdJbnQoMSksbmg9QmlnSW50KDIpLE5pPUJpZ0ludCgzKSxaRT1CaWdJbnQoNCk7ZnVuY3Rpb24gS3IodCxlKXtjb25zdHtCWVRFUzpyfT10O2xldCBuO2lmKHR5cGVvZiBlPT0iYmlnaW50IiluPWU7ZWxzZXtsZXQgaT1JZSgicHJpdmF0ZSBrZXkiLGUpO3RyeXtuPXQuZnJvbUJ5dGVzKGkpfWNhdGNoe3Rocm93IG5ldyBFcnJvcihgaW52YWxpZCBwcml2YXRlIGtleTogZXhwZWN0ZWQgdWk4YSBvZiBzaXplICR7cn0sIGdvdCAke3R5cGVvZiBlfWApfX1pZighdC5pc1ZhbGlkTm90MChuKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcHJpdmF0ZSBrZXk6IG91dCBvZiByYW5nZSBbMS4uTi0xXSIpO3JldHVybiBufWZ1bmN0aW9uIFhFKHQsZT17fSl7Y29uc3Qgcj1MRSgid2VpZXJzdHJhc3MiLHQsZSkse0ZwOm4sRm46aX09cjtsZXQgcz1yLkNVUlZFO2NvbnN0e2g6byxuOmF9PXM7VGkoZSx7fSx7YWxsb3dJbmZpbml0eVBvaW50OiJib29sZWFuIixjbGVhckNvZmFjdG9yOiJmdW5jdGlvbiIsaXNUb3JzaW9uRnJlZToiZnVuY3Rpb24iLGZyb21CeXRlczoiZnVuY3Rpb24iLHRvQnl0ZXM6ImZ1bmN0aW9uIixlbmRvOiJvYmplY3QiLHdyYXBQcml2YXRlS2V5OiJib29sZWFuIn0pO2NvbnN0e2VuZG86Y309ZTtpZihjJiYoIW4uaXMwKHMuYSl8fHR5cGVvZiBjLmJldGEhPSJiaWdpbnQifHwhQXJyYXkuaXNBcnJheShjLmJhc2lzZXMpKSl0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgZW5kbzogZXhwZWN0ZWQgImJldGEiOiBiaWdpbnQgYW5kICJiYXNpc2VzIjogYXJyYXknKTtjb25zdCB1PXNoKG4saSk7ZnVuY3Rpb24gbCgpe2lmKCFuLmlzT2RkKXRocm93IG5ldyBFcnJvcigiY29tcHJlc3Npb24gaXMgbm90IHN1cHBvcnRlZDogRmllbGQgZG9lcyBub3QgaGF2ZSAuaXNPZGQoKSIpfWZ1bmN0aW9uIGgoQyxTLFIpe2NvbnN0e3g6Yix5OkV9PVMudG9BZmZpbmUoKSxEPW4udG9CeXRlcyhiKTtpZihJaShSLCJpc0NvbXByZXNzZWQiKSxSKXtsKCk7Y29uc3QgTz0hbi5pc09kZChFKTtyZXR1cm4gSXQoaWgoTyksRCl9ZWxzZSByZXR1cm4gSXQoVWludDhBcnJheS5vZig0KSxELG4udG9CeXRlcyhFKSl9ZnVuY3Rpb24gZihDKXttcihDLHZvaWQgMCwiUG9pbnQiKTtjb25zdHtwdWJsaWNLZXk6UyxwdWJsaWNLZXlVbmNvbXByZXNzZWQ6Un09dSxiPUMubGVuZ3RoLEU9Q1swXSxEPUMuc3ViYXJyYXkoMSk7aWYoYj09PVMmJihFPT09Mnx8RT09PTMpKXtjb25zdCBPPW4uZnJvbUJ5dGVzKEQpO2lmKCFuLmlzVmFsaWQoTykpdGhyb3cgbmV3IEVycm9yKCJiYWQgcG9pbnQ6IGlzIG5vdCBvbiBjdXJ2ZSwgd3JvbmcgeCIpO2NvbnN0IEk9ZyhPKTtsZXQgTjt0cnl7Tj1uLnNxcnQoSSl9Y2F0Y2goeil7Y29uc3Qgaj16IGluc3RhbmNlb2YgRXJyb3I/IjogIit6Lm1lc3NhZ2U6IiI7dGhyb3cgbmV3IEVycm9yKCJiYWQgcG9pbnQ6IGlzIG5vdCBvbiBjdXJ2ZSwgc3FydCBlcnJvciIrail9bCgpO2NvbnN0ICQ9bi5pc09kZChOKTtyZXR1cm4oRSYxKT09PTEhPT0kJiYoTj1uLm5lZyhOKSkse3g6Tyx5Ok59fWVsc2UgaWYoYj09PVImJkU9PT00KXtjb25zdCBPPW4uQllURVMsST1uLmZyb21CeXRlcyhELnN1YmFycmF5KDAsTykpLE49bi5mcm9tQnl0ZXMoRC5zdWJhcnJheShPLE8qMikpO2lmKCF5KEksTikpdGhyb3cgbmV3IEVycm9yKCJiYWQgcG9pbnQ6IGlzIG5vdCBvbiBjdXJ2ZSIpO3JldHVybnt4OkkseTpOfX1lbHNlIHRocm93IG5ldyBFcnJvcihgYmFkIHBvaW50OiBnb3QgbGVuZ3RoICR7Yn0sIGV4cGVjdGVkIGNvbXByZXNzZWQ9JHtTfSBvciB1bmNvbXByZXNzZWQ9JHtSfWApfWNvbnN0IHA9ZS50b0J5dGVzfHxoLGQ9ZS5mcm9tQnl0ZXN8fGY7ZnVuY3Rpb24gZyhDKXtjb25zdCBTPW4uc3FyKEMpLFI9bi5tdWwoUyxDKTtyZXR1cm4gbi5hZGQobi5hZGQoUixuLm11bChDLHMuYSkpLHMuYil9ZnVuY3Rpb24geShDLFMpe2NvbnN0IFI9bi5zcXIoUyksYj1nKEMpO3JldHVybiBuLmVxbChSLGIpfWlmKCF5KHMuR3gscy5HeSkpdGhyb3cgbmV3IEVycm9yKCJiYWQgY3VydmUgcGFyYW1zOiBnZW5lcmF0b3IgcG9pbnQiKTtjb25zdCB2PW4ubXVsKG4ucG93KHMuYSxOaSksWkUpLEE9bi5tdWwobi5zcXIocy5iKSxCaWdJbnQoMjcpKTtpZihuLmlzMChuLmFkZCh2LEEpKSl0aHJvdyBuZXcgRXJyb3IoImJhZCBjdXJ2ZSBwYXJhbXM6IGEgb3IgYiIpO2Z1bmN0aW9uIHcoQyxTLFI9ITEpe2lmKCFuLmlzVmFsaWQoUyl8fFImJm4uaXMwKFMpKXRocm93IG5ldyBFcnJvcihgYmFkIHBvaW50IGNvb3JkaW5hdGUgJHtDfWApO3JldHVybiBTfWZ1bmN0aW9uIG0oQyl7aWYoIShDIGluc3RhbmNlb2YgUCkpdGhyb3cgbmV3IEVycm9yKCJQcm9qZWN0aXZlUG9pbnQgZXhwZWN0ZWQiKX1mdW5jdGlvbiBfKEMpe2lmKCFjfHwhYy5iYXNpc2VzKXRocm93IG5ldyBFcnJvcigibm8gZW5kbyIpO3JldHVybiBHRShDLGMuYmFzaXNlcyxpLk9SREVSKX1jb25zdCB4PUNsKChDLFMpPT57Y29uc3R7WDpSLFk6YixaOkV9PUM7aWYobi5lcWwoRSxuLk9ORSkpcmV0dXJue3g6Uix5OmJ9O2NvbnN0IEQ9Qy5pczAoKTtTPT1udWxsJiYoUz1EP24uT05FOm4uaW52KEUpKTtjb25zdCBPPW4ubXVsKFIsUyksST1uLm11bChiLFMpLE49bi5tdWwoRSxTKTtpZihEKXJldHVybnt4Om4uWkVSTyx5Om4uWkVST307aWYoIW4uZXFsKE4sbi5PTkUpKXRocm93IG5ldyBFcnJvcigiaW52WiB3YXMgaW52YWxpZCIpO3JldHVybnt4Ok8seTpJfX0pLFQ9Q2woQz0+e2lmKEMuaXMwKCkpe2lmKGUuYWxsb3dJbmZpbml0eVBvaW50JiYhbi5pczAoQy5ZKSlyZXR1cm47dGhyb3cgbmV3IEVycm9yKCJiYWQgcG9pbnQ6IFpFUk8iKX1jb25zdHt4OlMseTpSfT1DLnRvQWZmaW5lKCk7aWYoIW4uaXNWYWxpZChTKXx8IW4uaXNWYWxpZChSKSl0aHJvdyBuZXcgRXJyb3IoImJhZCBwb2ludDogeCBvciB5IG5vdCBmaWVsZCBlbGVtZW50cyIpO2lmKCF5KFMsUikpdGhyb3cgbmV3IEVycm9yKCJiYWQgcG9pbnQ6IGVxdWF0aW9uIGxlZnQgIT0gcmlnaHQiKTtpZighQy5pc1RvcnNpb25GcmVlKCkpdGhyb3cgbmV3IEVycm9yKCJiYWQgcG9pbnQ6IG5vdCBpbiBwcmltZS1vcmRlciBzdWJncm91cCIpO3JldHVybiEwfSk7ZnVuY3Rpb24gQihDLFMsUixiLEUpe3JldHVybiBSPW5ldyBQKG4ubXVsKFIuWCxDKSxSLlksUi5aKSxTPUJpKGIsUyksUj1CaShFLFIpLFMuYWRkKFIpfWNsYXNzIFB7Y29uc3RydWN0b3IoUyxSLGIpe3RoaXMuWD13KCJ4IixTKSx0aGlzLlk9dygieSIsUiwhMCksdGhpcy5aPXcoInoiLGIpLE9iamVjdC5mcmVlemUodGhpcyl9c3RhdGljIENVUlZFKCl7cmV0dXJuIHN9c3RhdGljIGZyb21BZmZpbmUoUyl7Y29uc3R7eDpSLHk6Yn09U3x8e307aWYoIVN8fCFuLmlzVmFsaWQoUil8fCFuLmlzVmFsaWQoYikpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGFmZmluZSBwb2ludCIpO2lmKFMgaW5zdGFuY2VvZiBQKXRocm93IG5ldyBFcnJvcigicHJvamVjdGl2ZSBwb2ludCBub3QgYWxsb3dlZCIpO3JldHVybiBuLmlzMChSKSYmbi5pczAoYik/UC5aRVJPOm5ldyBQKFIsYixuLk9ORSl9c3RhdGljIGZyb21CeXRlcyhTKXtjb25zdCBSPVAuZnJvbUFmZmluZShkKG1yKFMsdm9pZCAwLCJwb2ludCIpKSk7cmV0dXJuIFIuYXNzZXJ0VmFsaWRpdHkoKSxSfXN0YXRpYyBmcm9tSGV4KFMpe3JldHVybiBQLmZyb21CeXRlcyhJZSgicG9pbnRIZXgiLFMpKX1nZXQgeCgpe3JldHVybiB0aGlzLnRvQWZmaW5lKCkueH1nZXQgeSgpe3JldHVybiB0aGlzLnRvQWZmaW5lKCkueX1wcmVjb21wdXRlKFM9OCxSPSEwKXtyZXR1cm4gTC5jcmVhdGVDYWNoZSh0aGlzLFMpLFJ8fHRoaXMubXVsdGlwbHkoTmkpLHRoaXN9YXNzZXJ0VmFsaWRpdHkoKXtUKHRoaXMpfWhhc0V2ZW5ZKCl7Y29uc3R7eTpTfT10aGlzLnRvQWZmaW5lKCk7aWYoIW4uaXNPZGQpdGhyb3cgbmV3IEVycm9yKCJGaWVsZCBkb2Vzbid0IHN1cHBvcnQgaXNPZGQiKTtyZXR1cm4hbi5pc09kZChTKX1lcXVhbHMoUyl7bShTKTtjb25zdHtYOlIsWTpiLFo6RX09dGhpcyx7WDpELFk6TyxaOkl9PVMsTj1uLmVxbChuLm11bChSLEkpLG4ubXVsKEQsRSkpLCQ9bi5lcWwobi5tdWwoYixJKSxuLm11bChPLEUpKTtyZXR1cm4gTiYmJH1uZWdhdGUoKXtyZXR1cm4gbmV3IFAodGhpcy5YLG4ubmVnKHRoaXMuWSksdGhpcy5aKX1kb3VibGUoKXtjb25zdHthOlMsYjpSfT1zLGI9bi5tdWwoUixOaSkse1g6RSxZOkQsWjpPfT10aGlzO2xldCBJPW4uWkVSTyxOPW4uWkVSTywkPW4uWkVSTyxrPW4ubXVsKEUsRSksej1uLm11bChELEQpLGo9bi5tdWwoTyxPKSxxPW4ubXVsKEUsRCk7cmV0dXJuIHE9bi5hZGQocSxxKSwkPW4ubXVsKEUsTyksJD1uLmFkZCgkLCQpLEk9bi5tdWwoUywkKSxOPW4ubXVsKGIsaiksTj1uLmFkZChJLE4pLEk9bi5zdWIoeixOKSxOPW4uYWRkKHosTiksTj1uLm11bChJLE4pLEk9bi5tdWwocSxJKSwkPW4ubXVsKGIsJCksaj1uLm11bChTLGopLHE9bi5zdWIoayxqKSxxPW4ubXVsKFMscSkscT1uLmFkZChxLCQpLCQ9bi5hZGQoayxrKSxrPW4uYWRkKCQsayksaz1uLmFkZChrLGopLGs9bi5tdWwoayxxKSxOPW4uYWRkKE4sayksaj1uLm11bChELE8pLGo9bi5hZGQoaixqKSxrPW4ubXVsKGoscSksST1uLnN1YihJLGspLCQ9bi5tdWwoaix6KSwkPW4uYWRkKCQsJCksJD1uLmFkZCgkLCQpLG5ldyBQKEksTiwkKX1hZGQoUyl7bShTKTtjb25zdHtYOlIsWTpiLFo6RX09dGhpcyx7WDpELFk6TyxaOkl9PVM7bGV0IE49bi5aRVJPLCQ9bi5aRVJPLGs9bi5aRVJPO2NvbnN0IHo9cy5hLGo9bi5tdWwocy5iLE5pKTtsZXQgcT1uLm11bChSLEQpLFY9bi5tdWwoYixPKSxXPW4ubXVsKEUsSSksRz1uLmFkZChSLGIpLEg9bi5hZGQoRCxPKTtHPW4ubXVsKEcsSCksSD1uLmFkZChxLFYpLEc9bi5zdWIoRyxIKSxIPW4uYWRkKFIsRSk7bGV0IFg9bi5hZGQoRCxJKTtyZXR1cm4gSD1uLm11bChILFgpLFg9bi5hZGQocSxXKSxIPW4uc3ViKEgsWCksWD1uLmFkZChiLEUpLE49bi5hZGQoTyxJKSxYPW4ubXVsKFgsTiksTj1uLmFkZChWLFcpLFg9bi5zdWIoWCxOKSxrPW4ubXVsKHosSCksTj1uLm11bChqLFcpLGs9bi5hZGQoTixrKSxOPW4uc3ViKFYsayksaz1uLmFkZChWLGspLCQ9bi5tdWwoTixrKSxWPW4uYWRkKHEscSksVj1uLmFkZChWLHEpLFc9bi5tdWwoeixXKSxIPW4ubXVsKGosSCksVj1uLmFkZChWLFcpLFc9bi5zdWIocSxXKSxXPW4ubXVsKHosVyksSD1uLmFkZChILFcpLHE9bi5tdWwoVixIKSwkPW4uYWRkKCQscSkscT1uLm11bChYLEgpLE49bi5tdWwoRyxOKSxOPW4uc3ViKE4scSkscT1uLm11bChHLFYpLGs9bi5tdWwoWCxrKSxrPW4uYWRkKGsscSksbmV3IFAoTiwkLGspfXN1YnRyYWN0KFMpe3JldHVybiB0aGlzLmFkZChTLm5lZ2F0ZSgpKX1pczAoKXtyZXR1cm4gdGhpcy5lcXVhbHMoUC5aRVJPKX1tdWx0aXBseShTKXtjb25zdHtlbmRvOlJ9PWU7aWYoIWkuaXNWYWxpZE5vdDAoUykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNjYWxhcjogb3V0IG9mIHJhbmdlIik7bGV0IGIsRTtjb25zdCBEPU89PkwuY2FjaGVkKHRoaXMsTyxJPT5ObyhQLEkpKTtpZihSKXtjb25zdHtrMW5lZzpPLGsxOkksazJuZWc6TixrMjokfT1fKFMpLHtwOmssZjp6fT1EKEkpLHtwOmosZjpxfT1EKCQpO0U9ei5hZGQocSksYj1CKFIuYmV0YSxrLGosTyxOKX1lbHNle2NvbnN0e3A6TyxmOkl9PUQoUyk7Yj1PLEU9SX1yZXR1cm4gTm8oUCxbYixFXSlbMF19bXVsdGlwbHlVbnNhZmUoUyl7Y29uc3R7ZW5kbzpSfT1lLGI9dGhpcztpZighaS5pc1ZhbGlkKFMpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzY2FsYXI6IG91dCBvZiByYW5nZSIpO2lmKFM9PT1OdHx8Yi5pczAoKSlyZXR1cm4gUC5aRVJPO2lmKFM9PT1qcilyZXR1cm4gYjtpZihMLmhhc0NhY2hlKHRoaXMpKXJldHVybiB0aGlzLm11bHRpcGx5KFMpO2lmKFIpe2NvbnN0e2sxbmVnOkUsazE6RCxrMm5lZzpPLGsyOkl9PV8oUykse3AxOk4scDI6JH09Q0UoUCxiLEQsSSk7cmV0dXJuIEIoUi5iZXRhLE4sJCxFLE8pfWVsc2UgcmV0dXJuIEwudW5zYWZlKGIsUyl9bXVsdGlwbHlBbmRBZGRVbnNhZmUoUyxSLGIpe2NvbnN0IEU9dGhpcy5tdWx0aXBseVVuc2FmZShSKS5hZGQoUy5tdWx0aXBseVVuc2FmZShiKSk7cmV0dXJuIEUuaXMwKCk/dm9pZCAwOkV9dG9BZmZpbmUoUyl7cmV0dXJuIHgodGhpcyxTKX1pc1RvcnNpb25GcmVlKCl7Y29uc3R7aXNUb3JzaW9uRnJlZTpTfT1lO3JldHVybiBvPT09anI/ITA6Uz9TKFAsdGhpcyk6TC51bnNhZmUodGhpcyxhKS5pczAoKX1jbGVhckNvZmFjdG9yKCl7Y29uc3R7Y2xlYXJDb2ZhY3RvcjpTfT1lO3JldHVybiBvPT09anI/dGhpczpTP1MoUCx0aGlzKTp0aGlzLm11bHRpcGx5VW5zYWZlKG8pfWlzU21hbGxPcmRlcigpe3JldHVybiB0aGlzLm11bHRpcGx5VW5zYWZlKG8pLmlzMCgpfXRvQnl0ZXMoUz0hMCl7cmV0dXJuIElpKFMsImlzQ29tcHJlc3NlZCIpLHRoaXMuYXNzZXJ0VmFsaWRpdHkoKSxwKFAsdGhpcyxTKX10b0hleChTPSEwKXtyZXR1cm4ga3IodGhpcy50b0J5dGVzKFMpKX10b1N0cmluZygpe3JldHVybmA8UG9pbnQgJHt0aGlzLmlzMCgpPyJaRVJPIjp0aGlzLnRvSGV4KCl9PmB9Z2V0IHB4KCl7cmV0dXJuIHRoaXMuWH1nZXQgcHkoKXtyZXR1cm4gdGhpcy5YfWdldCBweigpe3JldHVybiB0aGlzLlp9dG9SYXdCeXRlcyhTPSEwKXtyZXR1cm4gdGhpcy50b0J5dGVzKFMpfV9zZXRXaW5kb3dTaXplKFMpe3RoaXMucHJlY29tcHV0ZShTKX1zdGF0aWMgbm9ybWFsaXplWihTKXtyZXR1cm4gTm8oUCxTKX1zdGF0aWMgbXNtKFMsUil7cmV0dXJuIFVFKFAsaSxTLFIpfXN0YXRpYyBmcm9tUHJpdmF0ZUtleShTKXtyZXR1cm4gUC5CQVNFLm11bHRpcGx5KEtyKGksUykpfX1QLkJBU0U9bmV3IFAocy5HeCxzLkd5LG4uT05FKSxQLlpFUk89bmV3IFAobi5aRVJPLG4uT05FLG4uWkVSTyksUC5GcD1uLFAuRm49aTtjb25zdCBVPWkuQklUUyxMPW5ldyAkRShQLGUuZW5kbz9NYXRoLmNlaWwoVS8yKTpVKTtyZXR1cm4gUC5CQVNFLnByZWNvbXB1dGUoOCksUH1mdW5jdGlvbiBpaCh0KXtyZXR1cm4gVWludDhBcnJheS5vZih0PzI6Myl9ZnVuY3Rpb24gc2godCxlKXtyZXR1cm57c2VjcmV0S2V5OmUuQllURVMscHVibGljS2V5OjErdC5CWVRFUyxwdWJsaWNLZXlVbmNvbXByZXNzZWQ6MSsyKnQuQllURVMscHVibGljS2V5SGFzUHJlZml4OiEwLHNpZ25hdHVyZToyKmUuQllURVN9fWZ1bmN0aW9uIEpFKHQsZT17fSl7Y29uc3R7Rm46cn09dCxuPWUucmFuZG9tQnl0ZXN8fFl0LGk9T2JqZWN0LmFzc2lnbihzaCh0LkZwLHIpLHtzZWVkOkdsKHIuT1JERVIpfSk7ZnVuY3Rpb24gcyhwKXt0cnl7cmV0dXJuISFLcihyLHApfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBvKHAsZCl7Y29uc3R7cHVibGljS2V5OmcscHVibGljS2V5VW5jb21wcmVzc2VkOnl9PWk7dHJ5e2NvbnN0IHY9cC5sZW5ndGg7cmV0dXJuIGQ9PT0hMCYmdiE9PWd8fGQ9PT0hMSYmdiE9PXk/ITE6ISF0LmZyb21CeXRlcyhwKX1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gYShwPW4oaS5zZWVkKSl7cmV0dXJuIFJFKG1yKHAsaS5zZWVkLCJzZWVkIiksci5PUkRFUil9ZnVuY3Rpb24gYyhwLGQ9ITApe3JldHVybiB0LkJBU0UubXVsdGlwbHkoS3IocixwKSkudG9CeXRlcyhkKX1mdW5jdGlvbiB1KHApe2NvbnN0IGQ9YShwKTtyZXR1cm57c2VjcmV0S2V5OmQscHVibGljS2V5OmMoZCl9fWZ1bmN0aW9uIGwocCl7aWYodHlwZW9mIHA9PSJiaWdpbnQiKXJldHVybiExO2lmKHAgaW5zdGFuY2VvZiB0KXJldHVybiEwO2NvbnN0e3NlY3JldEtleTpkLHB1YmxpY0tleTpnLHB1YmxpY0tleVVuY29tcHJlc3NlZDp5fT1pO2lmKHIuYWxsb3dlZExlbmd0aHN8fGQ9PT1nKXJldHVybjtjb25zdCB2PUllKCJrZXkiLHApLmxlbmd0aDtyZXR1cm4gdj09PWd8fHY9PT15fWZ1bmN0aW9uIGgocCxkLGc9ITApe2lmKGwocCk9PT0hMCl0aHJvdyBuZXcgRXJyb3IoImZpcnN0IGFyZyBtdXN0IGJlIHByaXZhdGUga2V5Iik7aWYobChkKT09PSExKXRocm93IG5ldyBFcnJvcigic2Vjb25kIGFyZyBtdXN0IGJlIHB1YmxpYyBrZXkiKTtjb25zdCB5PUtyKHIscCk7cmV0dXJuIHQuZnJvbUhleChkKS5tdWx0aXBseSh5KS50b0J5dGVzKGcpfXJldHVybiBPYmplY3QuZnJlZXplKHtnZXRQdWJsaWNLZXk6YyxnZXRTaGFyZWRTZWNyZXQ6aCxrZXlnZW46dSxQb2ludDp0LHV0aWxzOntpc1ZhbGlkU2VjcmV0S2V5OnMsaXNWYWxpZFB1YmxpY0tleTpvLHJhbmRvbVNlY3JldEtleTphLGlzVmFsaWRQcml2YXRlS2V5OnMscmFuZG9tUHJpdmF0ZUtleTphLG5vcm1Qcml2YXRlS2V5VG9TY2FsYXI6cD0+S3IocixwKSxwcmVjb21wdXRlKHA9OCxkPXQuQkFTRSl7cmV0dXJuIGQucHJlY29tcHV0ZShwLCExKX19LGxlbmd0aHM6aX0pfWZ1bmN0aW9uIFFFKHQsZSxyPXt9KXthaShlKSxUaShyLHt9LHtobWFjOiJmdW5jdGlvbiIsbG93UzoiYm9vbGVhbiIscmFuZG9tQnl0ZXM6ImZ1bmN0aW9uIixiaXRzMmludDoiZnVuY3Rpb24iLGJpdHMyaW50X21vZE46ImZ1bmN0aW9uIn0pO2NvbnN0IG49ci5yYW5kb21CeXRlc3x8WXQsaT1yLmhtYWN8fCgoUiwuLi5iKT0+d24oZSxSLEl0KC4uLmIpKSkse0ZwOnMsRm46b309dCx7T1JERVI6YSxCSVRTOmN9PW8se2tleWdlbjp1LGdldFB1YmxpY0tleTpsLGdldFNoYXJlZFNlY3JldDpoLHV0aWxzOmYsbGVuZ3RoczpwfT1KRSh0LHIpLGQ9e3ByZWhhc2g6ITEsbG93Uzp0eXBlb2Ygci5sb3dTPT0iYm9vbGVhbiI/ci5sb3dTOiExLGZvcm1hdDp2b2lkIDAsZXh0cmFFbnRyb3B5OiExfSxnPSJjb21wYWN0IjtmdW5jdGlvbiB5KFIpe2NvbnN0IGI9YT4+anI7cmV0dXJuIFI+Yn1mdW5jdGlvbiB2KFIsYil7aWYoIW8uaXNWYWxpZE5vdDAoYikpdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHNpZ25hdHVyZSAke1J9OiBvdXQgb2YgcmFuZ2UgMS4uUG9pbnQuRm4uT1JERVJgKTtyZXR1cm4gYn1mdW5jdGlvbiBBKFIsYil7TG8oYik7Y29uc3QgRT1wLnNpZ25hdHVyZSxEPWI9PT0iY29tcGFjdCI/RTpiPT09InJlY292ZXJlZCI/RSsxOnZvaWQgMDtyZXR1cm4gbXIoUixELGAke2J9IHNpZ25hdHVyZWApfWNsYXNzIHd7Y29uc3RydWN0b3IoYixFLEQpe3RoaXMucj12KCJyIixiKSx0aGlzLnM9digicyIsRSksRCE9bnVsbCYmKHRoaXMucmVjb3Zlcnk9RCksT2JqZWN0LmZyZWV6ZSh0aGlzKX1zdGF0aWMgZnJvbUJ5dGVzKGIsRT1nKXtBKGIsRSk7bGV0IEQ7aWYoRT09PSJkZXIiKXtjb25zdHtyOiQsczprfT1SdC50b1NpZyhtcihiKSk7cmV0dXJuIG5ldyB3KCQsayl9RT09PSJyZWNvdmVyZWQiJiYoRD1iWzBdLEU9ImNvbXBhY3QiLGI9Yi5zdWJhcnJheSgxKSk7Y29uc3QgTz1vLkJZVEVTLEk9Yi5zdWJhcnJheSgwLE8pLE49Yi5zdWJhcnJheShPLE8qMik7cmV0dXJuIG5ldyB3KG8uZnJvbUJ5dGVzKEkpLG8uZnJvbUJ5dGVzKE4pLEQpfXN0YXRpYyBmcm9tSGV4KGIsRSl7cmV0dXJuIHRoaXMuZnJvbUJ5dGVzKGNpKGIpLEUpfWFkZFJlY292ZXJ5Qml0KGIpe3JldHVybiBuZXcgdyh0aGlzLnIsdGhpcy5zLGIpfXJlY292ZXJQdWJsaWNLZXkoYil7Y29uc3QgRT1zLk9SREVSLHtyOkQsczpPLHJlY292ZXJ5Okl9PXRoaXM7aWYoST09bnVsbHx8IVswLDEsMiwzXS5pbmNsdWRlcyhJKSl0aHJvdyBuZXcgRXJyb3IoInJlY292ZXJ5IGlkIGludmFsaWQiKTtpZihhKm5oPEUmJkk+MSl0aHJvdyBuZXcgRXJyb3IoInJlY292ZXJ5IGlkIGlzIGFtYmlndW91cyBmb3IgaD4xIGN1cnZlIik7Y29uc3QgJD1JPT09Mnx8ST09PTM/RCthOkQ7aWYoIXMuaXNWYWxpZCgkKSl0aHJvdyBuZXcgRXJyb3IoInJlY292ZXJ5IGlkIDIgb3IgMyBpbnZhbGlkIik7Y29uc3Qgaz1zLnRvQnl0ZXMoJCksej10LmZyb21CeXRlcyhJdChpaCgoSSYxKT09PTApLGspKSxqPW8uaW52KCQpLHE9XyhJZSgibXNnSGFzaCIsYikpLFY9by5jcmVhdGUoLXEqaiksVz1vLmNyZWF0ZShPKmopLEc9dC5CQVNFLm11bHRpcGx5VW5zYWZlKFYpLmFkZCh6Lm11bHRpcGx5VW5zYWZlKFcpKTtpZihHLmlzMCgpKXRocm93IG5ldyBFcnJvcigicG9pbnQgYXQgaW5maW5pZnkiKTtyZXR1cm4gRy5hc3NlcnRWYWxpZGl0eSgpLEd9aGFzSGlnaFMoKXtyZXR1cm4geSh0aGlzLnMpfXRvQnl0ZXMoYj1nKXtpZihMbyhiKSxiPT09ImRlciIpcmV0dXJuIGNpKFJ0LmhleEZyb21TaWcodGhpcykpO2NvbnN0IEU9by50b0J5dGVzKHRoaXMuciksRD1vLnRvQnl0ZXModGhpcy5zKTtpZihiPT09InJlY292ZXJlZCIpe2lmKHRoaXMucmVjb3Zlcnk9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJyZWNvdmVyeSBiaXQgbXVzdCBiZSBwcmVzZW50Iik7cmV0dXJuIEl0KFVpbnQ4QXJyYXkub2YodGhpcy5yZWNvdmVyeSksRSxEKX1yZXR1cm4gSXQoRSxEKX10b0hleChiKXtyZXR1cm4ga3IodGhpcy50b0J5dGVzKGIpKX1hc3NlcnRWYWxpZGl0eSgpe31zdGF0aWMgZnJvbUNvbXBhY3QoYil7cmV0dXJuIHcuZnJvbUJ5dGVzKEllKCJzaWciLGIpLCJjb21wYWN0Iil9c3RhdGljIGZyb21ERVIoYil7cmV0dXJuIHcuZnJvbUJ5dGVzKEllKCJzaWciLGIpLCJkZXIiKX1ub3JtYWxpemVTKCl7cmV0dXJuIHRoaXMuaGFzSGlnaFMoKT9uZXcgdyh0aGlzLnIsby5uZWcodGhpcy5zKSx0aGlzLnJlY292ZXJ5KTp0aGlzfXRvREVSUmF3Qnl0ZXMoKXtyZXR1cm4gdGhpcy50b0J5dGVzKCJkZXIiKX10b0RFUkhleCgpe3JldHVybiBrcih0aGlzLnRvQnl0ZXMoImRlciIpKX10b0NvbXBhY3RSYXdCeXRlcygpe3JldHVybiB0aGlzLnRvQnl0ZXMoImNvbXBhY3QiKX10b0NvbXBhY3RIZXgoKXtyZXR1cm4ga3IodGhpcy50b0J5dGVzKCJjb21wYWN0IikpfX1jb25zdCBtPXIuYml0czJpbnR8fGZ1bmN0aW9uKGIpe2lmKGIubGVuZ3RoPjgxOTIpdGhyb3cgbmV3IEVycm9yKCJpbnB1dCBpcyB0b28gbGFyZ2UiKTtjb25zdCBFPUFpKGIpLEQ9Yi5sZW5ndGgqOC1jO3JldHVybiBEPjA/RT4+QmlnSW50KEQpOkV9LF89ci5iaXRzMmludF9tb2ROfHxmdW5jdGlvbihiKXtyZXR1cm4gby5jcmVhdGUobShiKSl9LHg9eG4oYyk7ZnVuY3Rpb24gVChSKXtyZXR1cm4gQm8oIm51bSA8IDJeIitjLFIsTnQseCksby50b0J5dGVzKFIpfWZ1bmN0aW9uIEIoUixiKXtyZXR1cm4gbXIoUix2b2lkIDAsIm1lc3NhZ2UiKSxiP21yKGUoUiksdm9pZCAwLCJwcmVoYXNoZWQgbWVzc2FnZSIpOlJ9ZnVuY3Rpb24gUChSLGIsRSl7aWYoWyJyZWNvdmVyZWQiLCJjYW5vbmljYWwiXS5zb21lKFY9PlYgaW4gRSkpdGhyb3cgbmV3IEVycm9yKCJzaWduKCkgbGVnYWN5IG9wdGlvbnMgbm90IHN1cHBvcnRlZCIpO2NvbnN0e2xvd1M6RCxwcmVoYXNoOk8sZXh0cmFFbnRyb3B5Okl9PWtvKEUsZCk7Uj1CKFIsTyk7Y29uc3QgTj1fKFIpLCQ9S3IobyxiKSxrPVtUKCQpLFQoTildO2lmKEkhPW51bGwmJkkhPT0hMSl7Y29uc3QgVj1JPT09ITA/bihwLnNlY3JldEtleSk6STtrLnB1c2goSWUoImV4dHJhRW50cm9weSIsVikpfWNvbnN0IHo9SXQoLi4uayksaj1OO2Z1bmN0aW9uIHEoVil7Y29uc3QgVz1tKFYpO2lmKCFvLmlzVmFsaWROb3QwKFcpKXJldHVybjtjb25zdCBHPW8uaW52KFcpLEg9dC5CQVNFLm11bHRpcGx5KFcpLnRvQWZmaW5lKCksWD1vLmNyZWF0ZShILngpO2lmKFg9PT1OdClyZXR1cm47Y29uc3QgYWU9by5jcmVhdGUoRypvLmNyZWF0ZShqK1gqJCkpO2lmKGFlPT09TnQpcmV0dXJuO2xldCBEZT0oSC54PT09WD8wOjIpfE51bWJlcihILnkmanIpLEFlPWFlO3JldHVybiBEJiZ5KGFlKSYmKEFlPW8ubmVnKGFlKSxEZV49MSksbmV3IHcoWCxBZSxEZSl9cmV0dXJue3NlZWQ6eixrMnNpZzpxfX1mdW5jdGlvbiBVKFIsYixFPXt9KXtSPUllKCJtZXNzYWdlIixSKTtjb25zdHtzZWVkOkQsazJzaWc6T309UChSLGIsRSk7cmV0dXJuIF9FKGUub3V0cHV0TGVuLG8uQllURVMsaSkoRCxPKX1mdW5jdGlvbiBMKFIpe2xldCBiO2NvbnN0IEU9dHlwZW9mIFI9PSJzdHJpbmcifHxvaShSKSxEPSFFJiZSIT09bnVsbCYmdHlwZW9mIFI9PSJvYmplY3QiJiZ0eXBlb2YgUi5yPT0iYmlnaW50IiYmdHlwZW9mIFIucz09ImJpZ2ludCI7aWYoIUUmJiFEKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaWduYXR1cmUsIGV4cGVjdGVkIFVpbnQ4QXJyYXksIGhleCBzdHJpbmcgb3IgU2lnbmF0dXJlIGluc3RhbmNlIik7aWYoRCliPW5ldyB3KFIucixSLnMpO2Vsc2UgaWYoRSl7dHJ5e2I9dy5mcm9tQnl0ZXMoSWUoInNpZyIsUiksImRlciIpfWNhdGNoKE8pe2lmKCEoTyBpbnN0YW5jZW9mIFJ0LkVycikpdGhyb3cgT31pZighYil0cnl7Yj13LmZyb21CeXRlcyhJZSgic2lnIixSKSwiY29tcGFjdCIpfWNhdGNoe3JldHVybiExfX1yZXR1cm4gYnx8ITF9ZnVuY3Rpb24gQyhSLGIsRSxEPXt9KXtjb25zdHtsb3dTOk8scHJlaGFzaDpJLGZvcm1hdDpOfT1rbyhELGQpO2lmKEU9SWUoInB1YmxpY0tleSIsRSksYj1CKEllKCJtZXNzYWdlIixiKSxJKSwic3RyaWN0ImluIEQpdGhyb3cgbmV3IEVycm9yKCJvcHRpb25zLnN0cmljdCB3YXMgcmVuYW1lZCB0byBsb3dTIik7Y29uc3QgJD1OPT09dm9pZCAwP0woUik6dy5mcm9tQnl0ZXMoSWUoInNpZyIsUiksTik7aWYoJD09PSExKXJldHVybiExO3RyeXtjb25zdCBrPXQuZnJvbUJ5dGVzKEUpO2lmKE8mJiQuaGFzSGlnaFMoKSlyZXR1cm4hMTtjb25zdHtyOnosczpqfT0kLHE9XyhiKSxWPW8uaW52KGopLFc9by5jcmVhdGUocSpWKSxHPW8uY3JlYXRlKHoqViksSD10LkJBU0UubXVsdGlwbHlVbnNhZmUoVykuYWRkKGsubXVsdGlwbHlVbnNhZmUoRykpO3JldHVybiBILmlzMCgpPyExOm8uY3JlYXRlKEgueCk9PT16fWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBTKFIsYixFPXt9KXtjb25zdHtwcmVoYXNoOkR9PWtvKEUsZCk7cmV0dXJuIGI9QihiLEQpLHcuZnJvbUJ5dGVzKFIsInJlY292ZXJlZCIpLnJlY292ZXJQdWJsaWNLZXkoYikudG9CeXRlcygpfXJldHVybiBPYmplY3QuZnJlZXplKHtrZXlnZW46dSxnZXRQdWJsaWNLZXk6bCxnZXRTaGFyZWRTZWNyZXQ6aCx1dGlsczpmLGxlbmd0aHM6cCxQb2ludDp0LHNpZ246VSx2ZXJpZnk6QyxyZWNvdmVyUHVibGljS2V5OlMsU2lnbmF0dXJlOncsaGFzaDplfSl9ZnVuY3Rpb24gZXYodCl7Y29uc3QgZT17YTp0LmEsYjp0LmIscDp0LkZwLk9SREVSLG46dC5uLGg6dC5oLEd4OnQuR3gsR3k6dC5HeX0scj10LkZwO2xldCBuPXQuYWxsb3dlZFByaXZhdGVLZXlMZW5ndGhzP0FycmF5LmZyb20obmV3IFNldCh0LmFsbG93ZWRQcml2YXRlS2V5TGVuZ3Rocy5tYXAobz0+TWF0aC5jZWlsKG8vMikpKSk6dm9pZCAwO2NvbnN0IGk9aXIoZS5uLHtCSVRTOnQubkJpdExlbmd0aCxhbGxvd2VkTGVuZ3RoczpuLG1vZEZyb21CeXRlczp0LndyYXBQcml2YXRlS2V5fSkscz17RnA6cixGbjppLGFsbG93SW5maW5pdHlQb2ludDp0LmFsbG93SW5maW5pdHlQb2ludCxlbmRvOnQuZW5kbyxpc1RvcnNpb25GcmVlOnQuaXNUb3JzaW9uRnJlZSxjbGVhckNvZmFjdG9yOnQuY2xlYXJDb2ZhY3Rvcixmcm9tQnl0ZXM6dC5mcm9tQnl0ZXMsdG9CeXRlczp0LnRvQnl0ZXN9O3JldHVybntDVVJWRTplLGN1cnZlT3B0czpzfX1mdW5jdGlvbiB0dih0KXtjb25zdHtDVVJWRTplLGN1cnZlT3B0czpyfT1ldih0KSxuPXtobWFjOnQuaG1hYyxyYW5kb21CeXRlczp0LnJhbmRvbUJ5dGVzLGxvd1M6dC5sb3dTLGJpdHMyaW50OnQuYml0czJpbnQsYml0czJpbnRfbW9kTjp0LmJpdHMyaW50X21vZE59O3JldHVybntDVVJWRTplLGN1cnZlT3B0czpyLGhhc2g6dC5oYXNoLGVjZHNhT3B0czpufX1mdW5jdGlvbiBydih0LGUpe2NvbnN0IHI9ZS5Qb2ludDtyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLHtQcm9qZWN0aXZlUG9pbnQ6cixDVVJWRTpPYmplY3QuYXNzaWduKHt9LHQsSGwoci5Gbi5PUkRFUixyLkZuLkJJVFMpKX0pfWZ1bmN0aW9uIG52KHQpe2NvbnN0e0NVUlZFOmUsY3VydmVPcHRzOnIsaGFzaDpuLGVjZHNhT3B0czppfT10dih0KSxzPVhFKGUsciksbz1RRShzLG4saSk7cmV0dXJuIHJ2KHQsbyl9LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2Z1bmN0aW9uIE1vKHQsZSl7Y29uc3Qgcj1uPT5udih7Li4udCxoYXNoOm59KTtyZXR1cm57Li4ucihlKSxjcmVhdGU6cn19LyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL2NvbnN0IG9oPXtwOkJpZ0ludCgiMHhmZmZmZmZmZjAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiksbjpCaWdJbnQoIjB4ZmZmZmZmZmYwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZiY2U2ZmFhZGE3MTc5ZTg0ZjNiOWNhYzJmYzYzMjU1MSIpLGg6QmlnSW50KDEpLGE6QmlnSW50KCIweGZmZmZmZmZmMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMiKSxiOkJpZ0ludCgiMHg1YWM2MzVkOGFhM2E5M2U3YjNlYmJkNTU3Njk4ODZiYzY1MWQwNmIwY2M1M2IwZjYzYmNlM2MzZTI3ZDI2MDRiIiksR3g6QmlnSW50KCIweDZiMTdkMWYyZTEyYzQyNDdmOGJjZTZlNTYzYTQ0MGYyNzcwMzdkODEyZGViMzNhMGY0YTEzOTQ1ZDg5OGMyOTYiKSxHeTpCaWdJbnQoIjB4NGZlMzQyZTJmZTFhN2Y5YjhlZTdlYjRhN2MwZjllMTYyYmNlMzM1NzZiMzE1ZWNlY2JiNjQwNjgzN2JmNTFmNSIpfSxhaD17cDpCaWdJbnQoIjB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmIiksbjpCaWdJbnQoIjB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYzc2MzRkODFmNDM3MmRkZjU4MWEwZGIyNDhiMGE3N2FlY2VjMTk2YWNjYzUyOTczIiksaDpCaWdJbnQoMSksYTpCaWdJbnQoIjB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZjIiksYjpCaWdJbnQoIjB4YjMzMTJmYTdlMjNlZTdlNDk4OGUwNTZiZTNmODJkMTkxODFkOWM2ZWZlODE0MTEyMDMxNDA4OGY1MDEzODc1YWM2NTYzOThkOGEyZWQxOWQyYTg1YzhlZGQzZWMyYWVmIiksR3g6QmlnSW50KCIweGFhODdjYTIyYmU4YjA1Mzc4ZWIxYzcxZWYzMjBhZDc0NmUxZDNiNjI4YmE3OWI5ODU5Zjc0MWUwODI1NDJhMzg1NTAyZjI1ZGJmNTUyOTZjM2E1NDVlMzg3Mjc2MGFiNyIpLEd5OkJpZ0ludCgiMHgzNjE3ZGU0YTk2MjYyYzZmNWQ5ZTk4YmY5MjkyZGMyOWY4ZjQxZGJkMjg5YTE0N2NlOWRhMzExM2I1ZjBiOGMwMGE2MGIxY2UxZDdlODE5ZDdhNDMxZDdjOTBlYTBlNWYiKX0sY2g9e3A6QmlnSW50KCIweDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiksbjpCaWdJbnQoIjB4MDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmE1MTg2ODc4M2JmMmY5NjZiN2ZjYzAxNDhmNzA5YTVkMDNiYjVjOWI4ODk5YzQ3YWViYjZmYjcxZTkxMzg2NDA5IiksaDpCaWdJbnQoMSksYTpCaWdJbnQoIjB4MWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMiKSxiOkJpZ0ludCgiMHgwMDUxOTUzZWI5NjE4ZTFjOWExZjkyOWEyMWEwYjY4NTQwZWVhMmRhNzI1Yjk5YjMxNWYzYjhiNDg5OTE4ZWYxMDllMTU2MTkzOTUxZWM3ZTkzN2IxNjUyYzBiZDNiYjFiZjA3MzU3M2RmODgzZDJjMzRmMWVmNDUxZmQ0NmI1MDNmMDAiKSxHeDpCaWdJbnQoIjB4MDBjNjg1OGUwNmI3MDQwNGU5Y2Q5ZTNlY2I2NjIzOTViNDQyOWM2NDgxMzkwNTNmYjUyMWY4MjhhZjYwNmI0ZDNkYmFhMTRiNWU3N2VmZTc1OTI4ZmUxZGMxMjdhMmZmYThkZTMzNDhiM2MxODU2YTQyOWJmOTdlN2UzMWMyZTViZDY2IiksR3k6QmlnSW50KCIweDAxMTgzOTI5NmE3ODlhM2JjMDA0NWM4YTVmYjQyYzdkMWJkOTk4ZjU0NDQ5NTc5YjQ0NjgxN2FmYmQxNzI3M2U2NjJjOTdlZTcyOTk1ZWY0MjY0MGM1NTBiOTAxM2ZhZDA3NjEzNTNjNzA4NmEyNzJjMjQwODhiZTk0NzY5ZmQxNjY1MCIpfSxpdj1pcihvaC5wKSxzdj1pcihhaC5wKSxvdj1pcihjaC5wKSxhdj1Nbyh7Li4ub2gsRnA6aXYsbG93UzohMX0sZm4pO01vKHsuLi5haCxGcDpzdixsb3dTOiExfSx6bSksTW8oey4uLmNoLEZwOm92LGxvd1M6ITEsYWxsb3dlZFByaXZhdGVLZXlMZW5ndGhzOlsxMzAsMTMxLDEzMl19LHFtKTsvKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovY29uc3QgY3Y9YXYsdXY9e3dha3U6e3B1Ymxpc2g6Indha3VfcHVibGlzaCIsYmF0Y2hQdWJsaXNoOiJ3YWt1X2JhdGNoUHVibGlzaCIsc3Vic2NyaWJlOiJ3YWt1X3N1YnNjcmliZSIsYmF0Y2hTdWJzY3JpYmU6Indha3VfYmF0Y2hTdWJzY3JpYmUiLHN1YnNjcmlwdGlvbjoid2FrdV9zdWJzY3JpcHRpb24iLHVuc3Vic2NyaWJlOiJ3YWt1X3Vuc3Vic2NyaWJlIixiYXRjaFVuc3Vic2NyaWJlOiJ3YWt1X2JhdGNoVW5zdWJzY3JpYmUiLGJhdGNoRmV0Y2hNZXNzYWdlczoid2FrdV9iYXRjaEZldGNoTWVzc2FnZXMifSxpcm46e3B1Ymxpc2g6Imlybl9wdWJsaXNoIixiYXRjaFB1Ymxpc2g6Imlybl9iYXRjaFB1Ymxpc2giLHN1YnNjcmliZToiaXJuX3N1YnNjcmliZSIsYmF0Y2hTdWJzY3JpYmU6Imlybl9iYXRjaFN1YnNjcmliZSIsc3Vic2NyaXB0aW9uOiJpcm5fc3Vic2NyaXB0aW9uIix1bnN1YnNjcmliZToiaXJuX3Vuc3Vic2NyaWJlIixiYXRjaFVuc3Vic2NyaWJlOiJpcm5fYmF0Y2hVbnN1YnNjcmliZSIsYmF0Y2hGZXRjaE1lc3NhZ2VzOiJpcm5fYmF0Y2hGZXRjaE1lc3NhZ2VzIn0saXJpZGl1bTp7cHVibGlzaDoiaXJpZGl1bV9wdWJsaXNoIixiYXRjaFB1Ymxpc2g6ImlyaWRpdW1fYmF0Y2hQdWJsaXNoIixzdWJzY3JpYmU6ImlyaWRpdW1fc3Vic2NyaWJlIixiYXRjaFN1YnNjcmliZToiaXJpZGl1bV9iYXRjaFN1YnNjcmliZSIsc3Vic2NyaXB0aW9uOiJpcmlkaXVtX3N1YnNjcmlwdGlvbiIsdW5zdWJzY3JpYmU6ImlyaWRpdW1fdW5zdWJzY3JpYmUiLGJhdGNoVW5zdWJzY3JpYmU6ImlyaWRpdW1fYmF0Y2hVbnN1YnNjcmliZSIsYmF0Y2hGZXRjaE1lc3NhZ2VzOiJpcmlkaXVtX2JhdGNoRmV0Y2hNZXNzYWdlcyJ9fTt2YXIgRm8sdWg7ZnVuY3Rpb24gbGgoKXtpZih1aClyZXR1cm4gRm87dWg9MTtjb25zdCB0PSJJbnB1dCBtdXN0IGJlIGFuIHN0cmluZywgQnVmZmVyIG9yIFVpbnQ4QXJyYXkiO2Z1bmN0aW9uIGUobyl7bGV0IGE7aWYobyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1vO2Vsc2UgaWYodHlwZW9mIG89PSJzdHJpbmciKWE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKG8pO2Vsc2UgdGhyb3cgbmV3IEVycm9yKHQpO3JldHVybiBhfWZ1bmN0aW9uIHIobyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvLGZ1bmN0aW9uKGEpe3JldHVybihhPDE2PyIwIjoiIikrYS50b1N0cmluZygxNil9KS5qb2luKCIiKX1mdW5jdGlvbiBuKG8pe3JldHVybig0Mjk0OTY3Mjk2K28pLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSl9ZnVuY3Rpb24gaShvLGEsYyl7bGV0IHU9YApgK28rIiA9ICI7Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKz0yKXtpZihjPT09MzIpdSs9bihhW2xdKS50b1VwcGVyQ2FzZSgpLHUrPSIgIix1Kz1uKGFbbCsxXSkudG9VcHBlckNhc2UoKTtlbHNlIGlmKGM9PT02NCl1Kz1uKGFbbCsxXSkudG9VcHBlckNhc2UoKSx1Kz1uKGFbbF0pLnRvVXBwZXJDYXNlKCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2l6ZSAiK2MpO2wlNj09PTQ/dSs9YApgK25ldyBBcnJheShvLmxlbmd0aCs0KS5qb2luKCIgIik6bDxhLmxlbmd0aC0yJiYodSs9IiAiKX1jb25zb2xlLmxvZyh1KX1mdW5jdGlvbiBzKG8sYSxjKXtsZXQgdT1uZXcgRGF0ZSgpLmdldFRpbWUoKTtjb25zdCBsPW5ldyBVaW50OEFycmF5KGEpO2ZvcihsZXQgZj0wO2Y8YTtmKyspbFtmXT1mJTI1Njtjb25zdCBoPW5ldyBEYXRlKCkuZ2V0VGltZSgpO2NvbnNvbGUubG9nKCJHZW5lcmF0ZWQgcmFuZG9tIGlucHV0IGluICIrKGgtdSkrIm1zIiksdT1oO2ZvcihsZXQgZj0wO2Y8YztmKyspe2NvbnN0IHA9byhsKSxkPW5ldyBEYXRlKCkuZ2V0VGltZSgpLGc9ZC11O3U9ZCxjb25zb2xlLmxvZygiSGFzaGVkIGluICIrZysibXM6ICIrcC5zdWJzdHJpbmcoMCwyMCkrIi4uLiIpLGNvbnNvbGUubG9nKE1hdGgucm91bmQoYS8oMTw8MjApLyhnLzFlMykqMTAwKS8xMDArIiBNQiBQRVIgU0VDT05EIil9fXJldHVybiBGbz17bm9ybWFsaXplSW5wdXQ6ZSx0b0hleDpyLGRlYnVnUHJpbnQ6aSx0ZXN0U3BlZWQ6c30sRm99dmFyIHFvLGhoO2Z1bmN0aW9uIGx2KCl7aWYoaGgpcmV0dXJuIHFvO2hoPTE7Y29uc3QgdD1saCgpO2Z1bmN0aW9uIGUodixBLHcpe2NvbnN0IG09dltBXSt2W3ddO2xldCBfPXZbQSsxXSt2W3crMV07bT49NDI5NDk2NzI5NiYmXysrLHZbQV09bSx2W0ErMV09X31mdW5jdGlvbiByKHYsQSx3LG0pe2xldCBfPXZbQV0rdzt3PDAmJihfKz00Mjk0OTY3Mjk2KTtsZXQgeD12W0ErMV0rbTtfPj00Mjk0OTY3Mjk2JiZ4KyssdltBXT1fLHZbQSsxXT14fWZ1bmN0aW9uIG4odixBKXtyZXR1cm4gdltBXV52W0ErMV08PDhedltBKzJdPDwxNl52W0ErM108PDI0fWZ1bmN0aW9uIGkodixBLHcsbSxfLHgpe2NvbnN0IFQ9dVtfXSxCPXVbXysxXSxQPXVbeF0sVT11W3grMV07ZShjLHYsQSkscihjLHYsVCxCKTtsZXQgTD1jW21dXmNbdl0sQz1jW20rMV1eY1t2KzFdO2NbbV09QyxjW20rMV09TCxlKGMsdyxtKSxMPWNbQV1eY1t3XSxDPWNbQSsxXV5jW3crMV0sY1tBXT1MPj4+MjReQzw8OCxjW0ErMV09Qz4+PjI0Xkw8PDgsZShjLHYsQSkscihjLHYsUCxVKSxMPWNbbV1eY1t2XSxDPWNbbSsxXV5jW3YrMV0sY1ttXT1MPj4+MTZeQzw8MTYsY1ttKzFdPUM+Pj4xNl5MPDwxNixlKGMsdyxtKSxMPWNbQV1eY1t3XSxDPWNbQSsxXV5jW3crMV0sY1tBXT1DPj4+MzFeTDw8MSxjW0ErMV09TD4+PjMxXkM8PDF9Y29uc3Qgcz1uZXcgVWludDMyQXJyYXkoWzQwODkyMzU3MjAsMTc3OTAzMzcwMywyMjI3ODczNTk1LDMxNDQxMzQyNzcsNDI3MTE3NTcyMywxMDEzOTA0MjQyLDE1OTU3NTAxMjksMjc3MzQ4MDc2MiwyOTE3NTY1MTM3LDEzNTk4OTMxMTksNzI1NTExMTk5LDI2MDA4MjI5MjQsNDIxNTM4OTU0Nyw1Mjg3MzQ2MzUsMzI3MDMzMjA5LDE1NDE0NTkyMjVdKSxvPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE0LDEwLDQsOCw5LDE1LDEzLDYsMSwxMiwwLDIsMTEsNyw1LDMsMTEsOCwxMiwwLDUsMiwxNSwxMywxMCwxNCwzLDYsNywxLDksNCw3LDksMywxLDEzLDEyLDExLDE0LDIsNiw1LDEwLDQsMCwxNSw4LDksMCw1LDcsMiw0LDEwLDE1LDE0LDEsMTEsMTIsNiw4LDMsMTMsMiwxMiw2LDEwLDAsMTEsOCwzLDQsMTMsNyw1LDE1LDE0LDEsOSwxMiw1LDEsMTUsMTQsMTMsNCwxMCwwLDcsNiwzLDksMiw4LDExLDEzLDExLDcsMTQsMTIsMSwzLDksNSwwLDE1LDQsOCw2LDIsMTAsNiwxNSwxNCw5LDExLDMsMCw4LDEyLDIsMTMsNywxLDQsMTAsNSwxMCwyLDgsNCw3LDYsMSw1LDE1LDExLDksMTQsMywxMiwxMywwLDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTQsMTAsNCw4LDksMTUsMTMsNiwxLDEyLDAsMiwxMSw3LDUsM10sYT1uZXcgVWludDhBcnJheShvLm1hcChmdW5jdGlvbih2KXtyZXR1cm4gdioyfSkpLGM9bmV3IFVpbnQzMkFycmF5KDMyKSx1PW5ldyBVaW50MzJBcnJheSgzMik7ZnVuY3Rpb24gbCh2LEEpe2xldCB3PTA7Zm9yKHc9MDt3PDE2O3crKyljW3ddPXYuaFt3XSxjW3crMTZdPXNbd107Zm9yKGNbMjRdPWNbMjRdXnYudCxjWzI1XT1jWzI1XV52LnQvNDI5NDk2NzI5NixBJiYoY1syOF09fmNbMjhdLGNbMjldPX5jWzI5XSksdz0wO3c8MzI7dysrKXVbd109bih2LmIsNCp3KTtmb3Iodz0wO3c8MTI7dysrKWkoMCw4LDE2LDI0LGFbdyoxNiswXSxhW3cqMTYrMV0pLGkoMiwxMCwxOCwyNixhW3cqMTYrMl0sYVt3KjE2KzNdKSxpKDQsMTIsMjAsMjgsYVt3KjE2KzRdLGFbdyoxNis1XSksaSg2LDE0LDIyLDMwLGFbdyoxNis2XSxhW3cqMTYrN10pLGkoMCwxMCwyMCwzMCxhW3cqMTYrOF0sYVt3KjE2KzldKSxpKDIsMTIsMjIsMjQsYVt3KjE2KzEwXSxhW3cqMTYrMTFdKSxpKDQsMTQsMTYsMjYsYVt3KjE2KzEyXSxhW3cqMTYrMTNdKSxpKDYsOCwxOCwyOCxhW3cqMTYrMTRdLGFbdyoxNisxNV0pO2Zvcih3PTA7dzwxNjt3Kyspdi5oW3ddPXYuaFt3XV5jW3ddXmNbdysxNl19Y29uc3QgaD1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pO2Z1bmN0aW9uIGYodixBLHcsbSl7aWYodj09PTB8fHY+NjQpdGhyb3cgbmV3IEVycm9yKCJJbGxlZ2FsIG91dHB1dCBsZW5ndGgsIGV4cGVjdGVkIDAgPCBsZW5ndGggPD0gNjQiKTtpZihBJiZBLmxlbmd0aD42NCl0aHJvdyBuZXcgRXJyb3IoIklsbGVnYWwga2V5LCBleHBlY3RlZCBVaW50OEFycmF5IHdpdGggMCA8IGxlbmd0aCA8PSA2NCIpO2lmKHcmJncubGVuZ3RoIT09MTYpdGhyb3cgbmV3IEVycm9yKCJJbGxlZ2FsIHNhbHQsIGV4cGVjdGVkIFVpbnQ4QXJyYXkgd2l0aCBsZW5ndGggaXMgMTYiKTtpZihtJiZtLmxlbmd0aCE9PTE2KXRocm93IG5ldyBFcnJvcigiSWxsZWdhbCBwZXJzb25hbCwgZXhwZWN0ZWQgVWludDhBcnJheSB3aXRoIGxlbmd0aCBpcyAxNiIpO2NvbnN0IF89e2I6bmV3IFVpbnQ4QXJyYXkoMTI4KSxoOm5ldyBVaW50MzJBcnJheSgxNiksdDowLGM6MCxvdXRsZW46dn07aC5maWxsKDApLGhbMF09dixBJiYoaFsxXT1BLmxlbmd0aCksaFsyXT0xLGhbM109MSx3JiZoLnNldCh3LDMyKSxtJiZoLnNldChtLDQ4KTtmb3IobGV0IHg9MDt4PDE2O3grKylfLmhbeF09c1t4XV5uKGgseCo0KTtyZXR1cm4gQSYmKHAoXyxBKSxfLmM9MTI4KSxffWZ1bmN0aW9uIHAodixBKXtmb3IobGV0IHc9MDt3PEEubGVuZ3RoO3crKyl2LmM9PT0xMjgmJih2LnQrPXYuYyxsKHYsITEpLHYuYz0wKSx2LmJbdi5jKytdPUFbd119ZnVuY3Rpb24gZCh2KXtmb3Iodi50Kz12LmM7di5jPDEyODspdi5iW3YuYysrXT0wO2wodiwhMCk7Y29uc3QgQT1uZXcgVWludDhBcnJheSh2Lm91dGxlbik7Zm9yKGxldCB3PTA7dzx2Lm91dGxlbjt3KyspQVt3XT12Lmhbdz4+Ml0+PjgqKHcmMyk7cmV0dXJuIEF9ZnVuY3Rpb24gZyh2LEEsdyxtLF8pe3c9d3x8NjQsdj10Lm5vcm1hbGl6ZUlucHV0KHYpLG0mJihtPXQubm9ybWFsaXplSW5wdXQobSkpLF8mJihfPXQubm9ybWFsaXplSW5wdXQoXykpO2NvbnN0IHg9Zih3LEEsbSxfKTtyZXR1cm4gcCh4LHYpLGQoeCl9ZnVuY3Rpb24geSh2LEEsdyxtLF8pe2NvbnN0IHg9Zyh2LEEsdyxtLF8pO3JldHVybiB0LnRvSGV4KHgpfXJldHVybiBxbz17Ymxha2UyYjpnLGJsYWtlMmJIZXg6eSxibGFrZTJiSW5pdDpmLGJsYWtlMmJVcGRhdGU6cCxibGFrZTJiRmluYWw6ZH0scW99dmFyIHpvLGZoO2Z1bmN0aW9uIGh2KCl7aWYoZmgpcmV0dXJuIHpvO2ZoPTE7Y29uc3QgdD1saCgpO2Z1bmN0aW9uIGUoZCxnKXtyZXR1cm4gZFtnXV5kW2crMV08PDheZFtnKzJdPDwxNl5kW2crM108PDI0fWZ1bmN0aW9uIHIoZCxnLHksdixBLHcpe29bZF09b1tkXStvW2ddK0Esb1t2XT1uKG9bdl1eb1tkXSwxNiksb1t5XT1vW3ldK29bdl0sb1tnXT1uKG9bZ11eb1t5XSwxMiksb1tkXT1vW2RdK29bZ10rdyxvW3ZdPW4ob1t2XV5vW2RdLDgpLG9beV09b1t5XStvW3ZdLG9bZ109bihvW2ddXm9beV0sNyl9ZnVuY3Rpb24gbihkLGcpe3JldHVybiBkPj4+Z15kPDwzMi1nfWNvbnN0IGk9bmV3IFVpbnQzMkFycmF5KFsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV0pLHM9bmV3IFVpbnQ4QXJyYXkoWzAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTQsMTAsNCw4LDksMTUsMTMsNiwxLDEyLDAsMiwxMSw3LDUsMywxMSw4LDEyLDAsNSwyLDE1LDEzLDEwLDE0LDMsNiw3LDEsOSw0LDcsOSwzLDEsMTMsMTIsMTEsMTQsMiw2LDUsMTAsNCwwLDE1LDgsOSwwLDUsNywyLDQsMTAsMTUsMTQsMSwxMSwxMiw2LDgsMywxMywyLDEyLDYsMTAsMCwxMSw4LDMsNCwxMyw3LDUsMTUsMTQsMSw5LDEyLDUsMSwxNSwxNCwxMyw0LDEwLDAsNyw2LDMsOSwyLDgsMTEsMTMsMTEsNywxNCwxMiwxLDMsOSw1LDAsMTUsNCw4LDYsMiwxMCw2LDE1LDE0LDksMTEsMywwLDgsMTIsMiwxMyw3LDEsNCwxMCw1LDEwLDIsOCw0LDcsNiwxLDUsMTUsMTEsOSwxNCwzLDEyLDEzLDBdKSxvPW5ldyBVaW50MzJBcnJheSgxNiksYT1uZXcgVWludDMyQXJyYXkoMTYpO2Z1bmN0aW9uIGMoZCxnKXtsZXQgeT0wO2Zvcih5PTA7eTw4O3krKylvW3ldPWQuaFt5XSxvW3krOF09aVt5XTtmb3Iob1sxMl1ePWQudCxvWzEzXV49ZC50LzQyOTQ5NjcyOTYsZyYmKG9bMTRdPX5vWzE0XSkseT0wO3k8MTY7eSsrKWFbeV09ZShkLmIsNCp5KTtmb3IoeT0wO3k8MTA7eSsrKXIoMCw0LDgsMTIsYVtzW3kqMTYrMF1dLGFbc1t5KjE2KzFdXSkscigxLDUsOSwxMyxhW3NbeSoxNisyXV0sYVtzW3kqMTYrM11dKSxyKDIsNiwxMCwxNCxhW3NbeSoxNis0XV0sYVtzW3kqMTYrNV1dKSxyKDMsNywxMSwxNSxhW3NbeSoxNis2XV0sYVtzW3kqMTYrN11dKSxyKDAsNSwxMCwxNSxhW3NbeSoxNis4XV0sYVtzW3kqMTYrOV1dKSxyKDEsNiwxMSwxMixhW3NbeSoxNisxMF1dLGFbc1t5KjE2KzExXV0pLHIoMiw3LDgsMTMsYVtzW3kqMTYrMTJdXSxhW3NbeSoxNisxM11dKSxyKDMsNCw5LDE0LGFbc1t5KjE2KzE0XV0sYVtzW3kqMTYrMTVdXSk7Zm9yKHk9MDt5PDg7eSsrKWQuaFt5XV49b1t5XV5vW3krOF19ZnVuY3Rpb24gdShkLGcpe2lmKCEoZD4wJiZkPD0zMikpdGhyb3cgbmV3IEVycm9yKCJJbmNvcnJlY3Qgb3V0cHV0IGxlbmd0aCwgc2hvdWxkIGJlIGluIFsxLCAzMl0iKTtjb25zdCB5PWc/Zy5sZW5ndGg6MDtpZihnJiYhKHk+MCYmeTw9MzIpKXRocm93IG5ldyBFcnJvcigiSW5jb3JyZWN0IGtleSBsZW5ndGgsIHNob3VsZCBiZSBpbiBbMSwgMzJdIik7Y29uc3Qgdj17aDpuZXcgVWludDMyQXJyYXkoaSksYjpuZXcgVWludDhBcnJheSg2NCksYzowLHQ6MCxvdXRsZW46ZH07cmV0dXJuIHYuaFswXV49MTY4NDI3NTJeeTw8OF5kLHk+MCYmKGwodixnKSx2LmM9NjQpLHZ9ZnVuY3Rpb24gbChkLGcpe2ZvcihsZXQgeT0wO3k8Zy5sZW5ndGg7eSsrKWQuYz09PTY0JiYoZC50Kz1kLmMsYyhkLCExKSxkLmM9MCksZC5iW2QuYysrXT1nW3ldfWZ1bmN0aW9uIGgoZCl7Zm9yKGQudCs9ZC5jO2QuYzw2NDspZC5iW2QuYysrXT0wO2MoZCwhMCk7Y29uc3QgZz1uZXcgVWludDhBcnJheShkLm91dGxlbik7Zm9yKGxldCB5PTA7eTxkLm91dGxlbjt5KyspZ1t5XT1kLmhbeT4+Ml0+PjgqKHkmMykmMjU1O3JldHVybiBnfWZ1bmN0aW9uIGYoZCxnLHkpe3k9eXx8MzIsZD10Lm5vcm1hbGl6ZUlucHV0KGQpO2NvbnN0IHY9dSh5LGcpO3JldHVybiBsKHYsZCksaCh2KX1mdW5jdGlvbiBwKGQsZyx5KXtjb25zdCB2PWYoZCxnLHkpO3JldHVybiB0LnRvSGV4KHYpfXJldHVybiB6bz17Ymxha2UyczpmLGJsYWtlMnNIZXg6cCxibGFrZTJzSW5pdDp1LGJsYWtlMnNVcGRhdGU6bCxibGFrZTJzRmluYWw6aH0sem99dmFyIGpvLGRoO2Z1bmN0aW9uIGZ2KCl7aWYoZGgpcmV0dXJuIGpvO2RoPTE7Y29uc3QgdD1sdigpLGU9aHYoKTtyZXR1cm4gam89e2JsYWtlMmI6dC5ibGFrZTJiLGJsYWtlMmJIZXg6dC5ibGFrZTJiSGV4LGJsYWtlMmJJbml0OnQuYmxha2UyYkluaXQsYmxha2UyYlVwZGF0ZTp0LmJsYWtlMmJVcGRhdGUsYmxha2UyYkZpbmFsOnQuYmxha2UyYkZpbmFsLGJsYWtlMnM6ZS5ibGFrZTJzLGJsYWtlMnNIZXg6ZS5ibGFrZTJzSGV4LGJsYWtlMnNJbml0OmUuYmxha2Uyc0luaXQsYmxha2Uyc1VwZGF0ZTplLmJsYWtlMnNVcGRhdGUsYmxha2Uyc0ZpbmFsOmUuYmxha2Uyc0ZpbmFsfSxqb312YXIgZHY9ZnYoKTtjb25zdCBwdj0iOiI7ZnVuY3Rpb24gUGkodCl7Y29uc3RbZSxyXT10LnNwbGl0KHB2KTtyZXR1cm57bmFtZXNwYWNlOmUscmVmZXJlbmNlOnJ9fWZ1bmN0aW9uIHBoKHQsZSl7cmV0dXJuIHQuaW5jbHVkZXMoIjoiKT9bdF06ZS5jaGFpbnN8fFtdfWNvbnN0IGd2PXtJTlZBTElEX01FVEhPRDp7bWVzc2FnZToiSW52YWxpZCBtZXRob2QuIixjb2RlOjEwMDF9LElOVkFMSURfRVZFTlQ6e21lc3NhZ2U6IkludmFsaWQgZXZlbnQuIixjb2RlOjEwMDJ9LElOVkFMSURfVVBEQVRFX1JFUVVFU1Q6e21lc3NhZ2U6IkludmFsaWQgdXBkYXRlIHJlcXVlc3QuIixjb2RlOjEwMDN9LElOVkFMSURfRVhURU5EX1JFUVVFU1Q6e21lc3NhZ2U6IkludmFsaWQgZXh0ZW5kIHJlcXVlc3QuIixjb2RlOjEwMDR9LElOVkFMSURfU0VTU0lPTl9TRVRUTEVfUkVRVUVTVDp7bWVzc2FnZToiSW52YWxpZCBzZXNzaW9uIHNldHRsZSByZXF1ZXN0LiIsY29kZToxMDA1fSxVTkFVVEhPUklaRURfTUVUSE9EOnttZXNzYWdlOiJVbmF1dGhvcml6ZWQgbWV0aG9kLiIsY29kZTozMDAxfSxVTkFVVEhPUklaRURfRVZFTlQ6e21lc3NhZ2U6IlVuYXV0aG9yaXplZCBldmVudC4iLGNvZGU6MzAwMn0sVU5BVVRIT1JJWkVEX1VQREFURV9SRVFVRVNUOnttZXNzYWdlOiJVbmF1dGhvcml6ZWQgdXBkYXRlIHJlcXVlc3QuIixjb2RlOjMwMDN9LFVOQVVUSE9SSVpFRF9FWFRFTkRfUkVRVUVTVDp7bWVzc2FnZToiVW5hdXRob3JpemVkIGV4dGVuZCByZXF1ZXN0LiIsY29kZTozMDA0fSxVU0VSX1JFSkVDVEVEOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkLiIsY29kZTo1ZTN9LFVTRVJfUkVKRUNURURfQ0hBSU5TOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkIGNoYWlucy4iLGNvZGU6NTAwMX0sVVNFUl9SRUpFQ1RFRF9NRVRIT0RTOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkIG1ldGhvZHMuIixjb2RlOjUwMDJ9LFVTRVJfUkVKRUNURURfRVZFTlRTOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkIGV2ZW50cy4iLGNvZGU6NTAwM30sVU5TVVBQT1JURURfQ0hBSU5TOnttZXNzYWdlOiJVbnN1cHBvcnRlZCBjaGFpbnMuIixjb2RlOjUxMDB9LFVOU1VQUE9SVEVEX01FVEhPRFM6e21lc3NhZ2U6IlVuc3VwcG9ydGVkIG1ldGhvZHMuIixjb2RlOjUxMDF9LFVOU1VQUE9SVEVEX0VWRU5UUzp7bWVzc2FnZToiVW5zdXBwb3J0ZWQgZXZlbnRzLiIsY29kZTo1MTAyfSxVTlNVUFBPUlRFRF9BQ0NPVU5UUzp7bWVzc2FnZToiVW5zdXBwb3J0ZWQgYWNjb3VudHMuIixjb2RlOjUxMDN9LFVOU1VQUE9SVEVEX05BTUVTUEFDRV9LRVk6e21lc3NhZ2U6IlVuc3VwcG9ydGVkIG5hbWVzcGFjZSBrZXkuIixjb2RlOjUxMDR9LFVTRVJfRElTQ09OTkVDVEVEOnttZXNzYWdlOiJVc2VyIGRpc2Nvbm5lY3RlZC4iLGNvZGU6NmUzfSxTRVNTSU9OX1NFVFRMRU1FTlRfRkFJTEVEOnttZXNzYWdlOiJTZXNzaW9uIHNldHRsZW1lbnQgZmFpbGVkLiIsY29kZTo3ZTN9LFdDX01FVEhPRF9VTlNVUFBPUlRFRDp7bWVzc2FnZToiVW5zdXBwb3J0ZWQgd2NfIG1ldGhvZC4iLGNvZGU6MTAwMDF9fSx5dj17Tk9UX0lOSVRJQUxJWkVEOnttZXNzYWdlOiJOb3QgaW5pdGlhbGl6ZWQuIixjb2RlOjF9LE5PX01BVENISU5HX0tFWTp7bWVzc2FnZToiTm8gbWF0Y2hpbmcga2V5LiIsY29kZToyfSxSRVNUT1JFX1dJTExfT1ZFUlJJREU6e21lc3NhZ2U6IlJlc3RvcmUgd2lsbCBvdmVycmlkZS4iLGNvZGU6M30sUkVTVUJTQ1JJQkVEOnttZXNzYWdlOiJSZXN1YnNjcmliZWQuIixjb2RlOjR9LE1JU1NJTkdfT1JfSU5WQUxJRDp7bWVzc2FnZToiTWlzc2luZyBvciBpbnZhbGlkLiIsY29kZTo1fSxFWFBJUkVEOnttZXNzYWdlOiJFeHBpcmVkLiIsY29kZTo2fSxVTktOT1dOX1RZUEU6e21lc3NhZ2U6IlVua25vd24gdHlwZS4iLGNvZGU6N30sTUlTTUFUQ0hFRF9UT1BJQzp7bWVzc2FnZToiTWlzbWF0Y2hlZCB0b3BpYy4iLGNvZGU6OH0sTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFUzp7bWVzc2FnZToiTm9uIGNvbmZvcm1pbmcgbmFtZXNwYWNlcy4iLGNvZGU6OX19O2Z1bmN0aW9uIEYodCxlKXtjb25zdHttZXNzYWdlOnIsY29kZTpufT15dlt0XTtyZXR1cm57bWVzc2FnZTplP2Ake3J9ICR7ZX1gOnIsY29kZTpufX1mdW5jdGlvbiBuZSh0LGUpe2NvbnN0e21lc3NhZ2U6cixjb2RlOm59PWd2W3RdO3JldHVybnttZXNzYWdlOmU/YCR7cn0gJHtlfWA6cixjb2RlOm59fWNvbnN0IHd2PSJSZWFjdE5hdGl2ZSIsemU9e3JlYWN0TmF0aXZlOiJyZWFjdC1uYXRpdmUiLG5vZGU6Im5vZGUiLGJyb3dzZXI6ImJyb3dzZXIiLHVua25vd246InVua25vd24ifSxtdj0ianMiO2Z1bmN0aW9uICRpKCl7cmV0dXJuIHR5cGVvZiBwcm9jZXNzPCJ1IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnM8InUiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlPCJ1In1mdW5jdGlvbiBzcigpe3JldHVybiFfdC5nZXREb2N1bWVudCgpJiYhIV90LmdldE5hdmlnYXRvcigpJiZuYXZpZ2F0b3IucHJvZHVjdD09PXd2fWZ1bmN0aW9uIGJ2KCl7cmV0dXJuIHNyKCkmJnR5cGVvZiBnbG9iYWw8InUiJiZ0eXBlb2YgZ2xvYmFsPy5QbGF0Zm9ybTwidSImJmdsb2JhbD8uUGxhdGZvcm0uT1M9PT0iYW5kcm9pZCJ9ZnVuY3Rpb24gRXYoKXtyZXR1cm4gc3IoKSYmdHlwZW9mIGdsb2JhbDwidSImJnR5cGVvZiBnbG9iYWw/LlBsYXRmb3JtPCJ1IiYmZ2xvYmFsPy5QbGF0Zm9ybS5PUz09PSJpb3MifWZ1bmN0aW9uIFZyKCl7cmV0dXJuISRpKCkmJiEhX3QuZ2V0TmF2aWdhdG9yKCkmJiEhX3QuZ2V0RG9jdW1lbnQoKX1mdW5jdGlvbiBJbigpe3JldHVybiBzcigpP3plLnJlYWN0TmF0aXZlOiRpKCk/emUubm9kZTpWcigpP3plLmJyb3dzZXI6emUudW5rbm93bn1mdW5jdGlvbiBnaCgpe3RyeXtyZXR1cm4gc3IoKSYmdHlwZW9mIGdsb2JhbDwidSImJnR5cGVvZiBnbG9iYWw/LkFwcGxpY2F0aW9uPCJ1Ij9nbG9iYWwuQXBwbGljYXRpb24/LmFwcGxpY2F0aW9uSWQ6dm9pZCAwfWNhdGNoe3JldHVybn19ZnVuY3Rpb24gdnYodCxlKXtjb25zdCByPW5ldyBVUkxTZWFyY2hQYXJhbXModCk7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLnNvcnQoKFtuXSxbaV0pPT5uLmxvY2FsZUNvbXBhcmUoaSkpLmZvckVhY2goKFtuLGldKT0+e2khPW51bGwmJnIuc2V0KG4sU3RyaW5nKGkpKX0pLHIudG9TdHJpbmcoKX1mdW5jdGlvbiBfdih0KXtjb25zdCBlPXloKCk7dHJ5e3JldHVybiB0Py51cmwmJmUudXJsJiZuZXcgVVJMKHQudXJsKS5ob3N0IT09bmV3IFVSTChlLnVybCkuaG9zdCYmKGNvbnNvbGUud2FybihgVGhlIGNvbmZpZ3VyZWQgV2FsbGV0Q29ubmVjdCAnbWV0YWRhdGEudXJsJzoke3QudXJsfSBkaWZmZXJzIGZyb20gdGhlIGFjdHVhbCBwYWdlIHVybDoke2UudXJsfS4gVGhpcyBpcyBwcm9iYWJseSB1bmludGVuZGVkIGFuZCBjYW4gbGVhZCB0byBpc3N1ZXMuYCksdC51cmw9ZS51cmwpLHQ/Lmljb25zPy5sZW5ndGgmJnQuaWNvbnMubGVuZ3RoPjAmJih0Lmljb25zPXQuaWNvbnMuZmlsdGVyKHI9PnIhPT0iIikpLHsuLi5lLC4uLnQsdXJsOnQ/LnVybHx8ZS51cmwsbmFtZTp0Py5uYW1lfHxlLm5hbWUsZGVzY3JpcHRpb246dD8uZGVzY3JpcHRpb258fGUuZGVzY3JpcHRpb24saWNvbnM6dD8uaWNvbnM/Lmxlbmd0aCYmdC5pY29ucy5sZW5ndGg+MD90Lmljb25zOmUuaWNvbnN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLndhcm4oIkVycm9yIHBvcHVsYXRpbmcgYXBwIG1ldGFkYXRhIixyKSx0fHxlfX1mdW5jdGlvbiB5aCgpe3JldHVybiBhbS5nZXRXaW5kb3dNZXRhZGF0YSgpfHx7bmFtZToiIixkZXNjcmlwdGlvbjoiIix1cmw6IiIsaWNvbnM6WyIiXX19ZnVuY3Rpb24geHYoKXtpZihJbigpPT09emUucmVhY3ROYXRpdmUmJnR5cGVvZiBnbG9iYWw8InUiJiZ0eXBlb2YgZ2xvYmFsPy5QbGF0Zm9ybTwidSIpe2NvbnN0e09TOnIsVmVyc2lvbjpufT1nbG9iYWwuUGxhdGZvcm07cmV0dXJuW3Isbl0uam9pbigiLSIpfWNvbnN0IHQ9ZW0oKTtpZih0PT09bnVsbClyZXR1cm4idW5rbm93biI7Y29uc3QgZT10Lm9zP3Qub3MucmVwbGFjZSgiICIsIiIpLnRvTG93ZXJDYXNlKCk6InVua25vd24iO3JldHVybiB0LnR5cGU9PT0iYnJvd3NlciI/W2UsdC5uYW1lLHQudmVyc2lvbl0uam9pbigiLSIpOltlLHQudmVyc2lvbl0uam9pbigiLSIpfWZ1bmN0aW9uIFN2KCl7Y29uc3QgdD1JbigpO3JldHVybiB0PT09emUuYnJvd3Nlcj9bdCxfdC5nZXRMb2NhdGlvbigpPy5ob3N0fHwidW5rbm93biJdLmpvaW4oIjoiKTp0fWZ1bmN0aW9uIHdoKHQsZSxyKXtjb25zdCBuPXh2KCksaT1TdigpO3JldHVybltbdCxlXS5qb2luKCItIiksW212LHJdLmpvaW4oIi0iKSxuLGldLmpvaW4oIi8iKX1mdW5jdGlvbiBJdih7cHJvdG9jb2w6dCx2ZXJzaW9uOmUscmVsYXlVcmw6cixzZGtWZXJzaW9uOm4sYXV0aDppLHByb2plY3RJZDpzLHVzZU9uQ2xvc2VFdmVudDpvLGJ1bmRsZUlkOmEscGFja2FnZU5hbWU6Y30pe2NvbnN0IHU9ci5zcGxpdCgiPyIpLGw9d2godCxlLG4pLGg9e2F1dGg6aSx1YTpsLHByb2plY3RJZDpzLHVzZU9uQ2xvc2VFdmVudDpvLHBhY2thZ2VOYW1lOmN8fHZvaWQgMCxidW5kbGVJZDphfHx2b2lkIDB9LGY9dnYodVsxXXx8IiIsaCk7cmV0dXJuIHVbMF0rIj8iK2Z9ZnVuY3Rpb24gdnIodCxlKXtyZXR1cm4gdC5maWx0ZXIocj0+ZS5pbmNsdWRlcyhyKSkubGVuZ3RoPT09dC5sZW5ndGh9ZnVuY3Rpb24gS28odCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyh0LmVudHJpZXMoKSl9ZnVuY3Rpb24gVm8odCl7cmV0dXJuIG5ldyBNYXAoT2JqZWN0LmVudHJpZXModCkpfWZ1bmN0aW9uIF9yKHQ9TS5GSVZFX01JTlVURVMsZSl7Y29uc3Qgcj1NLnRvTWlsaXNlY29uZHModHx8TS5GSVZFX01JTlVURVMpO2xldCBuLGkscyxvO3JldHVybntyZXNvbHZlOmE9PntzJiZuJiYoY2xlYXJUaW1lb3V0KHMpLG4oYSksbz1Qcm9taXNlLnJlc29sdmUoYSkpfSxyZWplY3Q6YT0+e3MmJmkmJihjbGVhclRpbWVvdXQocyksaShhKSl9LGRvbmU6KCk9Pm5ldyBQcm9taXNlKChhLGMpPT57aWYobylyZXR1cm4gYShvKTtzPXNldFRpbWVvdXQoKCk9Pntjb25zdCB1PUYoIkVYUElSRUQiKSxsPW5ldyBFcnJvcihlfHx1Lm1lc3NhZ2UpO2wuY29kZT11LmNvZGUsYyhsKX0sciksbj1hLGk9Y30pfX1mdW5jdGlvbiBudCh0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jKG4saSk9Pntjb25zdCBzPXNldFRpbWVvdXQoKCk9PmkobmV3IEVycm9yKHIpKSxlKTt0cnl7Y29uc3Qgbz1hd2FpdCB0O24obyl9Y2F0Y2gobyl7aShvKX1jbGVhclRpbWVvdXQocyl9KX1mdW5jdGlvbiBtaCh0LGUpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIiYmZS5zdGFydHNXaXRoKGAke3R9OmApKXJldHVybiBlO2lmKHQudG9Mb3dlckNhc2UoKT09PSJ0b3BpYyIpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoJ1ZhbHVlIG11c3QgYmUgInN0cmluZyIgZm9yIGV4cGlyZXIgdGFyZ2V0IHR5cGU6IHRvcGljJyk7cmV0dXJuYHRvcGljOiR7ZX1gfWVsc2UgaWYodC50b0xvd2VyQ2FzZSgpPT09ImlkIil7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBFcnJvcignVmFsdWUgbXVzdCBiZSAibnVtYmVyIiBmb3IgZXhwaXJlciB0YXJnZXQgdHlwZTogaWQnKTtyZXR1cm5gaWQ6JHtlfWB9dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGV4cGlyZXIgdGFyZ2V0IHR5cGU6ICR7dH1gKX1mdW5jdGlvbiBEdih0KXtyZXR1cm4gbWgoInRvcGljIix0KX1mdW5jdGlvbiBBdih0KXtyZXR1cm4gbWgoImlkIix0KX1mdW5jdGlvbiBiaCh0KXtjb25zdFtlLHJdPXQuc3BsaXQoIjoiKSxuPXtpZDp2b2lkIDAsdG9waWM6dm9pZCAwfTtpZihlPT09InRvcGljIiYmdHlwZW9mIHI9PSJzdHJpbmciKW4udG9waWM9cjtlbHNlIGlmKGU9PT0iaWQiJiZOdW1iZXIuaXNJbnRlZ2VyKE51bWJlcihyKSkpbi5pZD1OdW1iZXIocik7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFyZ2V0LCBleHBlY3RlZCBpZDpudW1iZXIgb3IgdG9waWM6c3RyaW5nLCBnb3QgJHtlfToke3J9YCk7cmV0dXJuIG59ZnVuY3Rpb24gbGUodCxlKXtyZXR1cm4gTS5mcm9tTWlsaXNlY29uZHMoRGF0ZS5ub3coKStNLnRvTWlsaXNlY29uZHModCkpfWZ1bmN0aW9uIG9yKHQpe3JldHVybiBEYXRlLm5vdygpPj1NLnRvTWlsaXNlY29uZHModCl9ZnVuY3Rpb24gUSh0LGUpe3JldHVybmAke3R9JHtlP2A6JHtlfWA6IiJ9YH1mdW5jdGlvbiB4cih0PVtdLGU9W10pe3JldHVyblsuLi5uZXcgU2V0KFsuLi50LC4uLmVdKV19YXN5bmMgZnVuY3Rpb24gT3Yoe2lkOnQsdG9waWM6ZSx3Y0RlZXBMaW5rOnJ9KXt0cnl7aWYoIXIpcmV0dXJuO2NvbnN0IG49KHR5cGVvZiByPT0ic3RyaW5nIj9KU09OLnBhcnNlKHIpOnIpPy5ocmVmO2lmKHR5cGVvZiBuIT0ic3RyaW5nIilyZXR1cm47Y29uc3QgaT1UdihuLHQsZSkscz1JbigpO2lmKHM9PT16ZS5icm93c2VyKXtpZighX3QuZ2V0RG9jdW1lbnQoKT8uaGFzRm9jdXMoKSl7Y29uc29sZS53YXJuKCJEb2N1bWVudCBkb2VzIG5vdCBoYXZlIGZvY3VzLCBza2lwcGluZyBkZWVwbGluay4iKTtyZXR1cm59QnYoaSl9ZWxzZSBzPT09emUucmVhY3ROYXRpdmUmJnR5cGVvZiBnbG9iYWw/Lkxpbmtpbmc8InUiJiZhd2FpdCBnbG9iYWwuTGlua2luZy5vcGVuVVJMKGkpfWNhdGNoKG4pe2NvbnNvbGUuZXJyb3Iobil9fWZ1bmN0aW9uIFR2KHQsZSxyKXtjb25zdCBuPWByZXF1ZXN0SWQ9JHtlfSZzZXNzaW9uVG9waWM9JHtyfWA7dC5lbmRzV2l0aCgiLyIpJiYodD10LnNsaWNlKDAsLTEpKTtsZXQgaT1gJHt0fWA7aWYodC5zdGFydHNXaXRoKCJodHRwczovL3QubWUiKSl7Y29uc3Qgcz10LmluY2x1ZGVzKCI/Iik/IiZzdGFydGFwcD0iOiI/c3RhcnRhcHA9IjtpPWAke2l9JHtzfSR7JHYobiwhMCl9YH1lbHNlIGk9YCR7aX0vd2M/JHtufWA7cmV0dXJuIGl9ZnVuY3Rpb24gQnYodCl7bGV0IGU9Il9zZWxmIjtQdigpP2U9Il90b3AiOihOdigpfHx0LnN0YXJ0c1dpdGgoImh0dHBzOi8vIil8fHQuc3RhcnRzV2l0aCgiaHR0cDovLyIpKSYmKGU9Il9ibGFuayIpLHdpbmRvdy5vcGVuKHQsZSwibm9yZWZlcnJlciBub29wZW5lciIpfWFzeW5jIGZ1bmN0aW9uIFJ2KHQsZSl7bGV0IHI9IiI7dHJ5e2lmKFZyKCkmJihyPWxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpLHIpKXJldHVybiByO3I9YXdhaXQgdC5nZXRJdGVtKGUpfWNhdGNoKG4pe2NvbnNvbGUuZXJyb3Iobil9cmV0dXJuIHJ9ZnVuY3Rpb24gRWgodCxlKXtpZighdC5pbmNsdWRlcyhlKSlyZXR1cm4gbnVsbDtjb25zdCByPXQuc3BsaXQoLyhbJiw/LD1dKS8pLG49ci5pbmRleE9mKGUpO3JldHVybiByW24rMl19ZnVuY3Rpb24gdmgoKXtyZXR1cm4gdHlwZW9mIGNyeXB0bzwidSImJmNyeXB0bz8ucmFuZG9tVVVJRD9jcnlwdG8ucmFuZG9tVVVJRCgpOiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZ3UsdD0+e2NvbnN0IGU9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybih0PT09IngiP2U6ZSYzfDgpLnRvU3RyaW5nKDE2KX0pfWZ1bmN0aW9uIEhvKCl7cmV0dXJuIHR5cGVvZiBwcm9jZXNzPCJ1IiYmcHJvY2Vzcy5lbnYuSVNfVklURVNUPT09InRydWUifWZ1bmN0aW9uIE52KCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8InUiJiYoISF3aW5kb3cuVGVsZWdyYW1XZWJ2aWV3UHJveHl8fCEhd2luZG93LlRlbGVncmFtfHwhIXdpbmRvdy5UZWxlZ3JhbVdlYnZpZXdQcm94eVByb3RvKX1mdW5jdGlvbiBQdigpe3RyeXtyZXR1cm4gd2luZG93LnNlbGYhPT13aW5kb3cudG9wfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiAkdih0LGU9ITEpe2NvbnN0IHI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHQpLG49bmV3IEFycmF5KHIubGVuZ3RoKTtmb3IobGV0IHM9MDtzPHIubGVuZ3RoO3MrKyluW3NdPVN0cmluZy5mcm9tQ2hhckNvZGUocltzXSk7Y29uc3QgaT1idG9hKG4uam9pbigiIikpO3JldHVybiBlP2kucmVwbGFjZSgvWz1dL2csIiIpOml9ZnVuY3Rpb24gX2godCl7Y29uc3QgZT10KyI9Ii5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkscj1hdG9iKGUpLG49bmV3IFVpbnQ4QXJyYXkoci5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKW5baV09ci5jaGFyQ29kZUF0KGkpO3JldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUobil9ZnVuY3Rpb24gQ3YodCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnNldFRpbWVvdXQoZSx0KSl9Y2xhc3MgVXZ7Y29uc3RydWN0b3Ioe2xpbWl0OmV9KXt0aGlzLmxpbWl0PWUsdGhpcy5zZXQ9bmV3IFNldH1hZGQoZSl7aWYoIXRoaXMuc2V0LmhhcyhlKSl7aWYodGhpcy5zZXQuc2l6ZT49dGhpcy5saW1pdCl7Y29uc3Qgcj10aGlzLnNldC52YWx1ZXMoKS5uZXh0KCkudmFsdWU7ciYmdGhpcy5zZXQuZGVsZXRlKHIpfXRoaXMuc2V0LmFkZChlKX19aGFzKGUpe3JldHVybiB0aGlzLnNldC5oYXMoZSl9fWNvbnN0IEx2PSJodHRwczovL3JwYy53YWxsZXRjb25uZWN0Lm9yZy92MSI7ZnVuY3Rpb24gSHIodCl7Y29uc3QgZT10KyI9Ii5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkscj1hdG9iKGUpLG49bmV3IFVpbnQ4QXJyYXkoci5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKW5baV09ci5jaGFyQ29kZUF0KGkpO3JldHVybiBufWZ1bmN0aW9uIHhoKHQpe2NvbnN0IGU9YBlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZToKJHt0Lmxlbmd0aH1gLHI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUrdCk7cmV0dXJuIjB4IitnZSh3dShyKSwiYmFzZTE2Iil9YXN5bmMgZnVuY3Rpb24ga3YodCxlLHIsbixpLHMpe3N3aXRjaChyLnQpe2Nhc2UiZWlwMTkxIjpyZXR1cm4gYXdhaXQgTXYodCxlLHIucyk7Y2FzZSJlaXAxMjcxIjpyZXR1cm4gYXdhaXQgRnYodCxlLHIucyxuLGkscyk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYHZlcmlmeVNpZ25hdHVyZSBmYWlsZWQ6IEF0dGVtcHRlZCB0byB2ZXJpZnkgQ2FjYW9TaWduYXR1cmUgd2l0aCB1bmtub3duIHR5cGU6ICR7ci50fWApfX1mdW5jdGlvbiBNdih0LGUscil7Y29uc3Qgbj1RYihyKTtyZXR1cm4gZDEoe3BheWxvYWQ6eGgoZSksc2lnbmF0dXJlOm59KS50b0xvd2VyQ2FzZSgpPT09dC50b0xvd2VyQ2FzZSgpfWFzeW5jIGZ1bmN0aW9uIEZ2KHQsZSxyLG4saSxzKXtjb25zdCBvPVBpKG4pO2lmKCFvLm5hbWVzcGFjZXx8IW8ucmVmZXJlbmNlKXRocm93IG5ldyBFcnJvcihgaXNWYWxpZEVpcDEyNzFTaWduYXR1cmUgZmFpbGVkOiBjaGFpbklkIG11c3QgYmUgaW4gQ0FJUC0yIGZvcm1hdCwgcmVjZWl2ZWQ6ICR7bn1gKTt0cnl7Y29uc3QgYT0iMHgxNjI2YmE3ZSIsYz0iMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MCIsdT1yLnN1YnN0cmluZygyKSxsPSh1Lmxlbmd0aC8yKS50b1N0cmluZygxNikucGFkU3RhcnQoNjQsIjAiKSxoPShlLnN0YXJ0c1dpdGgoIjB4Iik/ZTp4aChlKSkuc3Vic3RyaW5nKDIpLGY9YStoK2MrbCt1LHA9YXdhaXQgZmV0Y2goYCR7c3x8THZ9Lz9jaGFpbklkPSR7bn0mcHJvamVjdElkPSR7aX1gLHtoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LG1ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7aWQ6cXYoKSxqc29ucnBjOiIyLjAiLG1ldGhvZDoiZXRoX2NhbGwiLHBhcmFtczpbe3RvOnQsZGF0YTpmfSwibGF0ZXN0Il19KX0pLHtyZXN1bHQ6ZH09YXdhaXQgcC5qc29uKCk7cmV0dXJuIGQ/ZC5zbGljZSgwLGEubGVuZ3RoKS50b0xvd2VyQ2FzZSgpPT09YS50b0xvd2VyQ2FzZSgpOiExfWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJpc1ZhbGlkRWlwMTI3MVNpZ25hdHVyZTogIixhKSwhMX19ZnVuY3Rpb24gcXYoKXtyZXR1cm4gRGF0ZS5ub3coKStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWUzKX1mdW5jdGlvbiB6dih0KXtjb25zdCBlPUhyKHQpLHI9ZVswXTtpZihyPT09MCl0aHJvdyBuZXcgRXJyb3IoIk5vIHNpZ25hdHVyZXMgZm91bmQiKTtjb25zdCBuPTErcio2NDtpZihlLmxlbmd0aDxuKXRocm93IG5ldyBFcnJvcigiVHJhbnNhY3Rpb24gZGF0YSB0b28gc2hvcnQgZm9yIGNsYWltZWQgc2lnbmF0dXJlIGNvdW50Iik7aWYoZS5sZW5ndGg8MTAwKXRocm93IG5ldyBFcnJvcigiVHJhbnNhY3Rpb24gdG9vIHNob3J0Iik7Y29uc3QgaT1lLnNsaWNlKDEsNjUpO3JldHVybiBibi5lbmNvZGUoaSl9ZnVuY3Rpb24ganYodCl7Y29uc3QgZT1Icih0KSxyPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSgiVHJhbnNhY3Rpb25EYXRhOjoiKSxuPW5ldyBVaW50OEFycmF5KHIubGVuZ3RoK2UubGVuZ3RoKTtuLnNldChyKSxuLnNldChlLHIubGVuZ3RoKTtjb25zdCBpPWMxKG4se2RrTGVuOjMyfSk7cmV0dXJuIGJuLmVuY29kZShpKX1mdW5jdGlvbiBTaCh0KXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGZuKEt2KHQpKSk7cmV0dXJuIGJuLmVuY29kZShlKX1mdW5jdGlvbiBLdih0KXtpZih0IGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gdDtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBuZXcgVWludDhBcnJheSh0KTtpZih0eXBlb2YgdD09Im9iamVjdCImJnQ/LmRhdGEpcmV0dXJuIG5ldyBVaW50OEFycmF5KE9iamVjdC52YWx1ZXModC5kYXRhKSk7aWYodHlwZW9mIHQ9PSJvYmplY3QiJiZ0KXJldHVybiBuZXcgVWludDhBcnJheShPYmplY3QudmFsdWVzKHQpKTt0aHJvdyBuZXcgRXJyb3IoImdldE5lYXJVaW50OEFycmF5RnJvbUJ5dGVzOiBVbmV4cGVjdGVkIHJlc3VsdCB0eXBlIGZyb20gYnl0ZXMgYXJyYXkiKX1mdW5jdGlvbiBJaCh0KXtjb25zdCBlPUhyKHQpLHI9bkUoZSkudHhuO2lmKCFyKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgJ3R4bicgZmllbGQiKTtjb25zdCBuPVkxKHIpLGk9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCJUWCIpLHM9d3IoW2ksbmV3IFVpbnQ4QXJyYXkobildKSxvPWptKHMpO3JldHVybiBmMS5lbmNvZGUobykucmVwbGFjZSgvPSskLywiIil9ZnVuY3Rpb24gV28odCl7Y29uc3QgZT1bXTtsZXQgcj1CaWdJbnQodCk7Zm9yKDtyPj0weDgwbjspZS5wdXNoKE51bWJlcihyJjB4N2ZufDB4ODBuKSkscj4+PTduO3JldHVybiBlLnB1c2goTnVtYmVyKHIpKSxuZXcgVWludDhBcnJheShlKX1mdW5jdGlvbiBWdih0KXtjb25zdCBlPUhyKHQuc2lnbmVkLmJvZHlCeXRlcykscj1Icih0LnNpZ25lZC5hdXRoSW5mb0J5dGVzKSxuPUhyKHQuc2lnbmF0dXJlLnNpZ25hdHVyZSksaT1bXTtpLnB1c2gobmV3IFVpbnQ4QXJyYXkoWzEwXSkpLGkucHVzaChXbyhlLmxlbmd0aCkpLGkucHVzaChlKSxpLnB1c2gobmV3IFVpbnQ4QXJyYXkoWzE4XSkpLGkucHVzaChXbyhyLmxlbmd0aCkpLGkucHVzaChyKSxpLnB1c2gobmV3IFVpbnQ4QXJyYXkoWzI2XSkpLGkucHVzaChXbyhuLmxlbmd0aCkpLGkucHVzaChuKTtjb25zdCBzPXdyKGkpLG89Zm4ocyk7cmV0dXJuIGdlKG8sImJhc2UxNiIpLnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gSHYodCl7Y29uc3QgZT1bXTt0cnl7aWYodHlwZW9mIHQ9PSJzdHJpbmciKXJldHVybiBlLnB1c2godCksZTtpZih0eXBlb2YgdCE9Im9iamVjdCIpcmV0dXJuIGU7dD8uaWQmJmUucHVzaCh0LmlkKTtjb25zdCByPXQ/LmNhcGFiaWxpdGllcz8uY2FpcDM0NT8udHJhbnNhY3Rpb25IYXNoZXM7ciYmZS5wdXNoKC4uLnIpfWNhdGNoKHIpe2NvbnNvbGUud2FybigiZ2V0V2FsbGV0U2VuZENhbGxzSGFzaGVzIGZhaWxlZDogIixyKX1yZXR1cm4gZX1jb25zdCBEaD0iZGlkOnBraDoiLFd2PXtlaXAxNTU6IkV0aGVyZXVtIixzb2xhbmE6IlNvbGFuYSIsYmlwMTIyOiJCaXRjb2luIn0sR3Y9dD0+dD9Xdlt0XXx8dDoiIixDaT10PT50Py5zcGxpdCgiOiIpLFl2PXQ9Pntjb25zdCBlPXQmJkNpKHQpO2lmKGUpcmV0dXJuIHQuaW5jbHVkZXMoRGgpP2VbM106ZVsxXX0sWnY9dD0+e2NvbnN0IGU9dCYmQ2kodCk7aWYoZSlyZXR1cm4gdC5pbmNsdWRlcyhEaCk/ZVsyXTplWzBdfSxHbz10PT57Y29uc3QgZT10JiZDaSh0KTtpZihlKXJldHVybiBlWzJdKyI6IitlWzNdfSxVaT10PT57Y29uc3QgZT10JiZDaSh0KTtpZihlKXJldHVybiBlLnBvcCgpfTthc3luYyBmdW5jdGlvbiBBaCh0KXtjb25zdHtjYWNhbzplLHByb2plY3RJZDpyfT10LHtzOm4scDppfT1lO2xldCBzO3RyeXtzPU9oKGksaS5pc3MpfWNhdGNoe3JldHVybiExfWNvbnN0IG89VWkoaS5pc3MpO3JldHVybiBhd2FpdCBrdihvLHMsbixHbyhpLmlzcykscil9Y29uc3QgT2g9KHQsZSk9Pntjb25zdCByPVp2KGUpO2lmKCFyKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpc3N1ZXI6ICIrZSk7Y29uc3Qgbj1gJHt0LmRvbWFpbn0gd2FudHMgeW91IHRvIHNpZ24gaW4gd2l0aCB5b3VyICR7R3Yocil9IGFjY291bnQ6YCxpPVVpKGUpO2lmKCF0LmF1ZCYmIXQudXJpKXRocm93IG5ldyBFcnJvcigiRWl0aGVyIGBhdWRgIG9yIGB1cmlgIGlzIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgbWVzc2FnZSIpO2xldCBzPXQuc3RhdGVtZW50fHx2b2lkIDA7Y29uc3Qgbz1gVVJJOiAke3QuYXVkfHx0LnVyaX1gLGE9YFZlcnNpb246ICR7dC52ZXJzaW9ufWAsYz1gQ2hhaW4gSUQ6ICR7WXYoZSl9YCx1PWBOb25jZTogJHt0Lm5vbmNlfWAsbD1gSXNzdWVkIEF0OiAke3QuaWF0fWAsaD10LmV4cD9gRXhwaXJhdGlvbiBUaW1lOiAke3QuZXhwfWA6dm9pZCAwLGY9dC5uYmY/YE5vdCBCZWZvcmU6ICR7dC5uYmZ9YDp2b2lkIDAscD10LnJlcXVlc3RJZD9gUmVxdWVzdCBJRDogJHt0LnJlcXVlc3RJZH1gOnZvaWQgMCxkPXQucmVzb3VyY2VzP2BSZXNvdXJjZXM6JHt0LnJlc291cmNlcy5tYXAoeT0+YAotICR7eX1gKS5qb2luKCIiKX1gOnZvaWQgMCxnPUxpKHQucmVzb3VyY2VzKTtpZihnKXtjb25zdCB5PURuKGcpO3M9czIocyx5KX1pZihzJiYvXHJ8XG4vLnRlc3QocykpdGhyb3cgbmV3IEVycm9yKCJTdGF0ZW1lbnQgbXVzdCBub3QgY29udGFpbiBsaW5lIGJyZWFrcyAoYFxccmAgb3IgYFxcbmApIik7cmV0dXJuW24saSwiIixzLCIiLG8sYSxjLHUsbCxoLGYscCxkXS5maWx0ZXIoeT0+eSE9bnVsbCkuam9pbihgCmApfTtmdW5jdGlvbiBYdih0KXtjb25zdCBlPUpTT04uc3RyaW5naWZ5KHQpLHI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpLG49bmV3IEFycmF5KHIubGVuZ3RoKTtmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyluW2ldPVN0cmluZy5mcm9tQ2hhckNvZGUocltpXSk7cmV0dXJuIGJ0b2Eobi5qb2luKCIiKSl9ZnVuY3Rpb24gSnYodCl7Y29uc3QgZT10KyI9Ii5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkscj1hdG9iKGUpLG49bmV3IFVpbnQ4QXJyYXkoci5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKW5baV09ci5jaGFyQ29kZUF0KGkpO3JldHVybiBKU09OLnBhcnNlKG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShuKSl9ZnVuY3Rpb24gU3IodCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJObyByZWNhcCBwcm92aWRlZCwgdmFsdWUgaXMgdW5kZWZpbmVkIik7aWYoIXQuYXR0KXRocm93IG5ldyBFcnJvcigiTm8gYGF0dGAgcHJvcGVydHkgZm91bmQiKTtjb25zdCBlPU9iamVjdC5rZXlzKHQuYXR0KTtpZighZT8ubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiTm8gcmVzb3VyY2VzIGZvdW5kIGluIGBhdHRgIHByb3BlcnR5Iik7ZS5mb3JFYWNoKHI9Pntjb25zdCBuPXQuYXR0W3JdO2lmKEFycmF5LmlzQXJyYXkobikpdGhyb3cgbmV3IEVycm9yKGBSZXNvdXJjZSBtdXN0IGJlIGFuIG9iamVjdDogJHtyfWApO2lmKHR5cGVvZiBuIT0ib2JqZWN0Iil0aHJvdyBuZXcgRXJyb3IoYFJlc291cmNlIG11c3QgYmUgYW4gb2JqZWN0OiAke3J9YCk7aWYoIU9iamVjdC5rZXlzKG4pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFJlc291cmNlIG9iamVjdCBpcyBlbXB0eTogJHtyfWApO09iamVjdC5rZXlzKG4pLmZvckVhY2goaT0+e2NvbnN0IHM9bltpXTtpZighQXJyYXkuaXNBcnJheShzKSl0aHJvdyBuZXcgRXJyb3IoYEFiaWxpdHkgbGltaXRzICR7aX0gbXVzdCBiZSBhbiBhcnJheSBvZiBvYmplY3RzLCBmb3VuZDogJHtzfWApO2lmKCFzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mICR7aX0gaXMgZW1wdHkgYXJyYXksIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBvYmplY3RzYCk7cy5mb3JFYWNoKG89PntpZih0eXBlb2YgbyE9Im9iamVjdCIpdGhyb3cgbmV3IEVycm9yKGBBYmlsaXR5IGxpbWl0cyAoJHtpfSkgbXVzdCBiZSBhbiBhcnJheSBvZiBvYmplY3RzLCBmb3VuZDogJHtvfWApfSl9KX0pfWZ1bmN0aW9uIFF2KHQsZSxyLG49e30pe3JldHVybiByPy5zb3J0KChpLHMpPT5pLmxvY2FsZUNvbXBhcmUocykpLHthdHQ6e1t0XTplMihlLHIsbil9fX1mdW5jdGlvbiBlMih0LGUscj17fSl7ZT1lPy5zb3J0KChpLHMpPT5pLmxvY2FsZUNvbXBhcmUocykpO2NvbnN0IG49ZS5tYXAoaT0+KHtbYCR7dH0vJHtpfWBdOltyXX0pKTtyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwuLi5uKX1mdW5jdGlvbiBUaCh0KXtyZXR1cm4gU3IodCksYHVybjpyZWNhcDoke1h2KHQpLnJlcGxhY2UoLz0vZywiIil9YH1mdW5jdGlvbiBEbih0KXtjb25zdCBlPUp2KHQucmVwbGFjZSgidXJuOnJlY2FwOiIsIiIpKTtyZXR1cm4gU3IoZSksZX1mdW5jdGlvbiB0Mih0LGUscil7Y29uc3Qgbj1Rdih0LGUscik7cmV0dXJuIFRoKG4pfWZ1bmN0aW9uIHIyKHQpe3JldHVybiB0JiZ0LmluY2x1ZGVzKCJ1cm46cmVjYXA6Iil9ZnVuY3Rpb24gbjIodCxlKXtjb25zdCByPURuKHQpLG49RG4oZSksaT1pMihyLG4pO3JldHVybiBUaChpKX1mdW5jdGlvbiBpMih0LGUpe1NyKHQpLFNyKGUpO2NvbnN0IHI9T2JqZWN0LmtleXModC5hdHQpLmNvbmNhdChPYmplY3Qua2V5cyhlLmF0dCkpLnNvcnQoKGkscyk9PmkubG9jYWxlQ29tcGFyZShzKSksbj17YXR0Ont9fTtyZXR1cm4gci5mb3JFYWNoKGk9PntPYmplY3Qua2V5cyh0LmF0dD8uW2ldfHx7fSkuY29uY2F0KE9iamVjdC5rZXlzKGUuYXR0Py5baV18fHt9KSkuc29ydCgocyxvKT0+cy5sb2NhbGVDb21wYXJlKG8pKS5mb3JFYWNoKHM9PntuLmF0dFtpXT17Li4ubi5hdHRbaV0sW3NdOnQuYXR0W2ldPy5bc118fGUuYXR0W2ldPy5bc119fSl9KSxufWZ1bmN0aW9uIHMyKHQ9IiIsZSl7U3IoZSk7Y29uc3Qgcj0iSSBmdXJ0aGVyIGF1dGhvcml6ZSB0aGUgc3RhdGVkIFVSSSB0byBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgYWN0aW9ucyBvbiBteSBiZWhhbGY6ICI7aWYodC5pbmNsdWRlcyhyKSlyZXR1cm4gdDtjb25zdCBuPVtdO2xldCBpPTA7T2JqZWN0LmtleXMoZS5hdHQpLmZvckVhY2goYT0+e2NvbnN0IGM9T2JqZWN0LmtleXMoZS5hdHRbYV0pLm1hcChoPT4oe2FiaWxpdHk6aC5zcGxpdCgiLyIpWzBdLGFjdGlvbjpoLnNwbGl0KCIvIilbMV19KSk7Yy5zb3J0KChoLGYpPT5oLmFjdGlvbi5sb2NhbGVDb21wYXJlKGYuYWN0aW9uKSk7Y29uc3QgdT17fTtjLmZvckVhY2goaD0+e3VbaC5hYmlsaXR5XXx8KHVbaC5hYmlsaXR5XT1bXSksdVtoLmFiaWxpdHldLnB1c2goaC5hY3Rpb24pfSk7Y29uc3QgbD1PYmplY3Qua2V5cyh1KS5tYXAoaD0+KGkrKyxgKCR7aX0pICcke2h9JzogJyR7dVtoXS5qb2luKCInLCAnIil9JyBmb3IgJyR7YX0nLmApKTtuLnB1c2gobC5qb2luKCIsICIpLnJlcGxhY2UoIi4sIiwiLiIpKX0pO2NvbnN0IHM9bi5qb2luKCIgIiksbz1gJHtyfSR7c31gO3JldHVybmAke3Q/dCsiICI6IiJ9JHtvfWB9ZnVuY3Rpb24gQmgodCl7Y29uc3QgZT1Ebih0KTtTcihlKTtjb25zdCByPWUuYXR0Py5laXAxNTU7cmV0dXJuIHI/T2JqZWN0LmtleXMocikubWFwKG49Pm4uc3BsaXQoIi8iKVsxXSk6W119ZnVuY3Rpb24gUmgodCl7Y29uc3QgZT1Ebih0KTtTcihlKTtjb25zdCByPVtdO3JldHVybiBPYmplY3QudmFsdWVzKGUuYXR0KS5mb3JFYWNoKG49PntPYmplY3QudmFsdWVzKG4pLmZvckVhY2goaT0+e2k/LlswXT8uY2hhaW5zJiZyLnB1c2goaVswXS5jaGFpbnMpfSl9KSxbLi4ubmV3IFNldChyLmZsYXQoKSldfWZ1bmN0aW9uIExpKHQpe2lmKCF0KXJldHVybjtjb25zdCBlPXQ/Llt0Lmxlbmd0aC0xXTtyZXR1cm4gcjIoZSk/ZTp2b2lkIDB9Y29uc3QgTmg9ImJhc2UxMCIsQmU9ImJhc2UxNiIsRWU9ImJhc2U2NHBhZCIscHQ9ImJhc2U2NHVybCIsQW49InV0ZjgiLFBoPTAsUHQ9MSxJcj0yLG8yPTAsJGg9MSxPbj0xMixZbz0zMjtmdW5jdGlvbiBhMigpe2NvbnN0IHQ9VW8udXRpbHMucmFuZG9tUHJpdmF0ZUtleSgpLGU9VW8uZ2V0UHVibGljS2V5KHQpO3JldHVybntwcml2YXRlS2V5OmdlKHQsQmUpLHB1YmxpY0tleTpnZShlLEJlKX19ZnVuY3Rpb24gWm8oKXtjb25zdCB0PVl0KFlvKTtyZXR1cm4gZ2UodCxCZSl9ZnVuY3Rpb24gYzIodCxlKXtjb25zdCByPVVvLmdldFNoYXJlZFNlY3JldCh2ZSh0LEJlKSx2ZShlLEJlKSksbj1FRShsaSxyLHZvaWQgMCx2b2lkIDAsWW8pO3JldHVybiBnZShuLEJlKX1mdW5jdGlvbiBraSh0KXtjb25zdCBlPWxpKHZlKHQsQmUpKTtyZXR1cm4gZ2UoZSxCZSl9ZnVuY3Rpb24gV2UodCl7Y29uc3QgZT1saSh2ZSh0LEFuKSk7cmV0dXJuIGdlKGUsQmUpfWZ1bmN0aW9uIENoKHQpe3JldHVybiB2ZShgJHt0fWAsTmgpfWZ1bmN0aW9uIERyKHQpe3JldHVybiBOdW1iZXIoZ2UodCxOaCkpfWZ1bmN0aW9uIFVoKHQpe3JldHVybiB0LnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPS9nLCIiKX1mdW5jdGlvbiBNaSh0KXtjb25zdCBlPXQucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikscj0oNC1lLmxlbmd0aCU0KSU0O3JldHVybiBlKyI9Ii5yZXBlYXQocil9ZnVuY3Rpb24gdTIodCl7Y29uc3QgZT1DaCh0eXBlb2YgdC50eXBlPCJ1Ij90LnR5cGU6UGgpO2lmKERyKGUpPT09UHQmJnR5cGVvZiB0LnNlbmRlclB1YmxpY0tleT4idSIpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHNlbmRlciBwdWJsaWMga2V5IGZvciB0eXBlIDEgZW52ZWxvcGUiKTtjb25zdCByPXR5cGVvZiB0LnNlbmRlclB1YmxpY0tleTwidSI/dmUodC5zZW5kZXJQdWJsaWNLZXksQmUpOnZvaWQgMCxuPXR5cGVvZiB0Lml2PCJ1Ij92ZSh0Lml2LEJlKTpZdChPbiksaT12ZSh0LnN5bUtleSxCZSkscz1SbChpLG4pLmVuY3J5cHQodmUodC5tZXNzYWdlLEFuKSksbz1MaCh7dHlwZTplLHNlYWxlZDpzLGl2Om4sc2VuZGVyUHVibGljS2V5OnJ9KTtyZXR1cm4gdC5lbmNvZGluZz09PXB0P1VoKG8pOm99ZnVuY3Rpb24gbDIodCl7Y29uc3QgZT12ZSh0LnN5bUtleSxCZSkse3NlYWxlZDpyLGl2Om59PVRuKHtlbmNvZGVkOnQuZW5jb2RlZCxlbmNvZGluZzp0LmVuY29kaW5nfSksaT1SbChlLG4pLmRlY3J5cHQocik7aWYoaT09PW51bGwpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gZGVjcnlwdCIpO3JldHVybiBnZShpLEFuKX1mdW5jdGlvbiBoMih0LGUpe2NvbnN0IHI9Q2goSXIpLG49WXQoT24pLGk9dmUodCxBbikscz1MaCh7dHlwZTpyLHNlYWxlZDppLGl2Om59KTtyZXR1cm4gZT09PXB0P1VoKHMpOnN9ZnVuY3Rpb24gZjIodCxlKXtjb25zdHtzZWFsZWQ6cn09VG4oe2VuY29kZWQ6dCxlbmNvZGluZzplfSk7cmV0dXJuIGdlKHIsQW4pfWZ1bmN0aW9uIExoKHQpe2lmKERyKHQudHlwZSk9PT1JcilyZXR1cm4gZ2Uod3IoW3QudHlwZSx0LnNlYWxlZF0pLEVlKTtpZihEcih0LnR5cGUpPT09UHQpe2lmKHR5cGVvZiB0LnNlbmRlclB1YmxpY0tleT4idSIpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHNlbmRlciBwdWJsaWMga2V5IGZvciB0eXBlIDEgZW52ZWxvcGUiKTtyZXR1cm4gZ2Uod3IoW3QudHlwZSx0LnNlbmRlclB1YmxpY0tleSx0Lml2LHQuc2VhbGVkXSksRWUpfXJldHVybiBnZSh3cihbdC50eXBlLHQuaXYsdC5zZWFsZWRdKSxFZSl9ZnVuY3Rpb24gVG4odCl7Y29uc3QgZT0odC5lbmNvZGluZ3x8RWUpPT09cHQ/TWkodC5lbmNvZGVkKTp0LmVuY29kZWQscj12ZShlLEVlKSxuPXIuc2xpY2UobzIsJGgpLGk9JGg7aWYoRHIobik9PT1QdCl7Y29uc3QgYz1pK1lvLHU9YytPbixsPXIuc2xpY2UoaSxjKSxoPXIuc2xpY2UoYyx1KSxmPXIuc2xpY2UodSk7cmV0dXJue3R5cGU6bixzZWFsZWQ6ZixpdjpoLHNlbmRlclB1YmxpY0tleTpsfX1pZihEcihuKT09PUlyKXtjb25zdCBjPXIuc2xpY2UoaSksdT1ZdChPbik7cmV0dXJue3R5cGU6bixzZWFsZWQ6Yyxpdjp1fX1jb25zdCBzPWkrT24sbz1yLnNsaWNlKGkscyksYT1yLnNsaWNlKHMpO3JldHVybnt0eXBlOm4sc2VhbGVkOmEsaXY6b319ZnVuY3Rpb24gZDIodCxlKXtjb25zdCByPVRuKHtlbmNvZGVkOnQsZW5jb2Rpbmc6ZT8uZW5jb2Rpbmd9KTtyZXR1cm4ga2goe3R5cGU6RHIoci50eXBlKSxzZW5kZXJQdWJsaWNLZXk6dHlwZW9mIHIuc2VuZGVyUHVibGljS2V5PCJ1Ij9nZShyLnNlbmRlclB1YmxpY0tleSxCZSk6dm9pZCAwLHJlY2VpdmVyUHVibGljS2V5OmU/LnJlY2VpdmVyUHVibGljS2V5fSl9ZnVuY3Rpb24ga2godCl7Y29uc3QgZT10Py50eXBlfHxQaDtpZihlPT09UHQpe2lmKHR5cGVvZiB0Py5zZW5kZXJQdWJsaWNLZXk+InUiKXRocm93IG5ldyBFcnJvcigibWlzc2luZyBzZW5kZXIgcHVibGljIGtleSIpO2lmKHR5cGVvZiB0Py5yZWNlaXZlclB1YmxpY0tleT4idSIpdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nIHJlY2VpdmVyIHB1YmxpYyBrZXkiKX1yZXR1cm57dHlwZTplLHNlbmRlclB1YmxpY0tleTp0Py5zZW5kZXJQdWJsaWNLZXkscmVjZWl2ZXJQdWJsaWNLZXk6dD8ucmVjZWl2ZXJQdWJsaWNLZXl9fWZ1bmN0aW9uIE1oKHQpe3JldHVybiB0LnR5cGU9PT1QdCYmdHlwZW9mIHQuc2VuZGVyUHVibGljS2V5PT0ic3RyaW5nIiYmdHlwZW9mIHQucmVjZWl2ZXJQdWJsaWNLZXk9PSJzdHJpbmcifWZ1bmN0aW9uIEZoKHQpe3JldHVybiB0LnR5cGU9PT1Jcn1mdW5jdGlvbiBwMih0KXtjb25zdCBlPXZlKE1pKHQueCksRWUpLHI9dmUoTWkodC55KSxFZSk7cmV0dXJuIHdyKFtuZXcgVWludDhBcnJheShbNF0pLGUscl0pfWZ1bmN0aW9uIGcyKHQsZSl7Y29uc3RbcixuLGldPXQuc3BsaXQoIi4iKSxzPXZlKE1pKGkpLEVlKTtpZihzLmxlbmd0aCE9PTY0KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgbGVuZ3RoIik7Y29uc3Qgbz1zLnNsaWNlKDAsMzIpLGE9cy5zbGljZSgzMiw2NCksYz1gJHtyfS4ke259YCx1PWxpKGMpLGw9cDIoZSk7aWYoIWN2LnZlcmlmeSh3cihbbyxhXSksdSxsKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2lnbmF0dXJlIik7cmV0dXJuIENzKHQpLnBheWxvYWR9Y29uc3QgeTI9ImlybiI7ZnVuY3Rpb24gRmkodCl7cmV0dXJuIHQ/LnJlbGF5fHx7cHJvdG9jb2w6eTJ9fWZ1bmN0aW9uIFdyKHQpe2NvbnN0IGU9dXZbdF07aWYodHlwZW9mIGU+InUiKXRocm93IG5ldyBFcnJvcihgUmVsYXkgUHJvdG9jb2wgbm90IHN1cHBvcnRlZDogJHt0fWApO3JldHVybiBlfWZ1bmN0aW9uIHcyKHQsZT0iLSIpe2NvbnN0IHI9e30sbj0icmVsYXkiK2U7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goaT0+e2lmKGkuc3RhcnRzV2l0aChuKSl7Y29uc3Qgcz1pLnJlcGxhY2UobiwiIiksbz10W2ldO3Jbc109b319KSxyfWZ1bmN0aW9uIHFoKHQpe2lmKCF0LmluY2x1ZGVzKCJ3YzoiKSl7Y29uc3QgdT1faCh0KTt1Py5pbmNsdWRlcygid2M6IikmJih0PXUpfXQ9dC5pbmNsdWRlcygid2M6Ly8iKT90LnJlcGxhY2UoIndjOi8vIiwiIik6dCx0PXQuaW5jbHVkZXMoIndjOiIpP3QucmVwbGFjZSgid2M6IiwiIik6dDtjb25zdCBlPXQuaW5kZXhPZigiOiIpLHI9dC5pbmRleE9mKCI/IikhPT0tMT90LmluZGV4T2YoIj8iKTp2b2lkIDAsbj10LnN1YnN0cmluZygwLGUpLGk9dC5zdWJzdHJpbmcoZSsxLHIpLnNwbGl0KCJAIikscz10eXBlb2YgcjwidSI/dC5zdWJzdHJpbmcocik6IiIsbz1uZXcgVVJMU2VhcmNoUGFyYW1zKHMpLGE9T2JqZWN0LmZyb21FbnRyaWVzKG8uZW50cmllcygpKSxjPXR5cGVvZiBhLm1ldGhvZHM9PSJzdHJpbmciP2EubWV0aG9kcy5zcGxpdCgiLCIpOnZvaWQgMDtyZXR1cm57cHJvdG9jb2w6bix0b3BpYzptMihpWzBdKSx2ZXJzaW9uOnBhcnNlSW50KGlbMV0sMTApLHN5bUtleTphLnN5bUtleSxyZWxheTp3MihhKSxtZXRob2RzOmMsZXhwaXJ5VGltZXN0YW1wOmEuZXhwaXJ5VGltZXN0YW1wP3BhcnNlSW50KGEuZXhwaXJ5VGltZXN0YW1wLDEwKTp2b2lkIDB9fWZ1bmN0aW9uIG0yKHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoIi8vIik/dC5zdWJzdHJpbmcoMik6dH1mdW5jdGlvbiBiMih0LGU9Ii0iKXtjb25zdCByPSJyZWxheSIsbj17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChpPT57Y29uc3Qgcz1pLG89citlK3M7dFtzXSYmKG5bb109dFtzXSl9KSxufWZ1bmN0aW9uIHpoKHQpe2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyxyPXsuLi5iMih0LnJlbGF5KSxzeW1LZXk6dC5zeW1LZXksLi4udC5leHBpcnlUaW1lc3RhbXAmJntleHBpcnlUaW1lc3RhbXA6dC5leHBpcnlUaW1lc3RhbXAudG9TdHJpbmcoKX0sLi4udC5tZXRob2RzJiZ7bWV0aG9kczp0Lm1ldGhvZHMuam9pbigiLCIpfX07cmV0dXJuIE9iamVjdC5lbnRyaWVzKHIpLnNvcnQoKFtuXSxbaV0pPT5uLmxvY2FsZUNvbXBhcmUoaSkpLmZvckVhY2goKFtuLGldKT0+e2khPT12b2lkIDAmJmUuYXBwZW5kKG4sU3RyaW5nKGkpKX0pLGAke3QucHJvdG9jb2x9OiR7dC50b3BpY31AJHt0LnZlcnNpb259PyR7ZX1gfWZ1bmN0aW9uIHFpKHQsZSxyKXtyZXR1cm5gJHt0fT93Y19ldj0ke3J9JnRvcGljPSR7ZX1gfWZ1bmN0aW9uIEdyKHQpe2NvbnN0IGU9W107cmV0dXJuIHQuZm9yRWFjaChyPT57Y29uc3RbbixpXT1yLnNwbGl0KCI6Iik7ZS5wdXNoKGAke259OiR7aX1gKX0pLGV9ZnVuY3Rpb24gamgodCl7Y29uc3QgZT1bXTtyZXR1cm4gT2JqZWN0LnZhbHVlcyh0KS5mb3JFYWNoKHI9PntlLnB1c2goLi4uR3Ioci5hY2NvdW50cykpfSksWy4uLm5ldyBTZXQoZSldfWZ1bmN0aW9uIEUyKHQpe2NvbnN0IGU9W107cmV0dXJuIE9iamVjdC52YWx1ZXModCkuZm9yRWFjaChyPT57ZS5wdXNoKC4uLnIubWV0aG9kcyl9KSxbLi4ubmV3IFNldChlKV19ZnVuY3Rpb24gdjIodCl7Y29uc3QgZT1bXTtyZXR1cm4gT2JqZWN0LnZhbHVlcyh0KS5mb3JFYWNoKHI9PntlLnB1c2goLi4uci5ldmVudHMpfSksWy4uLm5ldyBTZXQoZSldfWZ1bmN0aW9uIF8yKHQsZSl7Y29uc3Qgcj1bXTtyZXR1cm4gT2JqZWN0LnZhbHVlcyh0KS5mb3JFYWNoKG49PntHcihuLmFjY291bnRzKS5pbmNsdWRlcyhlKSYmci5wdXNoKC4uLm4ubWV0aG9kcyl9KSxyfWZ1bmN0aW9uIHgyKHQsZSl7Y29uc3Qgcj1bXTtyZXR1cm4gT2JqZWN0LnZhbHVlcyh0KS5mb3JFYWNoKG49PntHcihuLmFjY291bnRzKS5pbmNsdWRlcyhlKSYmci5wdXNoKC4uLm4uZXZlbnRzKX0pLHJ9ZnVuY3Rpb24gS2godCl7cmV0dXJuIHQuaW5jbHVkZXMoIjoiKX1mdW5jdGlvbiBTMih0KXtyZXR1cm4gS2godCk/dC5zcGxpdCgiOiIpWzBdOnR9ZnVuY3Rpb24gVmgodCl7Y29uc3QgZT17fTtpZighQm4odCkpcmV0dXJuIGU7Zm9yKGNvbnN0W3Isbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgaT1LaChyKT9bcl06bi5jaGFpbnMscz1uLm1ldGhvZHN8fFtdLG89bi5ldmVudHN8fFtdLGE9UzIocik7ZVthXT17Li4uZVthXSxjaGFpbnM6eHIoaSxlW2FdPy5jaGFpbnMpLG1ldGhvZHM6eHIocyxlW2FdPy5tZXRob2RzKSxldmVudHM6eHIobyxlW2FdPy5ldmVudHMpfX1yZXR1cm4gZX1mdW5jdGlvbiBJMih0KXtjb25zdCBlPXt9O3JldHVybiB0Py5mb3JFYWNoKHI9Pntjb25zdFtuLGldPXIuc3BsaXQoIjoiKTtlW25dfHwoZVtuXT17YWNjb3VudHM6W10sY2hhaW5zOltdLGV2ZW50czpbXSxtZXRob2RzOltdfSksZVtuXS5hY2NvdW50cy5wdXNoKHIpLGVbbl0uY2hhaW5zPy5wdXNoKGAke259OiR7aX1gKX0pLGV9ZnVuY3Rpb24gSGgodCxlKXtlPWUubWFwKG49Pm4ucmVwbGFjZSgiZGlkOnBraDoiLCIiKSk7Y29uc3Qgcj1JMihlKTtmb3IoY29uc3RbbixpXW9mIE9iamVjdC5lbnRyaWVzKHIpKWkubWV0aG9kcz9pLm1ldGhvZHM9eHIoaS5tZXRob2RzLHQpOmkubWV0aG9kcz10LGkuZXZlbnRzPVsiY2hhaW5DaGFuZ2VkIiwiYWNjb3VudHNDaGFuZ2VkIl07cmV0dXJuIHJ9ZnVuY3Rpb24gRDIodCxlKXtjb25zdCByPVZoKHQpLG49VmgoZSksaT17fSxzPU9iamVjdC5rZXlzKHIpLmNvbmNhdChPYmplY3Qua2V5cyhuKSk7Zm9yKGNvbnN0IG8gb2YgcylpW29dPXtjaGFpbnM6eHIocltvXT8uY2hhaW5zLG5bb10/LmNoYWlucyksbWV0aG9kczp4cihyW29dPy5tZXRob2RzLG5bb10/Lm1ldGhvZHMpLGV2ZW50czp4cihyW29dPy5ldmVudHMsbltvXT8uZXZlbnRzKX07cmV0dXJuIGl9ZnVuY3Rpb24gWXIodCxlKXtyZXR1cm4hIUFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gQm4odCl7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PU9iamVjdC5wcm90b3R5cGUmJk9iamVjdC5rZXlzKHQpLmxlbmd0aH1mdW5jdGlvbiBoZSh0KXtyZXR1cm4gdHlwZW9mIHQ+InUifWZ1bmN0aW9uIG9lKHQsZSl7cmV0dXJuIGUmJmhlKHQpPyEwOnR5cGVvZiB0PT0ic3RyaW5nIiYmISF0LnRyaW0oKS5sZW5ndGh9ZnVuY3Rpb24gWG8odCxlKXtyZXR1cm4gZSYmaGUodCk/ITA6dHlwZW9mIHQ9PSJudW1iZXIiJiYhaXNOYU4odCl9ZnVuY3Rpb24gQTIodCxlKXtjb25zdHtyZXF1aXJlZE5hbWVzcGFjZXM6cn09ZSxuPU9iamVjdC5rZXlzKHQubmFtZXNwYWNlcyksaT1PYmplY3Qua2V5cyhyKTtsZXQgcz0hMDtyZXR1cm4gdnIoaSxuKT8obi5mb3JFYWNoKG89Pntjb25zdHthY2NvdW50czphLG1ldGhvZHM6YyxldmVudHM6dX09dC5uYW1lc3BhY2VzW29dLGw9R3IoYSksaD1yW29dOyghdnIocGgobyxoKSxsKXx8IXZyKGgubWV0aG9kcyxjKXx8IXZyKGguZXZlbnRzLHUpKSYmKHM9ITEpfSkscyk6ITF9ZnVuY3Rpb24gemkodCl7cmV0dXJuIG9lKHQsITEpJiZ0LmluY2x1ZGVzKCI6Iik/dC5zcGxpdCgiOiIpLmxlbmd0aD09PTI6ITF9ZnVuY3Rpb24gTzIodCl7aWYob2UodCwhMSkmJnQuaW5jbHVkZXMoIjoiKSl7Y29uc3QgZT10LnNwbGl0KCI6Iik7aWYoZS5sZW5ndGg9PT0zKXtjb25zdCByPWVbMF0rIjoiK2VbMV07cmV0dXJuISFlWzJdJiZ6aShyKX19cmV0dXJuITF9ZnVuY3Rpb24gVDIodCl7ZnVuY3Rpb24gZShyKXt0cnl7cmV0dXJuIHR5cGVvZiBuZXcgVVJMKHIpPCJ1In1jYXRjaHtyZXR1cm4hMX19dHJ5e2lmKG9lKHQsITEpKXtpZihlKHQpKXJldHVybiEwO2NvbnN0IHI9X2godCk7cmV0dXJuIGUocil9fWNhdGNoe31yZXR1cm4hMX1mdW5jdGlvbiBCMih0KXtyZXR1cm4gdD8ucHJvcG9zZXI/LnB1YmxpY0tleX1mdW5jdGlvbiBSMih0KXtyZXR1cm4gdD8udG9waWN9ZnVuY3Rpb24gTjIodCxlKXtsZXQgcj1udWxsO3JldHVybiBvZSh0Py5wdWJsaWNLZXksITEpfHwocj1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGAke2V9IGNvbnRyb2xsZXIgcHVibGljIGtleSBzaG91bGQgYmUgYSBzdHJpbmdgKSkscn1mdW5jdGlvbiBXaCh0KXtsZXQgZT0hMDtyZXR1cm4gWXIodCk/dC5sZW5ndGgmJihlPXQuZXZlcnkocj0+b2UociwhMSkpKTplPSExLGV9ZnVuY3Rpb24gUDIodCxlLHIpe2xldCBuPW51bGw7cmV0dXJuIFlyKGUpJiZlLmxlbmd0aD9lLmZvckVhY2goaT0+e258fHppKGkpfHwobj1uZSgiVU5TVVBQT1JURURfQ0hBSU5TIixgJHtyfSwgY2hhaW4gJHtpfSBzaG91bGQgYmUgYSBzdHJpbmcgYW5kIGNvbmZvcm0gdG8gIm5hbWVzcGFjZTpjaGFpbklkIiBmb3JtYXRgKSl9KTp6aSh0KXx8KG49bmUoIlVOU1VQUE9SVEVEX0NIQUlOUyIsYCR7cn0sIGNoYWlucyBtdXN0IGJlIGRlZmluZWQgYXMgIm5hbWVzcGFjZTpjaGFpbklkIiBlLmcuICJlaXAxNTU6MSI6IHsuLi59IGluIHRoZSBuYW1lc3BhY2Uga2V5IE9SIGFzIGFuIGFycmF5IG9mIENBSVAtMiBjaGFpbklkcyBlLmcuIGVpcDE1NTogeyBjaGFpbnM6IFsiZWlwMTU1OjEiLCAiZWlwMTU1OjUiXSB9YCkpLG59ZnVuY3Rpb24gJDIodCxlLHIpe2xldCBuPW51bGw7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKFtpLHNdKT0+e2lmKG4pcmV0dXJuO2NvbnN0IG89UDIoaSxwaChpLHMpLGAke2V9ICR7cn1gKTtvJiYobj1vKX0pLG59ZnVuY3Rpb24gQzIodCxlKXtsZXQgcj1udWxsO3JldHVybiBZcih0KT90LmZvckVhY2gobj0+e3J8fE8yKG4pfHwocj1uZSgiVU5TVVBQT1JURURfQUNDT1VOVFMiLGAke2V9LCBhY2NvdW50ICR7bn0gc2hvdWxkIGJlIGEgc3RyaW5nIGFuZCBjb25mb3JtIHRvICJuYW1lc3BhY2U6Y2hhaW5JZDphZGRyZXNzIiBmb3JtYXRgKSl9KTpyPW5lKCJVTlNVUFBPUlRFRF9BQ0NPVU5UUyIsYCR7ZX0sIGFjY291bnRzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIGNvbmZvcm1pbmcgdG8gIm5hbWVzcGFjZTpjaGFpbklkOmFkZHJlc3MiIGZvcm1hdGApLHJ9ZnVuY3Rpb24gVTIodCxlKXtsZXQgcj1udWxsO3JldHVybiBPYmplY3QudmFsdWVzKHQpLmZvckVhY2gobj0+e2lmKHIpcmV0dXJuO2NvbnN0IGk9QzIobj8uYWNjb3VudHMsYCR7ZX0gbmFtZXNwYWNlYCk7aSYmKHI9aSl9KSxyfWZ1bmN0aW9uIEwyKHQsZSl7bGV0IHI9bnVsbDtyZXR1cm4gV2godD8ubWV0aG9kcyk/V2godD8uZXZlbnRzKXx8KHI9bmUoIlVOU1VQUE9SVEVEX0VWRU5UUyIsYCR7ZX0sIGV2ZW50cyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBlbXB0eSBhcnJheSBmb3Igbm8gZXZlbnRzYCkpOnI9bmUoIlVOU1VQUE9SVEVEX01FVEhPRFMiLGAke2V9LCBtZXRob2RzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGVtcHR5IGFycmF5IGZvciBubyBtZXRob2RzYCkscn1mdW5jdGlvbiBHaCh0LGUpe2xldCByPW51bGw7cmV0dXJuIE9iamVjdC52YWx1ZXModCkuZm9yRWFjaChuPT57aWYocilyZXR1cm47Y29uc3QgaT1MMihuLGAke2V9LCBuYW1lc3BhY2VgKTtpJiYocj1pKX0pLHJ9ZnVuY3Rpb24gazIodCxlLHIpe2xldCBuPW51bGw7aWYodCYmQm4odCkpe2NvbnN0IGk9R2godCxlKTtpJiYobj1pKTtjb25zdCBzPSQyKHQsZSxyKTtzJiYobj1zKX1lbHNlIG49RigiTUlTU0lOR19PUl9JTlZBTElEIixgJHtlfSwgJHtyfSBzaG91bGQgYmUgYW4gb2JqZWN0IHdpdGggZGF0YWApO3JldHVybiBufWZ1bmN0aW9uIEpvKHQsZSl7bGV0IHI9bnVsbDtpZih0JiZCbih0KSl7Y29uc3Qgbj1HaCh0LGUpO24mJihyPW4pO2NvbnN0IGk9VTIodCxlKTtpJiYocj1pKX1lbHNlIHI9RigiTUlTU0lOR19PUl9JTlZBTElEIixgJHtlfSwgbmFtZXNwYWNlcyBzaG91bGQgYmUgYW4gb2JqZWN0IHdpdGggZGF0YWApO3JldHVybiByfWZ1bmN0aW9uIFloKHQpe3JldHVybiBvZSh0LnByb3RvY29sLCEwKX1mdW5jdGlvbiBNMih0LGUpe2xldCByPSExO3JldHVybiB0P3QmJllyKHQpJiZ0Lmxlbmd0aCYmdC5mb3JFYWNoKG49PntyPVloKG4pfSk6cj0hMCxyfWZ1bmN0aW9uIEYyKHQpe3JldHVybiB0eXBlb2YgdD09Im51bWJlciJ9ZnVuY3Rpb24ga2UodCl7cmV0dXJuIHR5cGVvZiB0PCJ1IiYmdHlwZW9mIHQhPT1udWxsfWZ1bmN0aW9uIHEyKHQpe3JldHVybiEoIXR8fHR5cGVvZiB0IT0ib2JqZWN0Inx8IXQuY29kZXx8IVhvKHQuY29kZSwhMSl8fCF0Lm1lc3NhZ2V8fCFvZSh0Lm1lc3NhZ2UsITEpKX1mdW5jdGlvbiB6Mih0KXtyZXR1cm4hKGhlKHQpfHwhb2UodC5tZXRob2QsITEpKX1mdW5jdGlvbiBqMih0KXtyZXR1cm4hKGhlKHQpfHxoZSh0LnJlc3VsdCkmJmhlKHQuZXJyb3IpfHwhWG8odC5pZCwhMSl8fCFvZSh0Lmpzb25ycGMsITEpKX1mdW5jdGlvbiBLMih0KXtyZXR1cm4hKGhlKHQpfHwhb2UodC5uYW1lLCExKSl9ZnVuY3Rpb24gWmgodCxlKXtyZXR1cm4hKCF6aShlKXx8IWpoKHQpLmluY2x1ZGVzKGUpKX1mdW5jdGlvbiBWMih0LGUscil7cmV0dXJuIG9lKHIsITEpP18yKHQsZSkuaW5jbHVkZXMocik6ITF9ZnVuY3Rpb24gSDIodCxlLHIpe3JldHVybiBvZShyLCExKT94Mih0LGUpLmluY2x1ZGVzKHIpOiExfWZ1bmN0aW9uIFhoKHQsZSxyKXtsZXQgbj1udWxsO2NvbnN0IGk9VzIodCkscz1HMihlKSxvPU9iamVjdC5rZXlzKGkpLGE9T2JqZWN0LmtleXMocyksYz1KaChPYmplY3Qua2V5cyh0KSksdT1KaChPYmplY3Qua2V5cyhlKSksbD1jLmZpbHRlcihoPT4hdS5pbmNsdWRlcyhoKSk7cmV0dXJuIGwubGVuZ3RoJiYobj1GKCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTIixgJHtyfSBuYW1lc3BhY2VzIGtleXMgZG9uJ3Qgc2F0aXNmeSByZXF1aXJlZE5hbWVzcGFjZXMuCiAgICAgIFJlcXVpcmVkOiAke2wudG9TdHJpbmcoKX0KICAgICAgUmVjZWl2ZWQ6ICR7T2JqZWN0LmtleXMoZSkudG9TdHJpbmcoKX1gKSksdnIobyxhKXx8KG49RigiTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFUyIsYCR7cn0gbmFtZXNwYWNlcyBjaGFpbnMgZG9uJ3Qgc2F0aXNmeSByZXF1aXJlZCBuYW1lc3BhY2VzLgogICAgICBSZXF1aXJlZDogJHtvLnRvU3RyaW5nKCl9CiAgICAgIEFwcHJvdmVkOiAke2EudG9TdHJpbmcoKX1gKSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaChoPT57aWYoIWguaW5jbHVkZXMoIjoiKXx8bilyZXR1cm47Y29uc3QgZj1HcihlW2hdLmFjY291bnRzKTtmLmluY2x1ZGVzKGgpfHwobj1GKCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTIixgJHtyfSBuYW1lc3BhY2VzIGFjY291bnRzIGRvbid0IHNhdGlzZnkgbmFtZXNwYWNlIGFjY291bnRzIGZvciAke2h9CiAgICAgICAgUmVxdWlyZWQ6ICR7aH0KICAgICAgICBBcHByb3ZlZDogJHtmLnRvU3RyaW5nKCl9YCkpfSksby5mb3JFYWNoKGg9PntufHwodnIoaVtoXS5tZXRob2RzLHNbaF0ubWV0aG9kcyk/dnIoaVtoXS5ldmVudHMsc1toXS5ldmVudHMpfHwobj1GKCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTIixgJHtyfSBuYW1lc3BhY2VzIGV2ZW50cyBkb24ndCBzYXRpc2Z5IG5hbWVzcGFjZSBldmVudHMgZm9yICR7aH1gKSk6bj1GKCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTIixgJHtyfSBuYW1lc3BhY2VzIG1ldGhvZHMgZG9uJ3Qgc2F0aXNmeSBuYW1lc3BhY2UgbWV0aG9kcyBmb3IgJHtofWApKX0pLG59ZnVuY3Rpb24gVzIodCl7Y29uc3QgZT17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChyPT57ci5pbmNsdWRlcygiOiIpP2Vbcl09dFtyXTp0W3JdLmNoYWlucz8uZm9yRWFjaChuPT57ZVtuXT17bWV0aG9kczp0W3JdLm1ldGhvZHMsZXZlbnRzOnRbcl0uZXZlbnRzfX0pfSksZX1mdW5jdGlvbiBKaCh0KXtyZXR1cm5bLi4ubmV3IFNldCh0Lm1hcChlPT5lLmluY2x1ZGVzKCI6Iik/ZS5zcGxpdCgiOiIpWzBdOmUpKV19ZnVuY3Rpb24gRzIodCl7Y29uc3QgZT17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChyPT57ci5pbmNsdWRlcygiOiIpP2Vbcl09dFtyXTpHcih0W3JdLmFjY291bnRzKT8uZm9yRWFjaChuPT57ZVtuXT17YWNjb3VudHM6dFtyXS5hY2NvdW50cy5maWx0ZXIoaT0+aS5pbmNsdWRlcyhgJHtufTpgKSksbWV0aG9kczp0W3JdLm1ldGhvZHMsZXZlbnRzOnRbcl0uZXZlbnRzfX0pfSksZX1mdW5jdGlvbiBZMih0LGUpe3JldHVybiBYbyh0LCExKSYmdDw9ZS5tYXgmJnQ+PWUubWlufWZ1bmN0aW9uIFFoKCl7Y29uc3QgdD1JbigpO3JldHVybiBuZXcgUHJvbWlzZShlPT57c3dpdGNoKHQpe2Nhc2UgemUuYnJvd3NlcjplKFoyKCkpO2JyZWFrO2Nhc2UgemUucmVhY3ROYXRpdmU6ZShYMigpKTticmVhaztjYXNlIHplLm5vZGU6ZShKMigpKTticmVhaztkZWZhdWx0OmUoITApfX0pfWZ1bmN0aW9uIFoyKCl7cmV0dXJuIFZyKCkmJm5hdmlnYXRvcj8ub25MaW5lfWFzeW5jIGZ1bmN0aW9uIFgyKCl7cmV0dXJuIHNyKCkmJnR5cGVvZiBnbG9iYWw8InUiJiZnbG9iYWw/Lk5ldEluZm8/KGF3YWl0IGdsb2JhbD8uTmV0SW5mby5mZXRjaCgpKT8uaXNDb25uZWN0ZWQ6ITB9ZnVuY3Rpb24gSjIoKXtyZXR1cm4hMH1mdW5jdGlvbiBRMih0KXtzd2l0Y2goSW4oKSl7Y2FzZSB6ZS5icm93c2VyOmVfKHQpO2JyZWFrO2Nhc2UgemUucmVhY3ROYXRpdmU6dF8odCk7YnJlYWt9fWZ1bmN0aW9uIGVfKHQpeyFzcigpJiZWcigpJiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsKCk9PnQoITApKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsKCk9PnQoITEpKSl9ZnVuY3Rpb24gdF8odCl7c3IoKSYmdHlwZW9mIGdsb2JhbDwidSImJmdsb2JhbD8uTmV0SW5mbyYmZ2xvYmFsPy5OZXRJbmZvLmFkZEV2ZW50TGlzdGVuZXIoZT0+dChlPy5pc0Nvbm5lY3RlZCkpfWZ1bmN0aW9uIHJfKCl7cmV0dXJuIFZyKCkmJl90LmdldERvY3VtZW50KCk/X3QuZ2V0RG9jdW1lbnQoKT8udmlzaWJpbGl0eVN0YXRlPT09InZpc2libGUiOiEwfWNvbnN0IFFvPXt9O2NsYXNzIFJue3N0YXRpYyBnZXQoZSl7cmV0dXJuIFFvW2VdfXN0YXRpYyBzZXQoZSxyKXtRb1tlXT1yfXN0YXRpYyBkZWxldGUoZSl7ZGVsZXRlIFFvW2VdfX1mdW5jdGlvbiBuXyh0KXtjb25zdCBlPWJuLmRlY29kZSh0KTtpZihlLmxlbmd0aDwzMyl0aHJvdyBuZXcgRXJyb3IoIlRvbyBzaG9ydCB0byBjb250YWluIGEgcHVibGljIGtleSIpO3JldHVybiBlLnNsaWNlKDEsMzMpfWZ1bmN0aW9uIGlfKHtwdWJsaWNLZXk6dCxzaWduYXR1cmU6ZSxwYXlsb2FkOnJ9KXtjb25zdCBuPWppKHIubWV0aG9kKSxpPTEyOHxwYXJzZUludChyLnZlcnNpb24/LnRvU3RyaW5nKCl8fCI0Iikscz1hXyhyLmFkZHJlc3MpLG89ci5lcmE9PT0iMDAiP25ldyBVaW50OEFycmF5KFswXSk6amkoci5lcmEpO2lmKG8ubGVuZ3RoIT09MSYmby5sZW5ndGghPT0yKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBlcmEgbGVuZ3RoIik7Y29uc3QgYT1wYXJzZUludChyLm5vbmNlLDE2KSxjPW5ldyBVaW50OEFycmF5KFthJjI1NSxhPj44JjI1NV0pLHU9QmlnSW50KGAweCR7b18oci50aXApfWApLGw9dV8odSksaD1uZXcgVWludDhBcnJheShbMCwuLi50LHMsLi4uZSwuLi5vLC4uLmMsLi4ubCwuLi5uXSksZj1jXyhoLmxlbmd0aCsxKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWy4uLmYsaSwuLi5oXSl9ZnVuY3Rpb24gc18odCl7Y29uc3QgZT1qaSh0KSxyPWR2LmJsYWtlMmIoZSx2b2lkIDAsMzIpO3JldHVybiIweCIrZ2UociwiYmFzZTE2Iil9ZnVuY3Rpb24gamkodCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KHQucmVwbGFjZSgvXjB4LywiIikubWF0Y2goLy57MSwyfS9nKS5tYXAoZT0+cGFyc2VJbnQoZSwxNikpKX1mdW5jdGlvbiBvXyh0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCIweCIpP3Quc2xpY2UoMik6dH1mdW5jdGlvbiBhXyh0KXtjb25zdCBlPWJuLmRlY29kZSh0KVswXTtyZXR1cm4gZT09PTQyPzA6ZT09PTYwPzI6MX1mdW5jdGlvbiBjXyh0KXtpZih0PDY0KXJldHVybiBuZXcgVWludDhBcnJheShbdDw8Ml0pO2lmKHQ8MTYzODQpe2NvbnN0IGU9dDw8MnwxO3JldHVybiBuZXcgVWludDhBcnJheShbZSYyNTUsZT4+OCYyNTVdKX1lbHNlIGlmKHQ8MTw8MzApe2NvbnN0IGU9dDw8MnwyO3JldHVybiBuZXcgVWludDhBcnJheShbZSYyNTUsZT4+OCYyNTUsZT4+MTYmMjU1LGU+PjI0JjI1NV0pfWVsc2UgdGhyb3cgbmV3IEVycm9yKCJDb21wYWN0IGVuY29kaW5nID4gMl4zMCBub3Qgc3VwcG9ydGVkIil9ZnVuY3Rpb24gdV8odCl7aWYodDwxbjw8Nm4pcmV0dXJuIG5ldyBVaW50OEFycmF5KFtOdW1iZXIodDw8Mm4pXSk7aWYodDwxbjw8MTRuKXtjb25zdCBlPXQ8PDJufDB4MDFuO3JldHVybiBuZXcgVWludDhBcnJheShbTnVtYmVyKGUmMHhmZm4pLE51bWJlcihlPj44biYweGZmbildKX1lbHNlIGlmKHQ8MW48PDMwbil7Y29uc3QgZT10PDwybnwweDAybjtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoW051bWJlcihlJjB4ZmZuKSxOdW1iZXIoZT4+OG4mMHhmZm4pLE51bWJlcihlPj4xNm4mMHhmZm4pLE51bWJlcihlPj4yNG4mMHhmZm4pXSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkJpZ0ludCBjb21wYWN0IGVuY29kaW5nIG5vdCBzdXBwb3J0ZWQgPiAyXjMwIil9ZnVuY3Rpb24gbF8odCl7Y29uc3QgZT1qaSh0LnNpZ25hdHVyZSkscj1uXyh0LnRyYW5zYWN0aW9uLmFkZHJlc3MpLG49aV8oe3B1YmxpY0tleTpyLHNpZ25hdHVyZTplLHBheWxvYWQ6dC50cmFuc2FjdGlvbn0pLGk9Z2UobiwiYmFzZTE2Iik7cmV0dXJuIHNfKGkpfWNvbnN0IGhfPW5ldyBTZXQoWyJUcmFuc2ZlckZhY3RvcnlfVHJhbnNmZXIiLCJEZWxlZ2F0ZVByb3h5X1RyYW5zZmVyRmFjdG9yeV9UcmFuc2ZlciJdKTtmdW5jdGlvbiBmXyh0KXtjb25zdCBlPXQ/LmNvbW1hbmRzO2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybltdO2NvbnN0IHI9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgaT1uPy5FeGVyY2lzZUNvbW1hbmQ7aWYoIWl8fCFoXy5oYXMoaS5jaG9pY2UpKWNvbnRpbnVlO2NvbnN0IHM9aS5jaG9pY2VBcmd1bWVudD8udHJhbnNmZXI7IXM/LmFtb3VudHx8IXM/Lmluc3RydW1lbnRJZD8uaWR8fHIucHVzaCh7YW1vdW50OlN0cmluZyhzLmFtb3VudCksaW5zdHJ1bWVudElkOlN0cmluZyhzLmluc3RydW1lbnRJZC5pZCl9KX1yZXR1cm4gcn1mdW5jdGlvbiBkXyh0LGUpe2NvbnN0IHI9ZT8ucGF5bG9hZD8udXBkYXRlSWQ7aWYoIXIpcmV0dXJuW107Y29uc3Qgbj1mXyh0KTtyZXR1cm4gbi5sZW5ndGg9PT0wP1tTdHJpbmcocildOm4ubWFwKGk9PmAke3J9OiR7aS5hbW91bnR9OiR7aS5pbnN0cnVtZW50SWR9YCl9ZnVuY3Rpb24gZWYoe2xvZ2dlcjp0LG5hbWU6ZX0pe2NvbnN0IHI9dHlwZW9mIHQ9PSJzdHJpbmciP1dhKHtvcHRzOntsZXZlbDp0LG5hbWU6ZX19KS5sb2dnZXI6dDtyZXR1cm4gci5sZXZlbD10eXBlb2YgdD09InN0cmluZyI/dDp0LmxldmVsLHJ9Y29uc3QgcF89IlBBUlNFX0VSUk9SIixnXz0iSU5WQUxJRF9SRVFVRVNUIix5Xz0iTUVUSE9EX05PVF9GT1VORCIsd189IklOVkFMSURfUEFSQU1TIix0Zj0iSU5URVJOQUxfRVJST1IiLGVhPSJTRVJWRVJfRVJST1IiLG1fPVstMzI3MDAsLTMyNjAwLC0zMjYwMSwtMzI2MDIsLTMyNjAzXSxObj17W3BfXTp7Y29kZTotMzI3MDAsbWVzc2FnZToiUGFyc2UgZXJyb3IifSxbZ19dOntjb2RlOi0zMjYwMCxtZXNzYWdlOiJJbnZhbGlkIFJlcXVlc3QifSxbeV9dOntjb2RlOi0zMjYwMSxtZXNzYWdlOiJNZXRob2Qgbm90IGZvdW5kIn0sW3dfXTp7Y29kZTotMzI2MDIsbWVzc2FnZToiSW52YWxpZCBwYXJhbXMifSxbdGZdOntjb2RlOi0zMjYwMyxtZXNzYWdlOiJJbnRlcm5hbCBlcnJvciJ9LFtlYV06e2NvZGU6LTMyZTMsbWVzc2FnZToiU2VydmVyIGVycm9yIn19LHJmPWVhO2Z1bmN0aW9uIGJfKHQpe3JldHVybiBtXy5pbmNsdWRlcyh0KX1mdW5jdGlvbiBuZih0KXtyZXR1cm4gT2JqZWN0LmtleXMoTm4pLmluY2x1ZGVzKHQpP05uW3RdOk5uW3JmXX1mdW5jdGlvbiBFXyh0KXtjb25zdCBlPU9iamVjdC52YWx1ZXMoTm4pLmZpbmQocj0+ci5jb2RlPT09dCk7cmV0dXJuIGV8fE5uW3JmXX1mdW5jdGlvbiB2Xyh0LGUscil7cmV0dXJuIHQubWVzc2FnZS5pbmNsdWRlcygiZ2V0YWRkcmluZm8gRU5PVEZPVU5EIil8fHQubWVzc2FnZS5pbmNsdWRlcygiY29ubmVjdCBFQ09OTlJFRlVTRUQiKT9uZXcgRXJyb3IoYFVuYXZhaWxhYmxlICR7cn0gUlBDIHVybCBhdCAke2V9YCk6dH12YXIgdGE9e307LyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4KCglQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKCXB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC4KCglUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSAoJUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCglBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsCglJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00KCUxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SCglPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SCglQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgoJKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi92YXIgcmE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcmE9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIsbil7ci5fX3Byb3RvX189bn18fGZ1bmN0aW9uKHIsbil7Zm9yKHZhciBpIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09bltpXSl9LHJhKHQsZSl9O2Z1bmN0aW9uIF9fKHQsZSl7cmEodCxlKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPWU9PT1udWxsP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX12YXIgbmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmE9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciByLG49MSxpPWFyZ3VtZW50cy5sZW5ndGg7bjxpO24rKyl7cj1hcmd1bWVudHNbbl07Zm9yKHZhciBzIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscykmJihlW3NdPXJbc10pfXJldHVybiBlfSxuYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIHhfKHQsZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUuaW5kZXhPZihuKTwwJiYocltuXT10W25dKTtpZih0IT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGk9MCxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7aTxuLmxlbmd0aDtpKyspZS5pbmRleE9mKG5baV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LG5baV0pJiYocltuW2ldXT10W25baV1dKTtyZXR1cm4gcn1mdW5jdGlvbiBTXyh0LGUscixuKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoLHM9aTwzP2U6bj09PW51bGw/bj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUscik6bixvO2lmKHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGU9PSJmdW5jdGlvbiIpcz1SZWZsZWN0LmRlY29yYXRlKHQsZSxyLG4pO2Vsc2UgZm9yKHZhciBhPXQubGVuZ3RoLTE7YT49MDthLS0pKG89dFthXSkmJihzPShpPDM/byhzKTppPjM/byhlLHIscyk6byhlLHIpKXx8cyk7cmV0dXJuIGk+MyYmcyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixzKSxzfWZ1bmN0aW9uIElfKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7ZShyLG4sdCl9fWZ1bmN0aW9uIERfKHQsZSl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIEFfKHQsZSxyLG4pe2Z1bmN0aW9uIGkocyl7cmV0dXJuIHMgaW5zdGFuY2VvZiByP3M6bmV3IHIoZnVuY3Rpb24obyl7byhzKX0pfXJldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKGZ1bmN0aW9uKHMsbyl7ZnVuY3Rpb24gYShsKXt0cnl7dShuLm5leHQobCkpfWNhdGNoKGgpe28oaCl9fWZ1bmN0aW9uIGMobCl7dHJ5e3Uobi50aHJvdyhsKSl9Y2F0Y2goaCl7byhoKX19ZnVuY3Rpb24gdShsKXtsLmRvbmU/cyhsLnZhbHVlKTppKGwudmFsdWUpLnRoZW4oYSxjKX11KChuPW4uYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiBPXyh0LGUpe3ZhciByPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihzWzBdJjEpdGhyb3cgc1sxXTtyZXR1cm4gc1sxXX0sdHJ5czpbXSxvcHM6W119LG4saSxzLG87cmV0dXJuIG89e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSx0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIGEodSl7cmV0dXJuIGZ1bmN0aW9uKGwpe3JldHVybiBjKFt1LGxdKX19ZnVuY3Rpb24gYyh1KXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO3I7KXRyeXtpZihuPTEsaSYmKHM9dVswXSYyP2kucmV0dXJuOnVbMF0/aS50aHJvd3x8KChzPWkucmV0dXJuKSYmcy5jYWxsKGkpLDApOmkubmV4dCkmJiEocz1zLmNhbGwoaSx1WzFdKSkuZG9uZSlyZXR1cm4gcztzd2l0Y2goaT0wLHMmJih1PVt1WzBdJjIscy52YWx1ZV0pLHVbMF0pe2Nhc2UgMDpjYXNlIDE6cz11O2JyZWFrO2Nhc2UgNDpyZXR1cm4gci5sYWJlbCsrLHt2YWx1ZTp1WzFdLGRvbmU6ITF9O2Nhc2UgNTpyLmxhYmVsKyssaT11WzFdLHU9WzBdO2NvbnRpbnVlO2Nhc2UgNzp1PXIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKHM9ci50cnlzLCEocz1zLmxlbmd0aD4wJiZzW3MubGVuZ3RoLTFdKSYmKHVbMF09PT02fHx1WzBdPT09Mikpe3I9MDtjb250aW51ZX1pZih1WzBdPT09MyYmKCFzfHx1WzFdPnNbMF0mJnVbMV08c1szXSkpe3IubGFiZWw9dVsxXTticmVha31pZih1WzBdPT09NiYmci5sYWJlbDxzWzFdKXtyLmxhYmVsPXNbMV0scz11O2JyZWFrfWlmKHMmJnIubGFiZWw8c1syXSl7ci5sYWJlbD1zWzJdLHIub3BzLnB1c2godSk7YnJlYWt9c1syXSYmci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlfXU9ZS5jYWxsKHQscil9Y2F0Y2gobCl7dT1bNixsXSxpPTB9ZmluYWxseXtuPXM9MH1pZih1WzBdJjUpdGhyb3cgdVsxXTtyZXR1cm57dmFsdWU6dVswXT91WzFdOnZvaWQgMCxkb25lOiEwfX19ZnVuY3Rpb24gVF8odCxlLHIsbil7bj09PXZvaWQgMCYmKG49ciksdFtuXT1lW3JdfWZ1bmN0aW9uIEJfKHQsZSl7Zm9yKHZhciByIGluIHQpciE9PSJkZWZhdWx0IiYmIWUuaGFzT3duUHJvcGVydHkocikmJihlW3JdPXRbcl0pfWZ1bmN0aW9uIGlhKHQpe3ZhciBlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5pdGVyYXRvcixyPWUmJnRbZV0sbj0wO2lmKHIpcmV0dXJuIHIuY2FsbCh0KTtpZih0JiZ0eXBlb2YgdC5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm4+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W24rK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIHNmKHQsZSl7dmFyIHI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiB0O3ZhciBuPXIuY2FsbCh0KSxpLHM9W10sbzt0cnl7Zm9yKDsoZT09PXZvaWQgMHx8ZS0tID4wKSYmIShpPW4ubmV4dCgpKS5kb25lOylzLnB1c2goaS52YWx1ZSl9Y2F0Y2goYSl7bz17ZXJyb3I6YX19ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKHI9bi5yZXR1cm4pJiZyLmNhbGwobil9ZmluYWxseXtpZihvKXRocm93IG8uZXJyb3J9fXJldHVybiBzfWZ1bmN0aW9uIFJfKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoc2YoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9ZnVuY3Rpb24gTl8oKXtmb3IodmFyIHQ9MCxlPTAscj1hcmd1bWVudHMubGVuZ3RoO2U8cjtlKyspdCs9YXJndW1lbnRzW2VdLmxlbmd0aDtmb3IodmFyIG49QXJyYXkodCksaT0wLGU9MDtlPHI7ZSsrKWZvcih2YXIgcz1hcmd1bWVudHNbZV0sbz0wLGE9cy5sZW5ndGg7bzxhO28rKyxpKyspbltpXT1zW29dO3JldHVybiBufWZ1bmN0aW9uIFBuKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgUG4/KHRoaXMudj10LHRoaXMpOm5ldyBQbih0KX1mdW5jdGlvbiBQXyh0LGUscil7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBuPXIuYXBwbHkodCxlfHxbXSksaSxzPVtdO3JldHVybiBpPXt9LG8oIm5leHQiKSxvKCJ0aHJvdyIpLG8oInJldHVybiIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gbyhmKXtuW2ZdJiYoaVtmXT1mdW5jdGlvbihwKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZCxnKXtzLnB1c2goW2YscCxkLGddKT4xfHxhKGYscCl9KX0pfWZ1bmN0aW9uIGEoZixwKXt0cnl7YyhuW2ZdKHApKX1jYXRjaChkKXtoKHNbMF1bM10sZCl9fWZ1bmN0aW9uIGMoZil7Zi52YWx1ZSBpbnN0YW5jZW9mIFBuP1Byb21pc2UucmVzb2x2ZShmLnZhbHVlLnYpLnRoZW4odSxsKTpoKHNbMF1bMl0sZil9ZnVuY3Rpb24gdShmKXthKCJuZXh0IixmKX1mdW5jdGlvbiBsKGYpe2EoInRocm93IixmKX1mdW5jdGlvbiBoKGYscCl7ZihwKSxzLnNoaWZ0KCkscy5sZW5ndGgmJmEoc1swXVswXSxzWzBdWzFdKX19ZnVuY3Rpb24gJF8odCl7dmFyIGUscjtyZXR1cm4gZT17fSxuKCJuZXh0IiksbigidGhyb3ciLGZ1bmN0aW9uKGkpe3Rocm93IGl9KSxuKCJyZXR1cm4iKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBuKGkscyl7ZVtpXT10W2ldP2Z1bmN0aW9uKG8pe3JldHVybihyPSFyKT97dmFsdWU6UG4odFtpXShvKSksZG9uZTppPT09InJldHVybiJ9OnM/cyhvKTpvfTpzfX1mdW5jdGlvbiBDXyh0KXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIGU9dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0scjtyZXR1cm4gZT9lLmNhbGwodCk6KHQ9dHlwZW9mIGlhPT0iZnVuY3Rpb24iP2lhKHQpOnRbU3ltYm9sLml0ZXJhdG9yXSgpLHI9e30sbigibmV4dCIpLG4oInRocm93IiksbigicmV0dXJuIikscltTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30scik7ZnVuY3Rpb24gbihzKXtyW3NdPXRbc10mJmZ1bmN0aW9uKG8pe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihhLGMpe289dFtzXShvKSxpKGEsYyxvLmRvbmUsby52YWx1ZSl9KX19ZnVuY3Rpb24gaShzLG8sYSxjKXtQcm9taXNlLnJlc29sdmUoYykudGhlbihmdW5jdGlvbih1KXtzKHt2YWx1ZTp1LGRvbmU6YX0pfSxvKX19ZnVuY3Rpb24gVV8odCxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJyYXciLHt2YWx1ZTplfSk6dC5yYXc9ZSx0fWZ1bmN0aW9uIExfKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZih0IT1udWxsKWZvcih2YXIgciBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIGtfKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBNXyh0LGUpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7cmV0dXJuIGUuZ2V0KHQpfWZ1bmN0aW9uIEZfKHQsZSxyKXtpZighZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZSIpO3JldHVybiBlLnNldCh0LHIpLHJ9dmFyIHFfPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGdldCBfX2Fzc2lnbigpe3JldHVybiBuYX0sX19hc3luY0RlbGVnYXRvcjokXyxfX2FzeW5jR2VuZXJhdG9yOlBfLF9fYXN5bmNWYWx1ZXM6Q18sX19hd2FpdDpQbixfX2F3YWl0ZXI6QV8sX19jbGFzc1ByaXZhdGVGaWVsZEdldDpNXyxfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0OkZfLF9fY3JlYXRlQmluZGluZzpUXyxfX2RlY29yYXRlOlNfLF9fZXhwb3J0U3RhcjpCXyxfX2V4dGVuZHM6X18sX19nZW5lcmF0b3I6T18sX19pbXBvcnREZWZhdWx0OmtfLF9faW1wb3J0U3RhcjpMXyxfX21ha2VUZW1wbGF0ZU9iamVjdDpVXyxfX21ldGFkYXRhOkRfLF9fcGFyYW06SV8sX19yZWFkOnNmLF9fcmVzdDp4XyxfX3NwcmVhZDpSXyxfX3NwcmVhZEFycmF5czpOXyxfX3ZhbHVlczppYX0pLHpfPXlhKHFfKSwkdD17fSxvZjtmdW5jdGlvbiBqXygpe2lmKG9mKXJldHVybiAkdDtvZj0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksJHQuaXNCcm93c2VyQ3J5cHRvQXZhaWxhYmxlPSR0LmdldFN1YnRsZUNyeXB0bz0kdC5nZXRCcm93ZXJDcnlwdG89dm9pZCAwO2Z1bmN0aW9uIHQoKXtyZXR1cm4gdXQ/LmNyeXB0b3x8dXQ/Lm1zQ3J5cHRvfHx7fX0kdC5nZXRCcm93ZXJDcnlwdG89dDtmdW5jdGlvbiBlKCl7Y29uc3Qgbj10KCk7cmV0dXJuIG4uc3VidGxlfHxuLndlYmtpdFN1YnRsZX0kdC5nZXRTdWJ0bGVDcnlwdG89ZTtmdW5jdGlvbiByKCl7cmV0dXJuISF0KCkmJiEhZSgpfXJldHVybiAkdC5pc0Jyb3dzZXJDcnlwdG9BdmFpbGFibGU9ciwkdH12YXIgQ3Q9e30sYWY7ZnVuY3Rpb24gS18oKXtpZihhZilyZXR1cm4gQ3Q7YWY9MSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEN0LmlzQnJvd3Nlcj1DdC5pc05vZGU9Q3QuaXNSZWFjdE5hdGl2ZT12b2lkIDA7ZnVuY3Rpb24gdCgpe3JldHVybiB0eXBlb2YgZG9jdW1lbnQ+InUiJiZ0eXBlb2YgbmF2aWdhdG9yPCJ1IiYmbmF2aWdhdG9yLnByb2R1Y3Q9PT0iUmVhY3ROYXRpdmUifUN0LmlzUmVhY3ROYXRpdmU9dDtmdW5jdGlvbiBlKCl7cmV0dXJuIHR5cGVvZiBwcm9jZXNzPCJ1IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnM8InUiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlPCJ1In1DdC5pc05vZGU9ZTtmdW5jdGlvbiByKCl7cmV0dXJuIXQoKSYmIWUoKX1yZXR1cm4gQ3QuaXNCcm93c2VyPXIsQ3R9dmFyIGNmO2Z1bmN0aW9uIFZfKCl7cmV0dXJuIGNmfHwoY2Y9MSxmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7Y29uc3QgZT16XztlLl9fZXhwb3J0U3RhcihqXygpLHQpLGUuX19leHBvcnRTdGFyKEtfKCksdCl9KHRhKSksdGF9dmFyIEhfPVZfKCk7ZnVuY3Rpb24gZ3QodD0zKXtjb25zdCBlPURhdGUubm93KCkqTWF0aC5wb3coMTAsdCkscj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTWF0aC5wb3coMTAsdCkpO3JldHVybiBlK3J9ZnVuY3Rpb24gYXIodD02KXtyZXR1cm4gQmlnSW50KGd0KHQpKX1mdW5jdGlvbiBVdCh0LGUscil7cmV0dXJue2lkOnJ8fGd0KCksanNvbnJwYzoiMi4wIixtZXRob2Q6dCxwYXJhbXM6ZX19ZnVuY3Rpb24gS2kodCxlKXtyZXR1cm57aWQ6dCxqc29ucnBjOiIyLjAiLHJlc3VsdDplfX1mdW5jdGlvbiBzYSh0LGUscil7cmV0dXJue2lkOnQsanNvbnJwYzoiMi4wIixlcnJvcjpXXyhlKX19ZnVuY3Rpb24gV18odCxlKXtyZXR1cm4gdHlwZW9mIHQ+InUiP25mKHRmKToodHlwZW9mIHQ9PSJzdHJpbmciJiYodD1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sbmYoZWEpKSx7bWVzc2FnZTp0fSkpLGJfKHQuY29kZSkmJih0PUVfKHQuY29kZSkpLHQpfWNsYXNzIEdfe31jbGFzcyBZXyBleHRlbmRzIEdfe2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19Y2xhc3MgWl8gZXh0ZW5kcyBZX3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpfX1jb25zdCBYXz0iXndzcz86IjtmdW5jdGlvbiBKXyh0KXtjb25zdCBlPXQubWF0Y2gobmV3IFJlZ0V4cCgvXlx3KzovLCJnaSIpKTtpZighKCFlfHwhZS5sZW5ndGgpKXJldHVybiBlWzBdfWZ1bmN0aW9uIFFfKHQsZSl7Y29uc3Qgcj1KXyh0KTtyZXR1cm4gdHlwZW9mIHI+InUiPyExOm5ldyBSZWdFeHAoZSkudGVzdChyKX1mdW5jdGlvbiB1Zih0KXtyZXR1cm4gUV8odCxYXyl9ZnVuY3Rpb24gZXgodCl7cmV0dXJuIG5ldyBSZWdFeHAoIndzcz86Ly9sb2NhbGhvc3QoOmR7Miw1fSk/IikudGVzdCh0KX1mdW5jdGlvbiBsZih0KXtyZXR1cm4gdHlwZW9mIHQ9PSJvYmplY3QiJiYiaWQiaW4gdCYmImpzb25ycGMiaW4gdCYmdC5qc29ucnBjPT09IjIuMCJ9ZnVuY3Rpb24gb2EodCl7cmV0dXJuIGxmKHQpJiYibWV0aG9kImluIHR9ZnVuY3Rpb24gVmkodCl7cmV0dXJuIGxmKHQpJiYoeXQodCl8fEdlKHQpKX1mdW5jdGlvbiB5dCh0KXtyZXR1cm4icmVzdWx0ImluIHR9ZnVuY3Rpb24gR2UodCl7cmV0dXJuImVycm9yImluIHR9Y2xhc3MgdHggZXh0ZW5kcyBaX3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLmV2ZW50cz1uZXcgWGUuRXZlbnRFbWl0dGVyLHRoaXMuaGFzUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXJzPSExLHRoaXMuY29ubmVjdGlvbj10aGlzLnNldENvbm5lY3Rpb24oZSksdGhpcy5jb25uZWN0aW9uLmNvbm5lY3RlZCYmdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl9YXN5bmMgY29ubmVjdChlPXRoaXMuY29ubmVjdGlvbil7YXdhaXQgdGhpcy5vcGVuKGUpfWFzeW5jIGRpc2Nvbm5lY3QoKXthd2FpdCB0aGlzLmNsb3NlKCl9b24oZSxyKXt0aGlzLmV2ZW50cy5vbihlLHIpfW9uY2UoZSxyKXt0aGlzLmV2ZW50cy5vbmNlKGUscil9b2ZmKGUscil7dGhpcy5ldmVudHMub2ZmKGUscil9cmVtb3ZlTGlzdGVuZXIoZSxyKXt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihlLHIpfWFzeW5jIHJlcXVlc3QoZSxyKXtyZXR1cm4gdGhpcy5yZXF1ZXN0U3RyaWN0KFV0KGUubWV0aG9kLGUucGFyYW1zfHxbXSxlLmlkfHxhcigpLnRvU3RyaW5nKCkpLHIpfWFzeW5jIHJlcXVlc3RTdHJpY3QoZSxyKXtyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMobixpKT0+e2lmKCF0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkKXRyeXthd2FpdCB0aGlzLm9wZW4oKX1jYXRjaChzKXtpKHMpfXRoaXMuZXZlbnRzLm9uKGAke2UuaWR9YCxzPT57R2Uocyk/aShzLmVycm9yKTpuKHMucmVzdWx0KX0pO3RyeXthd2FpdCB0aGlzLmNvbm5lY3Rpb24uc2VuZChlLHIpfWNhdGNoKHMpe2kocyl9fSl9c2V0Q29ubmVjdGlvbihlPXRoaXMuY29ubmVjdGlvbil7cmV0dXJuIGV9b25QYXlsb2FkKGUpe3RoaXMuZXZlbnRzLmVtaXQoInBheWxvYWQiLGUpLFZpKGUpP3RoaXMuZXZlbnRzLmVtaXQoYCR7ZS5pZH1gLGUpOnRoaXMuZXZlbnRzLmVtaXQoIm1lc3NhZ2UiLHt0eXBlOmUubWV0aG9kLGRhdGE6ZS5wYXJhbXN9KX1vbkNsb3NlKGUpe2UmJmUuY29kZT09PTNlMyYmdGhpcy5ldmVudHMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Rpb24gY2xvc2VkIGFibm9ybWFsbHkgd2l0aCBjb2RlOiAke2UuY29kZX0gJHtlLnJlYXNvbj9gKCR7ZS5yZWFzb259KWA6IiJ9YCkpLHRoaXMuZXZlbnRzLmVtaXQoImRpc2Nvbm5lY3QiKX1hc3luYyBvcGVuKGU9dGhpcy5jb25uZWN0aW9uKXt0aGlzLmNvbm5lY3Rpb249PT1lJiZ0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkfHwodGhpcy5jb25uZWN0aW9uLmNvbm5lY3RlZCYmdGhpcy5jbG9zZSgpLHR5cGVvZiBlPT0ic3RyaW5nIiYmKGF3YWl0IHRoaXMuY29ubmVjdGlvbi5vcGVuKGUpLGU9dGhpcy5jb25uZWN0aW9uKSx0aGlzLmNvbm5lY3Rpb249dGhpcy5zZXRDb25uZWN0aW9uKGUpLGF3YWl0IHRoaXMuY29ubmVjdGlvbi5vcGVuKCksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCksdGhpcy5ldmVudHMuZW1pdCgiY29ubmVjdCIpKX1hc3luYyBjbG9zZSgpe2F3YWl0IHRoaXMuY29ubmVjdGlvbi5jbG9zZSgpfXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKXt0aGlzLmhhc1JlZ2lzdGVyZWRFdmVudExpc3RlbmVyc3x8KHRoaXMuY29ubmVjdGlvbi5vbigicGF5bG9hZCIsZT0+dGhpcy5vblBheWxvYWQoZSkpLHRoaXMuY29ubmVjdGlvbi5vbigiY2xvc2UiLGU9PnRoaXMub25DbG9zZShlKSksdGhpcy5jb25uZWN0aW9uLm9uKCJlcnJvciIsZT0+dGhpcy5ldmVudHMuZW1pdCgiZXJyb3IiLGUpKSx0aGlzLmNvbm5lY3Rpb24ub24oInJlZ2lzdGVyX2Vycm9yIixlPT50aGlzLm9uQ2xvc2UoKSksdGhpcy5oYXNSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcnM9ITApfX1jb25zdCByeD0oKT0+dHlwZW9mIFdlYlNvY2tldDwidSI/V2ViU29ja2V0OnR5cGVvZiBnbG9iYWw8InUiJiZ0eXBlb2YgZ2xvYmFsLldlYlNvY2tldDwidSI/Z2xvYmFsLldlYlNvY2tldDp0eXBlb2Ygd2luZG93PCJ1IiYmdHlwZW9mIHdpbmRvdy5XZWJTb2NrZXQ8InUiP3dpbmRvdy5XZWJTb2NrZXQ6dHlwZW9mIHNlbGY8InUiJiZ0eXBlb2Ygc2VsZi5XZWJTb2NrZXQ8InUiP3NlbGYuV2ViU29ja2V0OnJlcXVpcmUoIndzIiksbng9KCk9PnR5cGVvZiBXZWJTb2NrZXQ8InUifHx0eXBlb2YgZ2xvYmFsPCJ1IiYmdHlwZW9mIGdsb2JhbC5XZWJTb2NrZXQ8InUifHx0eXBlb2Ygd2luZG93PCJ1IiYmdHlwZW9mIHdpbmRvdy5XZWJTb2NrZXQ8InUifHx0eXBlb2Ygc2VsZjwidSImJnR5cGVvZiBzZWxmLldlYlNvY2tldDwidSIsaGY9dD0+dC5zcGxpdCgiPyIpWzBdLGZmPTEwLGl4PXJ4KCk7bGV0IHN4PWNsYXNze2NvbnN0cnVjdG9yKGUpe2lmKHRoaXMudXJsPWUsdGhpcy5ldmVudHM9bmV3IFhlLkV2ZW50RW1pdHRlcix0aGlzLnJlZ2lzdGVyaW5nPSExLCF1ZihlKSl0aHJvdyBuZXcgRXJyb3IoYFByb3ZpZGVkIFVSTCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIFdlYlNvY2tldCBjb25uZWN0aW9uOiAke2V9YCk7dGhpcy51cmw9ZX1nZXQgY29ubmVjdGVkKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnNvY2tldDwidSJ9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5yZWdpc3RlcmluZ31vbihlLHIpe3RoaXMuZXZlbnRzLm9uKGUscil9b25jZShlLHIpe3RoaXMuZXZlbnRzLm9uY2UoZSxyKX1vZmYoZSxyKXt0aGlzLmV2ZW50cy5vZmYoZSxyKX1yZW1vdmVMaXN0ZW5lcihlLHIpe3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGUscil9YXN5bmMgb3BlbihlPXRoaXMudXJsKXthd2FpdCB0aGlzLnJlZ2lzdGVyKGUpfWFzeW5jIGNsb3NlKCl7cmV0dXJuIG5ldyBQcm9taXNlKChlLHIpPT57aWYodHlwZW9mIHRoaXMuc29ja2V0PiJ1Iil7cihuZXcgRXJyb3IoIkNvbm5lY3Rpb24gYWxyZWFkeSBjbG9zZWQiKSk7cmV0dXJufXRoaXMuc29ja2V0Lm9uY2xvc2U9bj0+e3RoaXMub25DbG9zZShuKSxlKCl9LHRoaXMuc29ja2V0LmNsb3NlKCl9KX1hc3luYyBzZW5kKGUpe3R5cGVvZiB0aGlzLnNvY2tldD4idSImJih0aGlzLnNvY2tldD1hd2FpdCB0aGlzLnJlZ2lzdGVyKCkpO3RyeXt0aGlzLnNvY2tldC5zZW5kKGVuKGUpKX1jYXRjaChyKXt0aGlzLm9uRXJyb3IoZS5pZCxyKX19cmVnaXN0ZXIoZT10aGlzLnVybCl7aWYoIXVmKGUpKXRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgVVJMIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggV2ViU29ja2V0IGNvbm5lY3Rpb246ICR7ZX1gKTtpZih0aGlzLnJlZ2lzdGVyaW5nKXtjb25zdCByPXRoaXMuZXZlbnRzLmdldE1heExpc3RlbmVycygpO3JldHVybih0aGlzLmV2ZW50cy5saXN0ZW5lckNvdW50KCJyZWdpc3Rlcl9lcnJvciIpPj1yfHx0aGlzLmV2ZW50cy5saXN0ZW5lckNvdW50KCJvcGVuIik+PXIpJiZ0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMocisxKSxuZXcgUHJvbWlzZSgobixpKT0+e3RoaXMuZXZlbnRzLm9uY2UoInJlZ2lzdGVyX2Vycm9yIixzPT57dGhpcy5yZXNldE1heExpc3RlbmVycygpLGkocyl9KSx0aGlzLmV2ZW50cy5vbmNlKCJvcGVuIiwoKT0+e2lmKHRoaXMucmVzZXRNYXhMaXN0ZW5lcnMoKSx0eXBlb2YgdGhpcy5zb2NrZXQ+InUiKXJldHVybiBpKG5ldyBFcnJvcigiV2ViU29ja2V0IGNvbm5lY3Rpb24gaXMgbWlzc2luZyBvciBpbnZhbGlkIikpO24odGhpcy5zb2NrZXQpfSl9KX1yZXR1cm4gdGhpcy51cmw9ZSx0aGlzLnJlZ2lzdGVyaW5nPSEwLG5ldyBQcm9taXNlKChyLG4pPT57Y29uc3QgaT1IXy5pc1JlYWN0TmF0aXZlKCk/dm9pZCAwOntyZWplY3RVbmF1dGhvcml6ZWQ6IWV4KGUpfSxzPW5ldyBpeChlLFtdLGkpO254KCk/cy5vbmVycm9yPW89Pntjb25zdCBhPW87bih0aGlzLmVtaXRFcnJvcihhLmVycm9yKSl9OnMub24oImVycm9yIixvPT57bih0aGlzLmVtaXRFcnJvcihvKSl9KSxzLm9ub3Blbj0oKT0+e3RoaXMub25PcGVuKHMpLHIocyl9fSl9b25PcGVuKGUpe2Uub25tZXNzYWdlPXI9PnRoaXMub25QYXlsb2FkKHIpLGUub25jbG9zZT1yPT50aGlzLm9uQ2xvc2UociksdGhpcy5zb2NrZXQ9ZSx0aGlzLnJlZ2lzdGVyaW5nPSExLHRoaXMuZXZlbnRzLmVtaXQoIm9wZW4iKX1vbkNsb3NlKGUpe3RoaXMuc29ja2V0PXZvaWQgMCx0aGlzLnJlZ2lzdGVyaW5nPSExLHRoaXMuZXZlbnRzLmVtaXQoImNsb3NlIixlKX1vblBheWxvYWQoZSl7aWYodHlwZW9mIGUuZGF0YT4idSIpcmV0dXJuO2NvbnN0IHI9dHlwZW9mIGUuZGF0YT09InN0cmluZyI/UHIoZS5kYXRhKTplLmRhdGE7dGhpcy5ldmVudHMuZW1pdCgicGF5bG9hZCIscil9b25FcnJvcihlLHIpe2NvbnN0IG49dGhpcy5wYXJzZUVycm9yKHIpLGk9bi5tZXNzYWdlfHxuLnRvU3RyaW5nKCkscz1zYShlLGkpO3RoaXMuZXZlbnRzLmVtaXQoInBheWxvYWQiLHMpfXBhcnNlRXJyb3IoZSxyPXRoaXMudXJsKXtyZXR1cm4gdl8oZSxoZihyKSwiV1MiKX1yZXNldE1heExpc3RlbmVycygpe3RoaXMuZXZlbnRzLmdldE1heExpc3RlbmVycygpPmZmJiZ0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMoZmYpfWVtaXRFcnJvcihlKXtjb25zdCByPXRoaXMucGFyc2VFcnJvcihuZXcgRXJyb3IoZT8ubWVzc2FnZXx8YFdlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZCBmb3IgaG9zdDogJHtoZih0aGlzLnVybCl9YCkpO3JldHVybiB0aGlzLmV2ZW50cy5lbWl0KCJyZWdpc3Rlcl9lcnJvciIscikscn19O2Z1bmN0aW9uIG94KHQsZSl7cmV0dXJuIHQ9PT1lfHxOdW1iZXIuaXNOYU4odCkmJk51bWJlci5pc05hTihlKX1mdW5jdGlvbiBkZih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KS5maWx0ZXIoZT0+T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHQsZSkpfWZ1bmN0aW9uIHBmKHQpe3JldHVybiB0PT1udWxsP3Q9PT12b2lkIDA/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1jb25zdCBheD0iW29iamVjdCBSZWdFeHBdIixjeD0iW29iamVjdCBTdHJpbmddIix1eD0iW29iamVjdCBOdW1iZXJdIixseD0iW29iamVjdCBCb29sZWFuXSIsZ2Y9IltvYmplY3QgQXJndW1lbnRzXSIsaHg9IltvYmplY3QgU3ltYm9sXSIsZng9IltvYmplY3QgRGF0ZV0iLGR4PSJbb2JqZWN0IE1hcF0iLHB4PSJbb2JqZWN0IFNldF0iLGd4PSJbb2JqZWN0IEFycmF5XSIseXg9IltvYmplY3QgRnVuY3Rpb25dIix3eD0iW29iamVjdCBBcnJheUJ1ZmZlcl0iLGFhPSJbb2JqZWN0IE9iamVjdF0iLG14PSJbb2JqZWN0IEVycm9yXSIsYng9IltvYmplY3QgRGF0YVZpZXddIixFeD0iW29iamVjdCBVaW50OEFycmF5XSIsdng9IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIixfeD0iW29iamVjdCBVaW50MTZBcnJheV0iLHh4PSJbb2JqZWN0IFVpbnQzMkFycmF5XSIsU3g9IltvYmplY3QgQmlnVWludDY0QXJyYXldIixJeD0iW29iamVjdCBJbnQ4QXJyYXldIixEeD0iW29iamVjdCBJbnQxNkFycmF5XSIsQXg9IltvYmplY3QgSW50MzJBcnJheV0iLE94PSJbb2JqZWN0IEJpZ0ludDY0QXJyYXldIixUeD0iW29iamVjdCBGbG9hdDMyQXJyYXldIixCeD0iW29iamVjdCBGbG9hdDY0QXJyYXldIjtmdW5jdGlvbiB5Zih0KXtpZighdHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiExO2NvbnN0IGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3JldHVybiBlPT09bnVsbHx8ZT09PU9iamVjdC5wcm90b3R5cGV8fE9iamVjdC5nZXRQcm90b3R5cGVPZihlKT09PW51bGw/T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpPT09IltvYmplY3QgT2JqZWN0XSI6ITF9ZnVuY3Rpb24gUngodCxlLHIpe3JldHVybiAkbih0LGUsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHIpfWZ1bmN0aW9uICRuKHQsZSxyLG4saSxzLG8pe2NvbnN0IGE9byh0LGUscixuLGkscyk7aWYoYSE9PXZvaWQgMClyZXR1cm4gYTtpZih0eXBlb2YgdD09dHlwZW9mIGUpc3dpdGNoKHR5cGVvZiB0KXtjYXNlImJpZ2ludCI6Y2FzZSJzdHJpbmciOmNhc2UiYm9vbGVhbiI6Y2FzZSJzeW1ib2wiOmNhc2UidW5kZWZpbmVkIjpyZXR1cm4gdD09PWU7Y2FzZSJudW1iZXIiOnJldHVybiB0PT09ZXx8T2JqZWN0LmlzKHQsZSk7Y2FzZSJmdW5jdGlvbiI6cmV0dXJuIHQ9PT1lO2Nhc2Uib2JqZWN0IjpyZXR1cm4gQ24odCxlLHMsbyl9cmV0dXJuIENuKHQsZSxzLG8pfWZ1bmN0aW9uIENuKHQsZSxyLG4pe2lmKE9iamVjdC5pcyh0LGUpKXJldHVybiEwO2xldCBpPXBmKHQpLHM9cGYoZSk7aWYoaT09PWdmJiYoaT1hYSkscz09PWdmJiYocz1hYSksaSE9PXMpcmV0dXJuITE7c3dpdGNoKGkpe2Nhc2UgY3g6cmV0dXJuIHQudG9TdHJpbmcoKT09PWUudG9TdHJpbmcoKTtjYXNlIHV4Ontjb25zdCBjPXQudmFsdWVPZigpLHU9ZS52YWx1ZU9mKCk7cmV0dXJuIG94KGMsdSl9Y2FzZSBseDpjYXNlIGZ4OmNhc2UgaHg6cmV0dXJuIE9iamVjdC5pcyh0LnZhbHVlT2YoKSxlLnZhbHVlT2YoKSk7Y2FzZSBheDpyZXR1cm4gdC5zb3VyY2U9PT1lLnNvdXJjZSYmdC5mbGFncz09PWUuZmxhZ3M7Y2FzZSB5eDpyZXR1cm4gdD09PWV9cj1yPz9uZXcgTWFwO2NvbnN0IG89ci5nZXQodCksYT1yLmdldChlKTtpZihvIT1udWxsJiZhIT1udWxsKXJldHVybiBvPT09ZTtyLnNldCh0LGUpLHIuc2V0KGUsdCk7dHJ5e3N3aXRjaChpKXtjYXNlIGR4OntpZih0LnNpemUhPT1lLnNpemUpcmV0dXJuITE7Zm9yKGNvbnN0W2MsdV1vZiB0LmVudHJpZXMoKSlpZighZS5oYXMoYyl8fCEkbih1LGUuZ2V0KGMpLGMsdCxlLHIsbikpcmV0dXJuITE7cmV0dXJuITB9Y2FzZSBweDp7aWYodC5zaXplIT09ZS5zaXplKXJldHVybiExO2NvbnN0IGM9QXJyYXkuZnJvbSh0LnZhbHVlcygpKSx1PUFycmF5LmZyb20oZS52YWx1ZXMoKSk7Zm9yKGxldCBsPTA7bDxjLmxlbmd0aDtsKyspe2NvbnN0IGg9Y1tsXSxmPXUuZmluZEluZGV4KHA9PiRuKGgscCx2b2lkIDAsdCxlLHIsbikpO2lmKGY9PT0tMSlyZXR1cm4hMTt1LnNwbGljZShmLDEpfXJldHVybiEwfWNhc2UgZ3g6Y2FzZSBFeDpjYXNlIHZ4OmNhc2UgX3g6Y2FzZSB4eDpjYXNlIFN4OmNhc2UgSXg6Y2FzZSBEeDpjYXNlIEF4OmNhc2UgT3g6Y2FzZSBUeDpjYXNlIEJ4OntpZih0eXBlb2YgQnVmZmVyPCJ1IiYmQnVmZmVyLmlzQnVmZmVyKHQpIT09QnVmZmVyLmlzQnVmZmVyKGUpfHx0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgYz0wO2M8dC5sZW5ndGg7YysrKWlmKCEkbih0W2NdLGVbY10sYyx0LGUscixuKSlyZXR1cm4hMTtyZXR1cm4hMH1jYXNlIHd4OnJldHVybiB0LmJ5dGVMZW5ndGghPT1lLmJ5dGVMZW5ndGg/ITE6Q24obmV3IFVpbnQ4QXJyYXkodCksbmV3IFVpbnQ4QXJyYXkoZSkscixuKTtjYXNlIGJ4OnJldHVybiB0LmJ5dGVMZW5ndGghPT1lLmJ5dGVMZW5ndGh8fHQuYnl0ZU9mZnNldCE9PWUuYnl0ZU9mZnNldD8hMTpDbihuZXcgVWludDhBcnJheSh0KSxuZXcgVWludDhBcnJheShlKSxyLG4pO2Nhc2UgbXg6cmV0dXJuIHQubmFtZT09PWUubmFtZSYmdC5tZXNzYWdlPT09ZS5tZXNzYWdlO2Nhc2UgYWE6e2lmKCEoQ24odC5jb25zdHJ1Y3RvcixlLmNvbnN0cnVjdG9yLHIsbil8fHlmKHQpJiZ5ZihlKSkpcmV0dXJuITE7Y29uc3QgdT1bLi4uT2JqZWN0LmtleXModCksLi4uZGYodCldLGw9Wy4uLk9iamVjdC5rZXlzKGUpLC4uLmRmKGUpXTtpZih1Lmxlbmd0aCE9PWwubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgaD0wO2g8dS5sZW5ndGg7aCsrKXtjb25zdCBmPXVbaF0scD10W2ZdO2lmKCFPYmplY3QuaGFzT3duKGUsZikpcmV0dXJuITE7Y29uc3QgZD1lW2ZdO2lmKCEkbihwLGQsZix0LGUscixuKSlyZXR1cm4hMX1yZXR1cm4hMH1kZWZhdWx0OnJldHVybiExfX1maW5hbGx5e3IuZGVsZXRlKHQpLHIuZGVsZXRlKGUpfX1mdW5jdGlvbiBOeCgpe31mdW5jdGlvbiBQeCh0LGUpe3JldHVybiBSeCh0LGUsTngpfWNvbnN0IHdmPSJ3YyIsbWY9MixjYT0iY29yZSIsd3Q9YCR7d2Z9QDI6JHtjYX06YCwkeD17bG9nZ2VyOiJlcnJvciJ9LEN4PXtkYXRhYmFzZToiOm1lbW9yeToifSxVeD0iY3J5cHRvIixiZj0iY2xpZW50X2VkMjU1MTlfc2VlZCIsTHg9TS5PTkVfREFZLGt4PSJrZXljaGFpbiIsTXg9IjAuMyIsRng9Im1lc3NhZ2VzIixxeD0iMC4zIix6eD1NLlNJWF9IT1VSUyxqeD0icHVibGlzaGVyIixFZj0iaXJuIixLeD0iZXJyb3IiLHZmPSJ3c3M6Ly9yZWxheS53YWxsZXRjb25uZWN0Lm9yZyIsVng9InJlbGF5ZXIiLHNlPXttZXNzYWdlOiJyZWxheWVyX21lc3NhZ2UiLG1lc3NhZ2VfYWNrOiJyZWxheWVyX21lc3NhZ2VfYWNrIixjb25uZWN0OiJyZWxheWVyX2Nvbm5lY3QiLGRpc2Nvbm5lY3Q6InJlbGF5ZXJfZGlzY29ubmVjdCIsZXJyb3I6InJlbGF5ZXJfZXJyb3IiLGNvbm5lY3Rpb25fc3RhbGxlZDoicmVsYXllcl9jb25uZWN0aW9uX3N0YWxsZWQiLHRyYW5zcG9ydF9jbG9zZWQ6InJlbGF5ZXJfdHJhbnNwb3J0X2Nsb3NlZCIscHVibGlzaDoicmVsYXllcl9wdWJsaXNoIn0sSHg9Il9zdWJzY3JpcHRpb24iLFllPXtwYXlsb2FkOiJwYXlsb2FkIixjb25uZWN0OiJjb25uZWN0IixkaXNjb25uZWN0OiJkaXNjb25uZWN0IixlcnJvcjoiZXJyb3IifSxXeD0uMSx1YT0iMi4yMy4xMCIsdGU9e2xpbmtfbW9kZToibGlua19tb2RlIixyZWxheToicmVsYXkifSxIaT17aW5ib3VuZDoiaW5ib3VuZCIsb3V0Ym91bmQ6Im91dGJvdW5kIn0sR3g9IjAuMyIsWXg9IldBTExFVENPTk5FQ1RfQ0xJRU5UX0lEIixfZj0iV0FMTEVUQ09OTkVDVF9MSU5LX01PREVfQVBQUyIsamU9e2NyZWF0ZWQ6InN1YnNjcmlwdGlvbl9jcmVhdGVkIixkZWxldGVkOiJzdWJzY3JpcHRpb25fZGVsZXRlZCIsZXhwaXJlZDoic3Vic2NyaXB0aW9uX2V4cGlyZWQiLGRpc2FibGVkOiJzdWJzY3JpcHRpb25fZGlzYWJsZWQiLHN5bmM6InN1YnNjcmlwdGlvbl9zeW5jIixyZXN1YnNjcmliZWQ6InN1YnNjcmlwdGlvbl9yZXN1YnNjcmliZWQifSxaeD0ic3Vic2NyaXB0aW9uIixYeD0iMC4zIixKeD0icGFpcmluZyIsUXg9IjAuMyIsVW49e3djX3BhaXJpbmdEZWxldGU6e3JlcTp7dHRsOk0uT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjFlM30scmVzOnt0dGw6TS5PTkVfREFZLHByb21wdDohMSx0YWc6MTAwMX19LHdjX3BhaXJpbmdQaW5nOntyZXE6e3R0bDpNLlRISVJUWV9TRUNPTkRTLHByb21wdDohMSx0YWc6MTAwMn0scmVzOnt0dGw6TS5USElSVFlfU0VDT05EUyxwcm9tcHQ6ITEsdGFnOjEwMDN9fSx1bnJlZ2lzdGVyZWRfbWV0aG9kOntyZXE6e3R0bDpNLk9ORV9EQVkscHJvbXB0OiExLHRhZzowfSxyZXM6e3R0bDpNLk9ORV9EQVkscHJvbXB0OiExLHRhZzowfX19LEFyPXtjcmVhdGU6InBhaXJpbmdfY3JlYXRlIixleHBpcmU6InBhaXJpbmdfZXhwaXJlIixkZWxldGU6InBhaXJpbmdfZGVsZXRlIixwaW5nOiJwYWlyaW5nX3BpbmcifSxpdD17Y3JlYXRlZDoiaGlzdG9yeV9jcmVhdGVkIix1cGRhdGVkOiJoaXN0b3J5X3VwZGF0ZWQiLGRlbGV0ZWQ6Imhpc3RvcnlfZGVsZXRlZCIsc3luYzoiaGlzdG9yeV9zeW5jIn0sZVM9Imhpc3RvcnkiLHRTPSIwLjMiLHJTPSJleHBpcmVyIixaZT17Y3JlYXRlZDoiZXhwaXJlcl9jcmVhdGVkIixkZWxldGVkOiJleHBpcmVyX2RlbGV0ZWQiLGV4cGlyZWQ6ImV4cGlyZXJfZXhwaXJlZCIsc3luYzoiZXhwaXJlcl9zeW5jIn0sblM9IjAuMyIsaVM9InZlcmlmeS1hcGkiLHNTPSJodHRwczovL3ZlcmlmeS53YWxsZXRjb25uZWN0LmNvbSIseGY9Imh0dHBzOi8vdmVyaWZ5LndhbGxldGNvbm5lY3Qub3JnIixMbj14ZixvUz1gJHtMbn0vdjNgLGFTPVtzUyx4Zl0sY1M9ImVjaG8iLHVTPSJodHRwczovL2VjaG8ud2FsbGV0Y29ubmVjdC5jb20iLG10PXtwYWlyaW5nX3N0YXJ0ZWQ6InBhaXJpbmdfc3RhcnRlZCIscGFpcmluZ191cmlfdmFsaWRhdGlvbl9zdWNjZXNzOiJwYWlyaW5nX3VyaV92YWxpZGF0aW9uX3N1Y2Nlc3MiLHBhaXJpbmdfdXJpX25vdF9leHBpcmVkOiJwYWlyaW5nX3VyaV9ub3RfZXhwaXJlZCIsc3RvcmVfbmV3X3BhaXJpbmc6InN0b3JlX25ld19wYWlyaW5nIixzdWJzY3JpYmluZ19wYWlyaW5nX3RvcGljOiJzdWJzY3JpYmluZ19wYWlyaW5nX3RvcGljIixzdWJzY3JpYmVfcGFpcmluZ190b3BpY19zdWNjZXNzOiJzdWJzY3JpYmVfcGFpcmluZ190b3BpY19zdWNjZXNzIixleGlzdGluZ19wYWlyaW5nOiJleGlzdGluZ19wYWlyaW5nIixwYWlyaW5nX25vdF9leHBpcmVkOiJwYWlyaW5nX25vdF9leHBpcmVkIixlbWl0X2luYWN0aXZlX3BhaXJpbmc6ImVtaXRfaW5hY3RpdmVfcGFpcmluZyIsZW1pdF9zZXNzaW9uX3Byb3Bvc2FsOiJlbWl0X3Nlc3Npb25fcHJvcG9zYWwiLHN1YnNjcmliaW5nX3RvX3BhaXJpbmdfdG9waWM6InN1YnNjcmliaW5nX3RvX3BhaXJpbmdfdG9waWMifSxMdD17bm9fd3NzX2Nvbm5lY3Rpb246Im5vX3dzc19jb25uZWN0aW9uIixub19pbnRlcm5ldF9jb25uZWN0aW9uOiJub19pbnRlcm5ldF9jb25uZWN0aW9uIixtYWxmb3JtZWRfcGFpcmluZ191cmk6Im1hbGZvcm1lZF9wYWlyaW5nX3VyaSIsYWN0aXZlX3BhaXJpbmdfYWxyZWFkeV9leGlzdHM6ImFjdGl2ZV9wYWlyaW5nX2FscmVhZHlfZXhpc3RzIixzdWJzY3JpYmVfcGFpcmluZ190b3BpY19mYWlsdXJlOiJzdWJzY3JpYmVfcGFpcmluZ190b3BpY19mYWlsdXJlIixwYWlyaW5nX2V4cGlyZWQ6InBhaXJpbmdfZXhwaXJlZCIscHJvcG9zYWxfZXhwaXJlZDoicHJvcG9zYWxfZXhwaXJlZCIscHJvcG9zYWxfbGlzdGVuZXJfbm90X2ZvdW5kOiJwcm9wb3NhbF9saXN0ZW5lcl9ub3RfZm91bmQifSxzdD17c2Vzc2lvbl9hcHByb3ZlX3N0YXJ0ZWQ6InNlc3Npb25fYXBwcm92ZV9zdGFydGVkIixwcm9wb3NhbF9ub3RfZXhwaXJlZDoicHJvcG9zYWxfbm90X2V4cGlyZWQiLHNlc3Npb25fbmFtZXNwYWNlc192YWxpZGF0aW9uX3N1Y2Nlc3M6InNlc3Npb25fbmFtZXNwYWNlc192YWxpZGF0aW9uX3N1Y2Nlc3MiLGNyZWF0ZV9zZXNzaW9uX3RvcGljOiJjcmVhdGVfc2Vzc2lvbl90b3BpYyIsc3Vic2NyaWJpbmdfc2Vzc2lvbl90b3BpYzoic3Vic2NyaWJpbmdfc2Vzc2lvbl90b3BpYyIsc3Vic2NyaWJlX3Nlc3Npb25fdG9waWNfc3VjY2Vzczoic3Vic2NyaWJlX3Nlc3Npb25fdG9waWNfc3VjY2VzcyIscHVibGlzaGluZ19zZXNzaW9uX2FwcHJvdmU6InB1Ymxpc2hpbmdfc2Vzc2lvbl9hcHByb3ZlIixzZXNzaW9uX2FwcHJvdmVfcHVibGlzaF9zdWNjZXNzOiJzZXNzaW9uX2FwcHJvdmVfcHVibGlzaF9zdWNjZXNzIixzdG9yZV9zZXNzaW9uOiJzdG9yZV9zZXNzaW9uIixwdWJsaXNoaW5nX3Nlc3Npb25fc2V0dGxlOiJwdWJsaXNoaW5nX3Nlc3Npb25fc2V0dGxlIixzZXNzaW9uX3NldHRsZV9wdWJsaXNoX3N1Y2Nlc3M6InNlc3Npb25fc2V0dGxlX3B1Ymxpc2hfc3VjY2VzcyIsc2Vzc2lvbl9yZXF1ZXN0X3Jlc3BvbnNlX3N0YXJ0ZWQ6InNlc3Npb25fcmVxdWVzdF9yZXNwb25zZV9zdGFydGVkIixzZXNzaW9uX3JlcXVlc3RfcmVzcG9uc2VfdmFsaWRhdGlvbl9zdWNjZXNzOiJzZXNzaW9uX3JlcXVlc3RfcmVzcG9uc2VfdmFsaWRhdGlvbl9zdWNjZXNzIixzZXNzaW9uX3JlcXVlc3RfcmVzcG9uc2VfcHVibGlzaF9zdGFydGVkOiJzZXNzaW9uX3JlcXVlc3RfcmVzcG9uc2VfcHVibGlzaF9zdGFydGVkIn0sT3I9e25vX2ludGVybmV0X2Nvbm5lY3Rpb246Im5vX2ludGVybmV0X2Nvbm5lY3Rpb24iLG5vX3dzc19jb25uZWN0aW9uOiJub193c3NfY29ubmVjdGlvbiIscHJvcG9zYWxfZXhwaXJlZDoicHJvcG9zYWxfZXhwaXJlZCIsc3Vic2NyaWJlX3Nlc3Npb25fdG9waWNfZmFpbHVyZToic3Vic2NyaWJlX3Nlc3Npb25fdG9waWNfZmFpbHVyZSIsc2Vzc2lvbl9hcHByb3ZlX3B1Ymxpc2hfZmFpbHVyZToic2Vzc2lvbl9hcHByb3ZlX3B1Ymxpc2hfZmFpbHVyZSIsc2Vzc2lvbl9zZXR0bGVfcHVibGlzaF9mYWlsdXJlOiJzZXNzaW9uX3NldHRsZV9wdWJsaXNoX2ZhaWx1cmUiLHNlc3Npb25fYXBwcm92ZV9uYW1lc3BhY2VfdmFsaWRhdGlvbl9mYWlsdXJlOiJzZXNzaW9uX2FwcHJvdmVfbmFtZXNwYWNlX3ZhbGlkYXRpb25fZmFpbHVyZSIscHJvcG9zYWxfbm90X2ZvdW5kOiJwcm9wb3NhbF9ub3RfZm91bmQiLHNlc3Npb25fcmVxdWVzdF9yZXNwb25zZV92YWxpZGF0aW9uX2ZhaWx1cmU6InNlc3Npb25fcmVxdWVzdF9yZXNwb25zZV92YWxpZGF0aW9uX2ZhaWx1cmUiLHNlc3Npb25fcmVxdWVzdF9yZXNwb25zZV9wdWJsaXNoX2ZhaWx1cmU6InNlc3Npb25fcmVxdWVzdF9yZXNwb25zZV9wdWJsaXNoX2ZhaWx1cmUifSxUcj17YXV0aGVudGljYXRlZF9zZXNzaW9uX2FwcHJvdmVfc3RhcnRlZDoiYXV0aGVudGljYXRlZF9zZXNzaW9uX2FwcHJvdmVfc3RhcnRlZCIsY3JlYXRlX2F1dGhlbnRpY2F0ZWRfc2Vzc2lvbl90b3BpYzoiY3JlYXRlX2F1dGhlbnRpY2F0ZWRfc2Vzc2lvbl90b3BpYyIsY2FjYW9zX3ZlcmlmaWVkOiJjYWNhb3NfdmVyaWZpZWQiLHN0b3JlX2F1dGhlbnRpY2F0ZWRfc2Vzc2lvbjoic3RvcmVfYXV0aGVudGljYXRlZF9zZXNzaW9uIixzdWJzY3JpYmluZ19hdXRoZW50aWNhdGVkX3Nlc3Npb25fdG9waWM6InN1YnNjcmliaW5nX2F1dGhlbnRpY2F0ZWRfc2Vzc2lvbl90b3BpYyIsc3Vic2NyaWJlX2F1dGhlbnRpY2F0ZWRfc2Vzc2lvbl90b3BpY19zdWNjZXNzOiJzdWJzY3JpYmVfYXV0aGVudGljYXRlZF9zZXNzaW9uX3RvcGljX3N1Y2Nlc3MiLHB1Ymxpc2hpbmdfYXV0aGVudGljYXRlZF9zZXNzaW9uX2FwcHJvdmU6InB1Ymxpc2hpbmdfYXV0aGVudGljYXRlZF9zZXNzaW9uX2FwcHJvdmUifSxrbj17bm9faW50ZXJuZXRfY29ubmVjdGlvbjoibm9faW50ZXJuZXRfY29ubmVjdGlvbiIsaW52YWxpZF9jYWNhbzoiaW52YWxpZF9jYWNhbyIsc3Vic2NyaWJlX2F1dGhlbnRpY2F0ZWRfc2Vzc2lvbl90b3BpY19mYWlsdXJlOiJzdWJzY3JpYmVfYXV0aGVudGljYXRlZF9zZXNzaW9uX3RvcGljX2ZhaWx1cmUiLGF1dGhlbnRpY2F0ZWRfc2Vzc2lvbl9hcHByb3ZlX3B1Ymxpc2hfZmFpbHVyZToiYXV0aGVudGljYXRlZF9zZXNzaW9uX2FwcHJvdmVfcHVibGlzaF9mYWlsdXJlIixhdXRoZW50aWNhdGVkX3Nlc3Npb25fcGVuZGluZ19yZXF1ZXN0X25vdF9mb3VuZDoiYXV0aGVudGljYXRlZF9zZXNzaW9uX3BlbmRpbmdfcmVxdWVzdF9ub3RfZm91bmQifSxsUz0uMSxoUz0iZXZlbnQtY2xpZW50IixmUz04NjQwMCxkUz0iaHR0cHM6Ly9wdWxzZS53YWxsZXRjb25uZWN0Lm9yZy9iYXRjaCI7Y2xhc3MgcFN7Y29uc3RydWN0b3IoZSxyKXt0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yLHRoaXMua2V5Y2hhaW49bmV3IE1hcCx0aGlzLm5hbWU9a3gsdGhpcy52ZXJzaW9uPU14LHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5zdG9yYWdlUHJlZml4PXd0LHRoaXMuaW5pdD1hc3luYygpPT57aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0IG49YXdhaXQgdGhpcy5nZXRLZXlDaGFpbigpO3R5cGVvZiBuPCJ1IiYmKHRoaXMua2V5Y2hhaW49biksdGhpcy5pbml0aWFsaXplZD0hMH19LHRoaXMuaGFzPW49Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmtleWNoYWluLmhhcyhuKSksdGhpcy5zZXQ9YXN5bmMobixpKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMua2V5Y2hhaW4uc2V0KG4saSksYXdhaXQgdGhpcy5wZXJzaXN0KCl9LHRoaXMuZ2V0PW49Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBpPXRoaXMua2V5Y2hhaW4uZ2V0KG4pO2lmKHR5cGVvZiBpPiJ1Iil7Y29uc3R7bWVzc2FnZTpzfT1GKCJOT19NQVRDSElOR19LRVkiLGAke3RoaXMubmFtZX06ICR7bn1gKTt0aHJvdyBuZXcgRXJyb3Iocyl9cmV0dXJuIGl9LHRoaXMuZGVsPWFzeW5jIG49Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmtleWNoYWluLmRlbGV0ZShuKSxhd2FpdCB0aGlzLnBlcnNpc3QoKX0sdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9TWUocix0aGlzLm5hbWUpfWdldCBjb250ZXh0KCl7cmV0dXJuIE5lKHRoaXMubG9nZ2VyKX1nZXQgc3RvcmFnZUtleSgpe3JldHVybiB0aGlzLnN0b3JhZ2VQcmVmaXgrdGhpcy52ZXJzaW9uK3RoaXMuY29yZS5jdXN0b21TdG9yYWdlUHJlZml4KyIvLyIrdGhpcy5uYW1lfWFzeW5jIHNldEtleUNoYWluKGUpe2F3YWl0IHRoaXMuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LEtvKGUpKX1hc3luYyBnZXRLZXlDaGFpbigpe2NvbnN0IGU9YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO3JldHVybiB0eXBlb2YgZTwidSI/Vm8oZSk6dm9pZCAwfWFzeW5jIHBlcnNpc3QoKXthd2FpdCB0aGlzLnNldEtleUNoYWluKHRoaXMua2V5Y2hhaW4pfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1GKCJOT1RfSU5JVElBTElaRUQiLHRoaXMubmFtZSk7dGhyb3cgbmV3IEVycm9yKGUpfX19Y2xhc3MgZ1N7Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXIsdGhpcy5uYW1lPVV4LHRoaXMucmFuZG9tU2Vzc2lvbklkZW50aWZpZXI9Wm8oKSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KGF3YWl0IHRoaXMua2V5Y2hhaW4uaW5pdCgpLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLmhhc0tleXM9aT0+KHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMua2V5Y2hhaW4uaGFzKGkpKSx0aGlzLmdldENsaWVudElkPWFzeW5jKCk9PntpZih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmNsaWVudElkKXJldHVybiB0aGlzLmNsaWVudElkO2NvbnN0IGk9YXdhaXQgdGhpcy5nZXRDbGllbnRTZWVkKCkscz1xYyhpKSxvPUZjKHMucHVibGljS2V5KTtyZXR1cm4gdGhpcy5jbGllbnRJZD1vLG99LHRoaXMuZ2VuZXJhdGVLZXlQYWlyPSgpPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgaT1hMigpO3JldHVybiB0aGlzLnNldFByaXZhdGVLZXkoaS5wdWJsaWNLZXksaS5wcml2YXRlS2V5KX0sdGhpcy5zaWduSldUPWFzeW5jIGk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBzPWF3YWl0IHRoaXMuZ2V0Q2xpZW50U2VlZCgpLG89cWMocyksYT10aGlzLnJhbmRvbVNlc3Npb25JZGVudGlmaWVyO3JldHVybiBhd2FpdCBZMChhLGksTHgsbyl9LHRoaXMuZ2VuZXJhdGVTaGFyZWRLZXk9KGkscyxvKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IGE9dGhpcy5nZXRQcml2YXRlS2V5KGkpLGM9YzIoYSxzKTtyZXR1cm4gdGhpcy5zZXRTeW1LZXkoYyxvKX0sdGhpcy5zZXRTeW1LZXk9YXN5bmMoaSxzKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IG89c3x8a2koaSk7cmV0dXJuIGF3YWl0IHRoaXMua2V5Y2hhaW4uc2V0KG8saSksb30sdGhpcy5kZWxldGVLZXlQYWlyPWFzeW5jIGk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmtleWNoYWluLmRlbChpKX0sdGhpcy5kZWxldGVTeW1LZXk9YXN5bmMgaT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMua2V5Y2hhaW4uZGVsKGkpfSx0aGlzLmVuY29kZT1hc3luYyhpLHMsbyk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBhPWtoKG8pLGM9ZW4ocyk7aWYoRmgoYSkpcmV0dXJuIGgyKGMsbz8uZW5jb2RpbmcpO2lmKE1oKGEpKXtjb25zdCBmPWEuc2VuZGVyUHVibGljS2V5LHA9YS5yZWNlaXZlclB1YmxpY0tleTtpPWF3YWl0IHRoaXMuZ2VuZXJhdGVTaGFyZWRLZXkoZixwKX1jb25zdCB1PXRoaXMuZ2V0U3ltS2V5KGkpLHt0eXBlOmwsc2VuZGVyUHVibGljS2V5Omh9PWE7cmV0dXJuIHUyKHt0eXBlOmwsc3ltS2V5OnUsbWVzc2FnZTpjLHNlbmRlclB1YmxpY0tleTpoLGVuY29kaW5nOm8/LmVuY29kaW5nfSl9LHRoaXMuZGVjb2RlPWFzeW5jKGkscyxvKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IGE9ZDIocyxvKTtpZihGaChhKSl7Y29uc3QgYz1mMihzLG8/LmVuY29kaW5nKTtyZXR1cm4gUHIoYyl9aWYoTWgoYSkpe2NvbnN0IGM9YS5yZWNlaXZlclB1YmxpY0tleSx1PWEuc2VuZGVyUHVibGljS2V5O2k9YXdhaXQgdGhpcy5nZW5lcmF0ZVNoYXJlZEtleShjLHUpfXRyeXtjb25zdCBjPXRoaXMuZ2V0U3ltS2V5KGkpLHU9bDIoe3N5bUtleTpjLGVuY29kZWQ6cyxlbmNvZGluZzpvPy5lbmNvZGluZ30pO3JldHVybiBQcih1KX1jYXRjaChjKXt0aGlzLmxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGRlY29kZSBtZXNzYWdlIGZyb20gdG9waWM6ICcke2l9JywgY2xpZW50SWQ6ICcke2F3YWl0IHRoaXMuZ2V0Q2xpZW50SWQoKX0nYCksdGhpcy5sb2dnZXIuZXJyb3IoYyl9fSx0aGlzLmdldFBheWxvYWRUeXBlPShpLHM9RWUpPT57Y29uc3Qgbz1Ubih7ZW5jb2RlZDppLGVuY29kaW5nOnN9KTtyZXR1cm4gRHIoby50eXBlKX0sdGhpcy5nZXRQYXlsb2FkU2VuZGVyUHVibGljS2V5PShpLHM9RWUpPT57Y29uc3Qgbz1Ubih7ZW5jb2RlZDppLGVuY29kaW5nOnN9KTtyZXR1cm4gby5zZW5kZXJQdWJsaWNLZXk/Z2Uoby5zZW5kZXJQdWJsaWNLZXksQmUpOnZvaWQgMH0sdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9TWUocix0aGlzLm5hbWUpLHRoaXMua2V5Y2hhaW49bnx8bmV3IHBTKHRoaXMuY29yZSx0aGlzLmxvZ2dlcil9Z2V0IGNvbnRleHQoKXtyZXR1cm4gTmUodGhpcy5sb2dnZXIpfWFzeW5jIHNldFByaXZhdGVLZXkoZSxyKXtyZXR1cm4gYXdhaXQgdGhpcy5rZXljaGFpbi5zZXQoZSxyKSxlfWdldFByaXZhdGVLZXkoZSl7cmV0dXJuIHRoaXMua2V5Y2hhaW4uZ2V0KGUpfWFzeW5jIGdldENsaWVudFNlZWQoKXtsZXQgZT0iIjt0cnl7ZT10aGlzLmtleWNoYWluLmdldChiZil9Y2F0Y2h7ZT1abygpLGF3YWl0IHRoaXMua2V5Y2hhaW4uc2V0KGJmLGUpfXJldHVybiB2ZShlLCJiYXNlMTYiKX1nZXRTeW1LZXkoZSl7cmV0dXJuIHRoaXMua2V5Y2hhaW4uZ2V0KGUpfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1GKCJOT1RfSU5JVElBTElaRUQiLHRoaXMubmFtZSk7dGhyb3cgbmV3IEVycm9yKGUpfX19Y2xhc3MgeVMgZXh0ZW5kcyBYcHtjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUsciksdGhpcy5sb2dnZXI9ZSx0aGlzLmNvcmU9cix0aGlzLm1lc3NhZ2VzPW5ldyBNYXAsdGhpcy5tZXNzYWdlc1dpdGhvdXRDbGllbnRBY2s9bmV3IE1hcCx0aGlzLm5hbWU9RngsdGhpcy52ZXJzaW9uPXF4LHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5zdG9yYWdlUHJlZml4PXd0LHRoaXMuaW5pdD1hc3luYygpPT57aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe3RoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpO3RyeXtjb25zdCBuPWF3YWl0IHRoaXMuZ2V0UmVsYXllck1lc3NhZ2VzKCk7dHlwZW9mIG48InUiJiYodGhpcy5tZXNzYWdlcz1uKTtjb25zdCBpPWF3YWl0IHRoaXMuZ2V0UmVsYXllck1lc3NhZ2VzV2l0aG91dENsaWVudEFjaygpO3R5cGVvZiBpPCJ1IiYmKHRoaXMubWVzc2FnZXNXaXRob3V0Q2xpZW50QWNrPWkpLHRoaXMubG9nZ2VyLmRlYnVnKGBTdWNjZXNzZnVsbHkgUmVzdG9yZWQgcmVjb3JkcyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJyZXN0b3JlIixzaXplOnRoaXMubWVzc2FnZXMuc2l6ZX0pfWNhdGNoKG4pe3RoaXMubG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gUmVzdG9yZSByZWNvcmRzIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci5lcnJvcihuKX1maW5hbGx5e3RoaXMuaW5pdGlhbGl6ZWQ9ITB9fX0sdGhpcy5zZXQ9YXN5bmMobixpLHMpPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3Qgbz1XZShpKTtsZXQgYT10aGlzLm1lc3NhZ2VzLmdldChuKTtpZih0eXBlb2YgYT4idSImJihhPXt9KSx0eXBlb2YgYVtvXTwidSIpcmV0dXJuIG87aWYoYVtvXT1pLHRoaXMubWVzc2FnZXMuc2V0KG4sYSkscz09PUhpLmluYm91bmQpe2NvbnN0IGM9dGhpcy5tZXNzYWdlc1dpdGhvdXRDbGllbnRBY2suZ2V0KG4pfHx7fTt0aGlzLm1lc3NhZ2VzV2l0aG91dENsaWVudEFjay5zZXQobix7Li4uYyxbb106aX0pfXJldHVybiBhd2FpdCB0aGlzLnBlcnNpc3QoKSxvfSx0aGlzLmdldD1uPT57dGhpcy5pc0luaXRpYWxpemVkKCk7bGV0IGk9dGhpcy5tZXNzYWdlcy5nZXQobik7cmV0dXJuIHR5cGVvZiBpPiJ1IiYmKGk9e30pLGl9LHRoaXMuZ2V0V2l0aG91dEFjaz1uPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgaT17fTtmb3IoY29uc3QgcyBvZiBuKXtjb25zdCBvPXRoaXMubWVzc2FnZXNXaXRob3V0Q2xpZW50QWNrLmdldChzKXx8e307aVtzXT1PYmplY3QudmFsdWVzKG8pfXJldHVybiBpfSx0aGlzLmhhcz0obixpKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IHM9dGhpcy5nZXQobiksbz1XZShpKTtyZXR1cm4gdHlwZW9mIHNbb108InUifSx0aGlzLmFjaz1hc3luYyhuLGkpPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3Qgcz10aGlzLm1lc3NhZ2VzV2l0aG91dENsaWVudEFjay5nZXQobik7aWYodHlwZW9mIHM+InUiKXJldHVybjtjb25zdCBvPVdlKGkpO2RlbGV0ZSBzW29dLE9iamVjdC5rZXlzKHMpLmxlbmd0aD09PTA/dGhpcy5tZXNzYWdlc1dpdGhvdXRDbGllbnRBY2suZGVsZXRlKG4pOnRoaXMubWVzc2FnZXNXaXRob3V0Q2xpZW50QWNrLnNldChuLHMpLGF3YWl0IHRoaXMucGVyc2lzdCgpfSx0aGlzLmRlbD1hc3luYyBuPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5tZXNzYWdlcy5kZWxldGUobiksdGhpcy5tZXNzYWdlc1dpdGhvdXRDbGllbnRBY2suZGVsZXRlKG4pLGF3YWl0IHRoaXMucGVyc2lzdCgpfSx0aGlzLmxvZ2dlcj1NZShlLHRoaXMubmFtZSksdGhpcy5jb3JlPXJ9Z2V0IGNvbnRleHQoKXtyZXR1cm4gTmUodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rdGhpcy5jb3JlLmN1c3RvbVN0b3JhZ2VQcmVmaXgrIi8vIit0aGlzLm5hbWV9Z2V0IHN0b3JhZ2VLZXlXaXRob3V0Q2xpZW50QWNrKCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rdGhpcy5jb3JlLmN1c3RvbVN0b3JhZ2VQcmVmaXgrIi8vIit0aGlzLm5hbWUrIl93aXRob3V0Q2xpZW50QWNrIn1hc3luYyBzZXRSZWxheWVyTWVzc2FnZXMoZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksS28oZSkpfWFzeW5jIHNldFJlbGF5ZXJNZXNzYWdlc1dpdGhvdXRDbGllbnRBY2soZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXlXaXRob3V0Q2xpZW50QWNrLEtvKGUpKX1hc3luYyBnZXRSZWxheWVyTWVzc2FnZXMoKXtjb25zdCBlPWF3YWl0IHRoaXMuY29yZS5zdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KTtyZXR1cm4gdHlwZW9mIGU8InUiP1ZvKGUpOnZvaWQgMH1hc3luYyBnZXRSZWxheWVyTWVzc2FnZXNXaXRob3V0Q2xpZW50QWNrKCl7Y29uc3QgZT1hd2FpdCB0aGlzLmNvcmUuc3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleVdpdGhvdXRDbGllbnRBY2spO3JldHVybiB0eXBlb2YgZTwidSI/Vm8oZSk6dm9pZCAwfWFzeW5jIHBlcnNpc3QoKXthd2FpdCB0aGlzLnNldFJlbGF5ZXJNZXNzYWdlcyh0aGlzLm1lc3NhZ2VzKSxhd2FpdCB0aGlzLnNldFJlbGF5ZXJNZXNzYWdlc1dpdGhvdXRDbGllbnRBY2sodGhpcy5tZXNzYWdlc1dpdGhvdXRDbGllbnRBY2spfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1GKCJOT1RfSU5JVElBTElaRUQiLHRoaXMubmFtZSk7dGhyb3cgbmV3IEVycm9yKGUpfX19Y2xhc3Mgd1MgZXh0ZW5kcyBKcHtjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUsciksdGhpcy5yZWxheWVyPWUsdGhpcy5sb2dnZXI9cix0aGlzLmV2ZW50cz1uZXcgWGUuRXZlbnRFbWl0dGVyLHRoaXMubmFtZT1qeCx0aGlzLnF1ZXVlPW5ldyBNYXAsdGhpcy5wdWJsaXNoVGltZW91dD1NLnRvTWlsaXNlY29uZHMoTS5PTkVfTUlOVVRFKSx0aGlzLmluaXRpYWxQdWJsaXNoVGltZW91dD1NLnRvTWlsaXNlY29uZHMoTS5PTkVfU0VDT05EKjE1KSx0aGlzLm5lZWRzVHJhbnNwb3J0UmVzdGFydD0hMSx0aGlzLnB1Ymxpc2g9YXN5bmMobixpLHMpPT57dGhpcy5sb2dnZXIuZGVidWcoIlB1Ymxpc2hpbmcgUGF5bG9hZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoicHVibGlzaCIscGFyYW1zOnt0b3BpYzpuLG1lc3NhZ2U6aSxvcHRzOnN9fSk7Y29uc3Qgbz1zPy50dGx8fHp4LGE9cz8ucHJvbXB0fHwhMSxjPXM/LnRhZ3x8MCx1PXM/LmlkfHxhcigpLnRvU3RyaW5nKCksbD1XcihGaSgpLnByb3RvY29sKSxoPXtpZDp1LG1ldGhvZDpzPy5wdWJsaXNoTWV0aG9kfHxsLnB1Ymxpc2gscGFyYW1zOnt0b3BpYzpuLG1lc3NhZ2U6aSx0dGw6byxwcm9tcHQ6YSx0YWc6YyxhdHRlc3RhdGlvbjpzPy5hdHRlc3RhdGlvbiwuLi5zPy50dmZ9fSxmPWBGYWlsZWQgdG8gcHVibGlzaCBwYXlsb2FkLCBwbGVhc2UgdHJ5IGFnYWluLiBpZDoke3V9IHRhZzoke2N9YDt0cnl7aGUoaC5wYXJhbXM/LnByb21wdCkmJmRlbGV0ZSBoLnBhcmFtcz8ucHJvbXB0LGhlKGgucGFyYW1zPy50YWcpJiZkZWxldGUgaC5wYXJhbXM/LnRhZztjb25zdCBwPW5ldyBQcm9taXNlKGFzeW5jIGQ9Pntjb25zdCBnPSh7aWQ6dn0pPT57aC5pZD8udG9TdHJpbmcoKT09PXYudG9TdHJpbmcoKSYmKHRoaXMucmVtb3ZlUmVxdWVzdEZyb21RdWV1ZSh2KSx0aGlzLnJlbGF5ZXIuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKHNlLnB1Ymxpc2gsZyksZCgpKX07dGhpcy5yZWxheWVyLmV2ZW50cy5vbihzZS5wdWJsaXNoLGcpO2NvbnN0IHk9bnQobmV3IFByb21pc2UoKHYsQSk9Pnt0aGlzLnJwY1B1Ymxpc2goaCxzKS50aGVuKHYpLmNhdGNoKHc9Pnt0aGlzLmxvZ2dlci53YXJuKHcsdz8ubWVzc2FnZSksQSh3KX0pfSksdGhpcy5pbml0aWFsUHVibGlzaFRpbWVvdXQsYEZhaWxlZCBpbml0aWFsIHB1Ymxpc2gsIHJldHJ5aW5nLi4uLiBpZDoke3V9IHRhZzoke2N9YCk7dHJ5e2F3YWl0IHksdGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoc2UucHVibGlzaCxnKX1jYXRjaCh2KXt0aGlzLnF1ZXVlLnNldCh1LHtyZXF1ZXN0Omgsb3B0czpzLGF0dGVtcHQ6MX0pLHRoaXMubG9nZ2VyLndhcm4odix2Py5tZXNzYWdlKX19KTt0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InB1Ymxpc2giLHBhcmFtczp7aWQ6dSx0b3BpYzpuLG1lc3NhZ2U6aSxvcHRzOnN9fSksYXdhaXQgbnQocCx0aGlzLnB1Ymxpc2hUaW1lb3V0LGYpfWNhdGNoKHApe2lmKHRoaXMubG9nZ2VyLmRlYnVnKCJGYWlsZWQgdG8gUHVibGlzaCBQYXlsb2FkIiksdGhpcy5sb2dnZXIuZXJyb3IocCkscz8uaW50ZXJuYWw/LnRocm93T25GYWlsZWRQdWJsaXNoKXRocm93IHB9ZmluYWxseXt0aGlzLnF1ZXVlLmRlbGV0ZSh1KX19LHRoaXMucHVibGlzaEN1c3RvbT1hc3luYyBuPT57dGhpcy5sb2dnZXIuZGVidWcoIlB1Ymxpc2hpbmcgY3VzdG9tIHBheWxvYWQiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InB1Ymxpc2hDdXN0b20iLHBhcmFtczpufSk7Y29uc3R7cGF5bG9hZDppLG9wdHM6cz17fX09bix7YXR0ZXN0YXRpb246byx0dmY6YSxwdWJsaXNoTWV0aG9kOmMscHJvbXB0OnUsdGFnOmwsdHRsOmg9TS5GSVZFX01JTlVURVN9PXMsZj1zLmlkfHxhcigpLnRvU3RyaW5nKCkscD1XcihGaSgpLnByb3RvY29sKSxkPWN8fHAucHVibGlzaCxnPXtpZDpmLG1ldGhvZDpkLHBhcmFtczp7Li4uaSx0dGw6aCxwcm9tcHQ6dSx0YWc6bCxhdHRlc3RhdGlvbjpvLC4uLmF9fSx5PWBGYWlsZWQgdG8gcHVibGlzaCBjdXN0b20gcGF5bG9hZCwgcGxlYXNlIHRyeSBhZ2Fpbi4gaWQ6JHtmfSB0YWc6JHtsfWA7dHJ5e2hlKGcucGFyYW1zPy5wcm9tcHQpJiZkZWxldGUgZy5wYXJhbXM/LnByb21wdCxoZShnLnBhcmFtcz8udGFnKSYmZGVsZXRlIGcucGFyYW1zPy50YWc7Y29uc3Qgdj1uZXcgUHJvbWlzZShhc3luYyBBPT57Y29uc3Qgdz0oe2lkOl99KT0+e2cuaWQ/LnRvU3RyaW5nKCk9PT1fLnRvU3RyaW5nKCkmJih0aGlzLnJlbW92ZVJlcXVlc3RGcm9tUXVldWUoXyksdGhpcy5yZWxheWVyLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihzZS5wdWJsaXNoLHcpLEEoKSl9O3RoaXMucmVsYXllci5ldmVudHMub24oc2UucHVibGlzaCx3KTtjb25zdCBtPW50KG5ldyBQcm9taXNlKChfLHgpPT57dGhpcy5ycGNQdWJsaXNoKGcscykudGhlbihfKS5jYXRjaChUPT57dGhpcy5sb2dnZXIud2FybihULFQ/Lm1lc3NhZ2UpLHgoVCl9KX0pLHRoaXMuaW5pdGlhbFB1Ymxpc2hUaW1lb3V0LGBGYWlsZWQgaW5pdGlhbCBjdXN0b20gcGF5bG9hZCBwdWJsaXNoLCByZXRyeWluZy4uLi4gbWV0aG9kOiR7ZH0gaWQ6JHtmfSB0YWc6JHtsfWApO3RyeXthd2FpdCBtLHRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKHNlLnB1Ymxpc2gsdyl9Y2F0Y2goXyl7dGhpcy5xdWV1ZS5zZXQoZix7cmVxdWVzdDpnLG9wdHM6cyxhdHRlbXB0OjF9KSx0aGlzLmxvZ2dlci53YXJuKF8sXz8ubWVzc2FnZSl9fSk7dGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJwdWJsaXNoIixwYXJhbXM6e2lkOmYscGF5bG9hZDppLG9wdHM6c319KSxhd2FpdCBudCh2LHRoaXMucHVibGlzaFRpbWVvdXQseSl9Y2F0Y2godil7aWYodGhpcy5sb2dnZXIuZGVidWcoIkZhaWxlZCB0byBQdWJsaXNoIFBheWxvYWQiKSx0aGlzLmxvZ2dlci5lcnJvcih2KSxzPy5pbnRlcm5hbD8udGhyb3dPbkZhaWxlZFB1Ymxpc2gpdGhyb3cgdn1maW5hbGx5e3RoaXMucXVldWUuZGVsZXRlKGYpfX0sdGhpcy5vbj0obixpKT0+e3RoaXMuZXZlbnRzLm9uKG4saSl9LHRoaXMub25jZT0obixpKT0+e3RoaXMuZXZlbnRzLm9uY2UobixpKX0sdGhpcy5vZmY9KG4saSk9Pnt0aGlzLmV2ZW50cy5vZmYobixpKX0sdGhpcy5yZW1vdmVMaXN0ZW5lcj0obixpKT0+e3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKG4saSl9LHRoaXMucmVsYXllcj1lLHRoaXMubG9nZ2VyPU1lKHIsdGhpcy5uYW1lKSx0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKX1nZXQgY29udGV4dCgpe3JldHVybiBOZSh0aGlzLmxvZ2dlcil9YXN5bmMgcnBjUHVibGlzaChlLHIpe3RoaXMubG9nZ2VyLmRlYnVnKCJPdXRnb2luZyBSZWxheSBQYXlsb2FkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1lc3NhZ2UiLGRpcmVjdGlvbjoib3V0Z29pbmciLHJlcXVlc3Q6ZX0pO2NvbnN0IG49YXdhaXQgdGhpcy5yZWxheWVyLnJlcXVlc3QoZSk7cmV0dXJuIHRoaXMucmVsYXllci5ldmVudHMuZW1pdChzZS5wdWJsaXNoLHsuLi5lLC4uLnJ9KSx0aGlzLmxvZ2dlci5kZWJ1ZygiU3VjY2Vzc2Z1bGx5IFB1Ymxpc2hlZCBQYXlsb2FkIiksbn1yZW1vdmVSZXF1ZXN0RnJvbVF1ZXVlKGUpe3RoaXMucXVldWUuZGVsZXRlKGUpfWNoZWNrUXVldWUoKXt0aGlzLnF1ZXVlLmZvckVhY2goYXN5bmMoZSxyKT0+e2NvbnN0IG49ZS5hdHRlbXB0KzE7dGhpcy5xdWV1ZS5zZXQocix7Li4uZSxhdHRlbXB0Om59KSx0aGlzLmxvZ2dlci53YXJuKHt9LGBQdWJsaXNoZXI6IHF1ZXVlLT5wdWJsaXNoaW5nOiAke2UucmVxdWVzdC5pZH0sIHRhZzogJHtlLnJlcXVlc3QucGFyYW1zPy50YWd9LCBhdHRlbXB0OiAke259YCksYXdhaXQgdGhpcy5ycGNQdWJsaXNoKGUucmVxdWVzdCxlLm9wdHMpLHRoaXMubG9nZ2VyLndhcm4oe30sYFB1Ymxpc2hlcjogcXVldWUtPnB1Ymxpc2hlZDogJHtlLnJlcXVlc3QuaWR9YCl9KX1yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl7dGhpcy5yZWxheWVyLmNvcmUuaGVhcnRiZWF0Lm9uKGhyLnB1bHNlLCgpPT57aWYodGhpcy5uZWVkc1RyYW5zcG9ydFJlc3RhcnQpe3RoaXMubmVlZHNUcmFuc3BvcnRSZXN0YXJ0PSExLHRoaXMucmVsYXllci5ldmVudHMuZW1pdChzZS5jb25uZWN0aW9uX3N0YWxsZWQpO3JldHVybn10aGlzLmNoZWNrUXVldWUoKX0pLHRoaXMucmVsYXllci5vbihzZS5tZXNzYWdlX2FjayxlPT57dGhpcy5yZW1vdmVSZXF1ZXN0RnJvbVF1ZXVlKGUuaWQudG9TdHJpbmcoKSl9KX19Y2xhc3MgbVN7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwLHRoaXMuc2V0PShlLHIpPT57Y29uc3Qgbj10aGlzLmdldChlKTt0aGlzLmV4aXN0cyhlLHIpfHx0aGlzLm1hcC5zZXQoZSxbLi4ubixyXSl9LHRoaXMuZ2V0PWU9PnRoaXMubWFwLmdldChlKXx8W10sdGhpcy5leGlzdHM9KGUscik9PnRoaXMuZ2V0KGUpLmluY2x1ZGVzKHIpLHRoaXMuZGVsZXRlPShlLHIpPT57aWYodHlwZW9mIHI+InUiKXt0aGlzLm1hcC5kZWxldGUoZSk7cmV0dXJufWlmKCF0aGlzLm1hcC5oYXMoZSkpcmV0dXJuO2NvbnN0IG49dGhpcy5nZXQoZSk7aWYoIXRoaXMuZXhpc3RzKGUscikpcmV0dXJuO2NvbnN0IGk9bi5maWx0ZXIocz0+cyE9PXIpO2lmKCFpLmxlbmd0aCl7dGhpcy5tYXAuZGVsZXRlKGUpO3JldHVybn10aGlzLm1hcC5zZXQoZSxpKX0sdGhpcy5jbGVhcj0oKT0+e3RoaXMubWFwLmNsZWFyKCl9fWdldCB0b3BpY3MoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1hcC5rZXlzKCkpfX1jbGFzcyBiUyBleHRlbmRzIHRne2NvbnN0cnVjdG9yKGUscil7c3VwZXIoZSxyKSx0aGlzLnJlbGF5ZXI9ZSx0aGlzLmxvZ2dlcj1yLHRoaXMuc3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMudG9waWNNYXA9bmV3IG1TLHRoaXMuZXZlbnRzPW5ldyBYZS5FdmVudEVtaXR0ZXIsdGhpcy5uYW1lPVp4LHRoaXMudmVyc2lvbj1YeCx0aGlzLnBlbmRpbmc9bmV3IE1hcCx0aGlzLmNhY2hlZD1bXSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuc3RvcmFnZVByZWZpeD13dCx0aGlzLnN1YnNjcmliZVRpbWVvdXQ9TS50b01pbGlzZWNvbmRzKE0uT05FX01JTlVURSksdGhpcy5pbml0aWFsU3Vic2NyaWJlVGltZW91dD1NLnRvTWlsaXNlY29uZHMoTS5PTkVfU0VDT05EKjE1KSx0aGlzLmJhdGNoU3Vic2NyaWJlVG9waWNzTGltaXQ9NTAwLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KHRoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpLHRoaXMucmVnaXN0ZXJFdmVudExpc3RlbmVycygpLGF3YWl0IHRoaXMucmVzdG9yZSgpKSx0aGlzLmluaXRpYWxpemVkPSEwfSx0aGlzLnN1YnNjcmliZT1hc3luYyhuLGkpPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoIlN1YnNjcmliaW5nIFRvcGljIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJzdWJzY3JpYmUiLHBhcmFtczp7dG9waWM6bixvcHRzOml9fSk7dHJ5e2NvbnN0IHM9RmkoaSksbz17dG9waWM6bixyZWxheTpzLHRyYW5zcG9ydFR5cGU6aT8udHJhbnNwb3J0VHlwZX07aT8uaW50ZXJuYWw/LnNraXBTdWJzY3JpYmV8fHRoaXMucGVuZGluZy5zZXQobixvKTtjb25zdCBhPWF3YWl0IHRoaXMucnBjU3Vic2NyaWJlKG4scyxpKTtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciJiYodGhpcy5vblN1YnNjcmliZShhLG8pLHRoaXMubG9nZ2VyLmRlYnVnKCJTdWNjZXNzZnVsbHkgU3Vic2NyaWJlZCBUb3BpYyIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoic3Vic2NyaWJlIixwYXJhbXM6e3RvcGljOm4sb3B0czppfX0pKSxhfWNhdGNoKHMpe3Rocm93IHRoaXMubG9nZ2VyLmRlYnVnKCJGYWlsZWQgdG8gU3Vic2NyaWJlIFRvcGljIiksdGhpcy5sb2dnZXIuZXJyb3Iocyksc319LHRoaXMudW5zdWJzY3JpYmU9YXN5bmMobixpKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHR5cGVvZiBpPy5pZDwidSI/YXdhaXQgdGhpcy51bnN1YnNjcmliZUJ5SWQobixpLmlkLGkpOmF3YWl0IHRoaXMudW5zdWJzY3JpYmVCeVRvcGljKG4saSl9LHRoaXMuaXNTdWJzY3JpYmVkPW49Pm5ldyBQcm9taXNlKGk9PntpKHRoaXMudG9waWNNYXAudG9waWNzLmluY2x1ZGVzKG4pKX0pLHRoaXMuaXNLbm93blRvcGljPW49Pm5ldyBQcm9taXNlKGk9PntpKHRoaXMudG9waWNNYXAudG9waWNzLmluY2x1ZGVzKG4pfHx0aGlzLnBlbmRpbmcuaGFzKG4pfHx0aGlzLmNhY2hlZC5zb21lKHM9PnMudG9waWM9PT1uKSl9KSx0aGlzLm9uPShuLGkpPT57dGhpcy5ldmVudHMub24obixpKX0sdGhpcy5vbmNlPShuLGkpPT57dGhpcy5ldmVudHMub25jZShuLGkpfSx0aGlzLm9mZj0obixpKT0+e3RoaXMuZXZlbnRzLm9mZihuLGkpfSx0aGlzLnJlbW92ZUxpc3RlbmVyPShuLGkpPT57dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIobixpKX0sdGhpcy5zdGFydD1hc3luYygpPT57YXdhaXQgdGhpcy5vbkNvbm5lY3QoKX0sdGhpcy5zdG9wPWFzeW5jKCk9Pnthd2FpdCB0aGlzLm9uRGlzY29ubmVjdCgpfSx0aGlzLnJlc3RhcnQ9YXN5bmMoKT0+e2F3YWl0IHRoaXMucmVzdG9yZSgpLGF3YWl0IHRoaXMub25SZXN0YXJ0KCl9LHRoaXMuY2hlY2tQZW5kaW5nPWFzeW5jKCk9PntpZih0aGlzLnBlbmRpbmcuc2l6ZT09PTAmJighdGhpcy5pbml0aWFsaXplZHx8IXRoaXMucmVsYXllci5jb25uZWN0ZWQpKXJldHVybjtjb25zdCBuPVtdO3RoaXMucGVuZGluZy5mb3JFYWNoKGk9PntuLnB1c2goaSl9KSxhd2FpdCB0aGlzLmJhdGNoU3Vic2NyaWJlKG4pfSx0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnM9KCk9Pnt0aGlzLnJlbGF5ZXIuY29yZS5oZWFydGJlYXQub24oaHIucHVsc2UsYXN5bmMoKT0+e2F3YWl0IHRoaXMuY2hlY2tQZW5kaW5nKCl9KSx0aGlzLmV2ZW50cy5vbihqZS5jcmVhdGVkLGFzeW5jIG49Pntjb25zdCBpPWplLmNyZWF0ZWQ7dGhpcy5sb2dnZXIuaW5mbyhgRW1pdHRpbmcgJHtpfWApLHRoaXMubG9nZ2VyLmRlYnVnKHt0eXBlOiJldmVudCIsZXZlbnQ6aSxkYXRhOm59KSxhd2FpdCB0aGlzLnBlcnNpc3QoKX0pLHRoaXMuZXZlbnRzLm9uKGplLmRlbGV0ZWQsYXN5bmMgbj0+e2NvbnN0IGk9amUuZGVsZXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke2l9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6ImV2ZW50IixldmVudDppLGRhdGE6bn0pLGF3YWl0IHRoaXMucGVyc2lzdCgpfSl9LHRoaXMucmVsYXllcj1lLHRoaXMubG9nZ2VyPU1lKHIsdGhpcy5uYW1lKSx0aGlzLmNsaWVudElkPSIifWdldCBjb250ZXh0KCl7cmV0dXJuIE5lKHRoaXMubG9nZ2VyKX1nZXQgc3RvcmFnZUtleSgpe3JldHVybiB0aGlzLnN0b3JhZ2VQcmVmaXgrdGhpcy52ZXJzaW9uK3RoaXMucmVsYXllci5jb3JlLmN1c3RvbVN0b3JhZ2VQcmVmaXgrIi8vIit0aGlzLm5hbWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMuc2l6ZX1nZXQgaWRzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5zdWJzY3JpcHRpb25zLmtleXMoKSl9Z2V0IHZhbHVlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuc3Vic2NyaXB0aW9ucy52YWx1ZXMoKSl9Z2V0IHRvcGljcygpe3JldHVybiB0aGlzLnRvcGljTWFwLnRvcGljc31nZXQgaGFzQW55VG9waWNzKCl7cmV0dXJuIHRoaXMudG9waWNNYXAudG9waWNzLmxlbmd0aD4wfHx0aGlzLnBlbmRpbmcuc2l6ZT4wfHx0aGlzLmNhY2hlZC5sZW5ndGg+MHx8dGhpcy5zdWJzY3JpcHRpb25zLnNpemU+MH1oYXNTdWJzY3JpcHRpb24oZSxyKXtsZXQgbj0hMTt0cnl7bj10aGlzLmdldFN1YnNjcmlwdGlvbihlKS50b3BpYz09PXJ9Y2F0Y2h7fXJldHVybiBufXJlc2V0KCl7dGhpcy5jYWNoZWQ9W10sdGhpcy5pbml0aWFsaXplZD0hMH1vbkRpc2FibGUoKXt0aGlzLnZhbHVlcy5sZW5ndGg+MCYmKHRoaXMuY2FjaGVkPXRoaXMudmFsdWVzKSx0aGlzLnN1YnNjcmlwdGlvbnMuY2xlYXIoKSx0aGlzLnRvcGljTWFwLmNsZWFyKCl9YXN5bmMgdW5zdWJzY3JpYmVCeVRvcGljKGUscil7Y29uc3Qgbj10aGlzLnRvcGljTWFwLmdldChlKTthd2FpdCBQcm9taXNlLmFsbChuLm1hcChhc3luYyBpPT5hd2FpdCB0aGlzLnVuc3Vic2NyaWJlQnlJZChlLGkscikpKX1hc3luYyB1bnN1YnNjcmliZUJ5SWQoZSxyLG4pe3RoaXMubG9nZ2VyLmRlYnVnKCJVbnN1YnNjcmliaW5nIFRvcGljIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJ1bnN1YnNjcmliZSIscGFyYW1zOnt0b3BpYzplLGlkOnIsb3B0czpufX0pO3RyeXtjb25zdCBpPW5lKCJVU0VSX0RJU0NPTk5FQ1RFRCIsYCR7dGhpcy5uYW1lfSwgJHtlfWApO2F3YWl0IHRoaXMub25VbnN1YnNjcmliZShlLHIsaSk7Y29uc3Qgcz1GaShuKTthd2FpdCB0aGlzLnJlc3RhcnRUb0NvbXBsZXRlKHt0b3BpYzplLGlkOnIscmVsYXk6c30pLGF3YWl0IHRoaXMucnBjVW5zdWJzY3JpYmUoZSxyLHMpLHRoaXMubG9nZ2VyLmRlYnVnKCJTdWNjZXNzZnVsbHkgVW5zdWJzY3JpYmVkIFRvcGljIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJ1bnN1YnNjcmliZSIscGFyYW1zOnt0b3BpYzplLGlkOnIsb3B0czpufX0pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmRlYnVnKCJGYWlsZWQgdG8gVW5zdWJzY3JpYmUgVG9waWMiKSx0aGlzLmxvZ2dlci5lcnJvcihpKSxpfX1hc3luYyBycGNTdWJzY3JpYmUoZSxyLG4pe2NvbnN0IGk9YXdhaXQgdGhpcy5nZXRTdWJzY3JpcHRpb25JZChlKTtpZihuPy5pbnRlcm5hbD8uc2tpcFN1YnNjcmliZSlyZXR1cm4gaTsoIW58fG4/LnRyYW5zcG9ydFR5cGU9PT10ZS5yZWxheSkmJmF3YWl0IHRoaXMucmVzdGFydFRvQ29tcGxldGUoe3RvcGljOmUsaWQ6ZSxyZWxheTpyfSk7Y29uc3Qgcz17bWV0aG9kOldyKHIucHJvdG9jb2wpLnN1YnNjcmliZSxwYXJhbXM6e3RvcGljOmV9fTt0aGlzLmxvZ2dlci5kZWJ1ZygiT3V0Z29pbmcgUmVsYXkgUGF5bG9hZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJwYXlsb2FkIixkaXJlY3Rpb246Im91dGdvaW5nIixyZXF1ZXN0OnN9KTtjb25zdCBvPW4/LmludGVybmFsPy50aHJvd09uRmFpbGVkUHVibGlzaDt0cnl7aWYobj8udHJhbnNwb3J0VHlwZT09PXRlLmxpbmtfbW9kZSlyZXR1cm4gc2V0VGltZW91dCgoKT0+eyh0aGlzLnJlbGF5ZXIuY29ubmVjdGVkfHx0aGlzLnJlbGF5ZXIuY29ubmVjdGluZykmJnRoaXMucmVsYXllci5yZXF1ZXN0KHMpLmNhdGNoKHU9PnRoaXMubG9nZ2VyLndhcm4odSkpfSxNLnRvTWlsaXNlY29uZHMoTS5PTkVfU0VDT05EKSksaTtjb25zdCBhPW5ldyBQcm9taXNlKGFzeW5jIHU9Pntjb25zdCBsPWg9PntoLnRvcGljPT09ZSYmKHRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGplLmNyZWF0ZWQsbCksdShoLmlkKSl9O3RoaXMuZXZlbnRzLm9uKGplLmNyZWF0ZWQsbCk7dHJ5e2NvbnN0IGg9YXdhaXQgbnQobmV3IFByb21pc2UoKGYscCk9Pnt0aGlzLnJlbGF5ZXIucmVxdWVzdChzKS5jYXRjaChkPT57dGhpcy5sb2dnZXIud2FybihkLGQ/Lm1lc3NhZ2UpLHAoZCl9KS50aGVuKGYpfSksdGhpcy5pbml0aWFsU3Vic2NyaWJlVGltZW91dCxgU3Vic2NyaWJpbmcgdG8gJHtlfSBmYWlsZWQsIHBsZWFzZSB0cnkgYWdhaW5gKTt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihqZS5jcmVhdGVkLGwpLHUoaCl9Y2F0Y2h7fX0pLGM9YXdhaXQgbnQoYSx0aGlzLnN1YnNjcmliZVRpbWVvdXQsYFN1YnNjcmliaW5nIHRvICR7ZX0gZmFpbGVkLCBwbGVhc2UgdHJ5IGFnYWluYCk7aWYoIWMmJm8pdGhyb3cgbmV3IEVycm9yKGBTdWJzY3JpYmluZyB0byAke2V9IGZhaWxlZCwgcGxlYXNlIHRyeSBhZ2FpbmApO3JldHVybiBjP2k6bnVsbH1jYXRjaChhKXtpZih0aGlzLmxvZ2dlci5kZWJ1ZygiT3V0Z29pbmcgUmVsYXkgU3Vic2NyaWJlIFBheWxvYWQgc3RhbGxlZCIpLHRoaXMucmVsYXllci5ldmVudHMuZW1pdChzZS5jb25uZWN0aW9uX3N0YWxsZWQpLG8pdGhyb3cgYX1yZXR1cm4gbnVsbH1hc3luYyBycGNCYXRjaFN1YnNjcmliZShlKXtpZighZS5sZW5ndGgpcmV0dXJuITA7Y29uc3Qgcj1lWzBdLnJlbGF5LG49e21ldGhvZDpXcihyLnByb3RvY29sKS5iYXRjaFN1YnNjcmliZSxwYXJhbXM6e3RvcGljczplLm1hcChpPT5pLnRvcGljKX19O3RoaXMubG9nZ2VyLmRlYnVnKCJPdXRnb2luZyBSZWxheSBQYXlsb2FkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6InBheWxvYWQiLGRpcmVjdGlvbjoib3V0Z29pbmciLHJlcXVlc3Q6bn0pO3RyeXtyZXR1cm4gYXdhaXQgbnQobmV3IFByb21pc2UoKGkscyk9Pnt0aGlzLnJlbGF5ZXIucmVxdWVzdChuKS50aGVuKGkpLmNhdGNoKG89Pnt0aGlzLmxvZ2dlci53YXJuKG8pLHMobyl9KX0pLHRoaXMuc3Vic2NyaWJlVGltZW91dCwicnBjQmF0Y2hTdWJzY3JpYmUgZmFpbGVkLCBwbGVhc2UgdHJ5IGFnYWluIiksITB9Y2F0Y2h7cmV0dXJuIHRoaXMucmVsYXllci5ldmVudHMuZW1pdChzZS5jb25uZWN0aW9uX3N0YWxsZWQpLCExfX1hc3luYyBycGNCYXRjaEZldGNoTWVzc2FnZXMoZSl7aWYoIWUubGVuZ3RoKXJldHVybjtjb25zdCByPWVbMF0ucmVsYXksbj17bWV0aG9kOldyKHIucHJvdG9jb2wpLmJhdGNoRmV0Y2hNZXNzYWdlcyxwYXJhbXM6e3RvcGljczplLm1hcChzPT5zLnRvcGljKX19O3RoaXMubG9nZ2VyLmRlYnVnKCJPdXRnb2luZyBSZWxheSBQYXlsb2FkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6InBheWxvYWQiLGRpcmVjdGlvbjoib3V0Z29pbmciLHJlcXVlc3Q6bn0pO2xldCBpO3RyeXtpPWF3YWl0IGF3YWl0IG50KG5ldyBQcm9taXNlKChzLG8pPT57dGhpcy5yZWxheWVyLnJlcXVlc3QobikuY2F0Y2goYT0+e3RoaXMubG9nZ2VyLndhcm4oYSksbyhhKX0pLnRoZW4ocyl9KSx0aGlzLnN1YnNjcmliZVRpbWVvdXQsInJwY0JhdGNoRmV0Y2hNZXNzYWdlcyBmYWlsZWQsIHBsZWFzZSB0cnkgYWdhaW4iKX1jYXRjaHt0aGlzLnJlbGF5ZXIuZXZlbnRzLmVtaXQoc2UuY29ubmVjdGlvbl9zdGFsbGVkKX1yZXR1cm4gaX1ycGNVbnN1YnNjcmliZShlLHIsbil7Y29uc3QgaT17bWV0aG9kOldyKG4ucHJvdG9jb2wpLnVuc3Vic2NyaWJlLHBhcmFtczp7dG9waWM6ZSxpZDpyfX07cmV0dXJuIHRoaXMubG9nZ2VyLmRlYnVnKCJPdXRnb2luZyBSZWxheSBQYXlsb2FkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6InBheWxvYWQiLGRpcmVjdGlvbjoib3V0Z29pbmciLHJlcXVlc3Q6aX0pLHRoaXMucmVsYXllci5yZXF1ZXN0KGkpfW9uU3Vic2NyaWJlKGUscil7dGhpcy5zZXRTdWJzY3JpcHRpb24oZSx7Li4ucixpZDplfSksdGhpcy5wZW5kaW5nLmRlbGV0ZShyLnRvcGljKX1vbkJhdGNoU3Vic2NyaWJlKGUpe2UubGVuZ3RoJiZlLmZvckVhY2gocj0+e3RoaXMuc2V0U3Vic2NyaXB0aW9uKHIuaWQsey4uLnJ9KSx0aGlzLnBlbmRpbmcuZGVsZXRlKHIudG9waWMpfSl9YXN5bmMgb25VbnN1YnNjcmliZShlLHIsbil7dGhpcy5ldmVudHMucmVtb3ZlQWxsTGlzdGVuZXJzKHIpLHRoaXMuaGFzU3Vic2NyaXB0aW9uKHIsZSkmJnRoaXMuZGVsZXRlU3Vic2NyaXB0aW9uKHIsbiksYXdhaXQgdGhpcy5yZWxheWVyLm1lc3NhZ2VzLmRlbChlKX1hc3luYyBzZXRSZWxheWVyU3Vic2NyaXB0aW9ucyhlKXthd2FpdCB0aGlzLnJlbGF5ZXIuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LGUpfWFzeW5jIGdldFJlbGF5ZXJTdWJzY3JpcHRpb25zKCl7cmV0dXJuIGF3YWl0IHRoaXMucmVsYXllci5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfXNldFN1YnNjcmlwdGlvbihlLHIpe3RoaXMubG9nZ2VyLmRlYnVnKCJTZXR0aW5nIHN1YnNjcmlwdGlvbiIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoic2V0U3Vic2NyaXB0aW9uIixpZDplLHN1YnNjcmlwdGlvbjpyfSksdGhpcy5hZGRTdWJzY3JpcHRpb24oZSxyKX1hZGRTdWJzY3JpcHRpb24oZSxyKXt0aGlzLnN1YnNjcmlwdGlvbnMuc2V0KGUsey4uLnJ9KSx0aGlzLnRvcGljTWFwLnNldChyLnRvcGljLGUpLHRoaXMuZXZlbnRzLmVtaXQoamUuY3JlYXRlZCxyKX1nZXRTdWJzY3JpcHRpb24oZSl7dGhpcy5sb2dnZXIuZGVidWcoIkdldHRpbmcgc3Vic2NyaXB0aW9uIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJnZXRTdWJzY3JpcHRpb24iLGlkOmV9KTtjb25zdCByPXRoaXMuc3Vic2NyaXB0aW9ucy5nZXQoZSk7aWYoIXIpe2NvbnN0e21lc3NhZ2U6bn09RigiTk9fTUFUQ0hJTkdfS0VZIixgJHt0aGlzLm5hbWV9OiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKG4pfXJldHVybiByfWRlbGV0ZVN1YnNjcmlwdGlvbihlLHIpe3RoaXMubG9nZ2VyLmRlYnVnKCJEZWxldGluZyBzdWJzY3JpcHRpb24iKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6ImRlbGV0ZVN1YnNjcmlwdGlvbiIsaWQ6ZSxyZWFzb246cn0pO2NvbnN0IG49dGhpcy5nZXRTdWJzY3JpcHRpb24oZSk7dGhpcy5zdWJzY3JpcHRpb25zLmRlbGV0ZShlKSx0aGlzLnRvcGljTWFwLmRlbGV0ZShuLnRvcGljLGUpLHRoaXMuZXZlbnRzLmVtaXQoamUuZGVsZXRlZCx7Li4ubixyZWFzb246cn0pfWFzeW5jIHBlcnNpc3QoKXthd2FpdCB0aGlzLnNldFJlbGF5ZXJTdWJzY3JpcHRpb25zKHRoaXMudmFsdWVzKSx0aGlzLmV2ZW50cy5lbWl0KGplLnN5bmMpfWFzeW5jIG9uUmVzdGFydCgpe2lmKHRoaXMuY2FjaGVkLmxlbmd0aCl7Y29uc3QgZT1bLi4udGhpcy5jYWNoZWRdLHI9TWF0aC5jZWlsKHRoaXMuY2FjaGVkLmxlbmd0aC90aGlzLmJhdGNoU3Vic2NyaWJlVG9waWNzTGltaXQpO2ZvcihsZXQgbj0wO248cjtuKyspe2NvbnN0IGk9ZS5zcGxpY2UoMCx0aGlzLmJhdGNoU3Vic2NyaWJlVG9waWNzTGltaXQpO2F3YWl0IHRoaXMuYmF0Y2hTdWJzY3JpYmUoaSl9fXRoaXMuZXZlbnRzLmVtaXQoamUucmVzdWJzY3JpYmVkKX1hc3luYyByZXN0b3JlKCl7dHJ5e2NvbnN0IGU9YXdhaXQgdGhpcy5nZXRSZWxheWVyU3Vic2NyaXB0aW9ucygpO2lmKHR5cGVvZiBlPiJ1Inx8IWUubGVuZ3RoKXJldHVybjtpZih0aGlzLnN1YnNjcmlwdGlvbnMuc2l6ZSYmIWUuZXZlcnkocj0+ci50b3BpYz09PXRoaXMuc3Vic2NyaXB0aW9ucy5nZXQoci5pZCk/LnRvcGljKSl7Y29uc3R7bWVzc2FnZTpyfT1GKCJSRVNUT1JFX1dJTExfT1ZFUlJJREUiLHRoaXMubmFtZSk7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IociksdGhpcy5sb2dnZXIuZXJyb3IoYCR7dGhpcy5uYW1lfTogJHtKU09OLnN0cmluZ2lmeSh0aGlzLnZhbHVlcyl9YCksbmV3IEVycm9yKHIpfXRoaXMuY2FjaGVkPWUsdGhpcy5sb2dnZXIuZGVidWcoYFN1Y2Nlc3NmdWxseSBSZXN0b3JlZCBzdWJzY3JpcHRpb25zIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InJlc3RvcmUiLHN1YnNjcmlwdGlvbnM6dGhpcy52YWx1ZXN9KX1jYXRjaChlKXt0aGlzLmxvZ2dlci5kZWJ1ZyhgRmFpbGVkIHRvIFJlc3RvcmUgc3Vic2NyaXB0aW9ucyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIuZXJyb3IoZSl9fWFzeW5jIGJhdGNoU3Vic2NyaWJlKGUpe2lmKGUubGVuZ3RoKXtpZighYXdhaXQgdGhpcy5ycGNCYXRjaFN1YnNjcmliZShlKSl7dGhpcy5sb2dnZXIud2FybihgQmF0Y2ggc3Vic2NyaWJlIGZhaWxlZCBmb3IgJHtlLmxlbmd0aH0gdG9waWNzLCBhZGRpbmcgdG8gcGVuZGluZyBmb3IgcmV0cnlgKSxlLmZvckVhY2gocj0+e3RoaXMucGVuZGluZy5zZXQoci50b3BpYyxyKX0pO3JldHVybn10aGlzLm9uQmF0Y2hTdWJzY3JpYmUoYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgcj0+KHsuLi5yLGlkOmF3YWl0IHRoaXMuZ2V0U3Vic2NyaXB0aW9uSWQoci50b3BpYyl9KSkpKX19YXN5bmMgYmF0Y2hGZXRjaE1lc3NhZ2VzKGUpe2lmKCFlLmxlbmd0aClyZXR1cm47dGhpcy5sb2dnZXIudHJhY2UoYEZldGNoaW5nIGJhdGNoIG1lc3NhZ2VzIGZvciAke2UubGVuZ3RofSBzdWJzY3JpcHRpb25zYCk7Y29uc3Qgcj1hd2FpdCB0aGlzLnJwY0JhdGNoRmV0Y2hNZXNzYWdlcyhlKTtyJiZyLm1lc3NhZ2VzJiYoYXdhaXQgQ3YoTS50b01pbGlzZWNvbmRzKE0uT05FX1NFQ09ORCkpLGF3YWl0IHRoaXMucmVsYXllci5oYW5kbGVCYXRjaE1lc3NhZ2VFdmVudHMoci5tZXNzYWdlcykpfWFzeW5jIG9uQ29ubmVjdCgpe2F3YWl0IHRoaXMucmVzdGFydCgpLHRoaXMucmVzZXQoKX1vbkRpc2Nvbm5lY3QoKXt0aGlzLm9uRGlzYWJsZSgpfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1GKCJOT1RfSU5JVElBTElaRUQiLHRoaXMubmFtZSk7dGhyb3cgbmV3IEVycm9yKGUpfX1hc3luYyByZXN0YXJ0VG9Db21wbGV0ZShlKXshdGhpcy5yZWxheWVyLmNvbm5lY3RlZCYmIXRoaXMucmVsYXllci5jb25uZWN0aW5nJiYodGhpcy5jYWNoZWQucHVzaChlKSxhd2FpdCB0aGlzLnJlbGF5ZXIudHJhbnNwb3J0T3BlbigpKX1hc3luYyBnZXRDbGllbnRJZCgpe3JldHVybiB0aGlzLmNsaWVudElkfHwodGhpcy5jbGllbnRJZD1hd2FpdCB0aGlzLnJlbGF5ZXIuY29yZS5jcnlwdG8uZ2V0Q2xpZW50SWQoKSksdGhpcy5jbGllbnRJZH1hc3luYyBnZXRTdWJzY3JpcHRpb25JZChlKXtyZXR1cm4gV2UoZSthd2FpdCB0aGlzLmdldENsaWVudElkKCkpfX1jbGFzcyBFUyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMucHJvdG9jb2w9IndjIix0aGlzLnZlcnNpb249Mix0aGlzLmV2ZW50cz1uZXcgWGUuRXZlbnRFbWl0dGVyLHRoaXMubmFtZT1WeCx0aGlzLnRyYW5zcG9ydEV4cGxpY2l0bHlDbG9zZWQ9ITEsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLmNvbm5lY3Rpb25BdHRlbXB0SW5Qcm9ncmVzcz0hMSx0aGlzLmhhc0V4cGVyaWVuY2VkTmV0d29ya0Rpc3J1cHRpb249ITEsdGhpcy5oZWFydEJlYXRUaW1lb3V0PU0udG9NaWxpc2Vjb25kcyhNLlRISVJUWV9TRUNPTkRTK00uRklWRV9TRUNPTkRTKSx0aGlzLnJlY29ubmVjdEluUHJvZ3Jlc3M9ITEsdGhpcy5yZXF1ZXN0c0luRmxpZ2h0PVtdLHRoaXMuY29ubmVjdFRpbWVvdXQ9TS50b01pbGlzZWNvbmRzKE0uT05FX1NFQ09ORCoxNSksdGhpcy5zdGFsbGVkUmVzdGFydEluUHJvZ3Jlc3M9ITEsdGhpcy5zdGFsbGVkUmVzdGFydEJhY2tvZmY9MCx0aGlzLnN0YWxsZWRSZXN0YXJ0QmFzZUludGVydmFsPU0udG9NaWxpc2Vjb25kcyhNLk9ORV9TRUNPTkQqMiksdGhpcy5zdGFsbGVkUmVzdGFydE1heEludGVydmFsPU0udG9NaWxpc2Vjb25kcyhNLlRISVJUWV9TRUNPTkRTKSx0aGlzLnJlcXVlc3Q9YXN5bmMgcj0+e3RoaXMubG9nZ2VyLmRlYnVnKCJQdWJsaXNoaW5nIFJlcXVlc3QgUGF5bG9hZCIpO2NvbnN0IG49ci5pZHx8YXIoKS50b1N0cmluZygpO2F3YWl0IHRoaXMudG9Fc3RhYmxpc2hDb25uZWN0aW9uKCk7dHJ5e3RoaXMubG9nZ2VyLnRyYWNlKHtpZDpuLG1ldGhvZDpyLm1ldGhvZCx0b3BpYzpyLnBhcmFtcz8udG9waWN9LCJyZWxheWVyLnJlcXVlc3QgLSBwdWJsaXNoaW5nLi4uIik7Y29uc3QgaT1gJHtufToke3IucGFyYW1zPy50YWd8fCIifWA7dGhpcy5yZXF1ZXN0c0luRmxpZ2h0LnB1c2goaSk7Y29uc3Qgcz1hd2FpdCB0aGlzLnByb3ZpZGVyLnJlcXVlc3Qocik7cmV0dXJuIHRoaXMucmVxdWVzdHNJbkZsaWdodD10aGlzLnJlcXVlc3RzSW5GbGlnaHQuZmlsdGVyKG89Pm8hPT1pKSxzfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gUHVibGlzaCBSZXF1ZXN0OiAke259YCksaX19LHRoaXMucmVzZXRQaW5nVGltZW91dD0oKT0+eyRpKCkmJihjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dCksdGhpcy5waW5nVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dHJ5e3RoaXMubG9nZ2VyLmRlYnVnKHt9LCJwaW5nVGltZW91dDogQ29ubmVjdGlvbiBzdGFsbGVkLCB0ZXJtaW5hdGluZy4uLiIpLHRoaXMucHJvdmlkZXI/LmNvbm5lY3Rpb24/LnNvY2tldD8udGVybWluYXRlPy4oKX1jYXRjaChyKXt0aGlzLmxvZ2dlci53YXJuKHIscj8ubWVzc2FnZSl9fSx0aGlzLmhlYXJ0QmVhdFRpbWVvdXQpKX0sdGhpcy5vblBheWxvYWRIYW5kbGVyPXI9Pnt0aGlzLm9uUHJvdmlkZXJQYXlsb2FkKHIpLHRoaXMucmVzZXRQaW5nVGltZW91dCgpfSx0aGlzLm9uQ29ubmVjdEhhbmRsZXI9KCk9Pnt0aGlzLmxvZ2dlci53YXJuKHt9LCJSZWxheWVyIGNvbm5lY3RlZCBcdXsxRjZEQ30iKSx0aGlzLnN0YXJ0UGluZ1RpbWVvdXQoKSx0aGlzLnN0YWxsZWRSZXN0YXJ0QmFja29mZj0wLHRoaXMuZXZlbnRzLmVtaXQoc2UuY29ubmVjdCl9LHRoaXMub25EaXNjb25uZWN0SGFuZGxlcj0oKT0+e3RoaXMubG9nZ2VyLndhcm4oe30sIlJlbGF5ZXIgZGlzY29ubmVjdGVkIFx1ezFGNkQxfSIpLHRoaXMucmVxdWVzdHNJbkZsaWdodD1bXSx0aGlzLm9uUHJvdmlkZXJEaXNjb25uZWN0KCl9LHRoaXMub25Qcm92aWRlckVycm9ySGFuZGxlcj1yPT57dGhpcy5sb2dnZXIuZmF0YWwoYEZhdGFsIHNvY2tldCBlcnJvcjogJHtyLm1lc3NhZ2V9YCksdGhpcy5ldmVudHMuZW1pdChzZS5lcnJvcixyKSx0aGlzLmxvZ2dlci5mYXRhbCgiRmF0YWwgc29ja2V0IGVycm9yIHJlY2VpdmVkLCBjbG9zaW5nIHRyYW5zcG9ydCIpLHRoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZD0hMCxjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLnJlY29ubmVjdFRpbWVvdXQ9dm9pZCAwLHRoaXMucmVjb25uZWN0SW5Qcm9ncmVzcz0hMSx0aGlzLnRyYW5zcG9ydENsb3NlKCkuY2F0Y2gobj0+dGhpcy5sb2dnZXIud2FybihuKSl9LHRoaXMucmVnaXN0ZXJQcm92aWRlckxpc3RlbmVycz0oKT0+e3RoaXMucHJvdmlkZXIub24oWWUucGF5bG9hZCx0aGlzLm9uUGF5bG9hZEhhbmRsZXIpLHRoaXMucHJvdmlkZXIub24oWWUuY29ubmVjdCx0aGlzLm9uQ29ubmVjdEhhbmRsZXIpLHRoaXMucHJvdmlkZXIub24oWWUuZGlzY29ubmVjdCx0aGlzLm9uRGlzY29ubmVjdEhhbmRsZXIpLHRoaXMucHJvdmlkZXIub24oWWUuZXJyb3IsdGhpcy5vblByb3ZpZGVyRXJyb3JIYW5kbGVyKX0sdGhpcy5jb3JlPWUuY29yZSx0aGlzLmxvZ2dlcj1lZih7bG9nZ2VyOmUubG9nZ2VyPz9LeCxuYW1lOnRoaXMubmFtZX0pLHRoaXMubWVzc2FnZXM9bmV3IHlTKHRoaXMubG9nZ2VyLGUuY29yZSksdGhpcy5zdWJzY3JpYmVyPW5ldyBiUyh0aGlzLHRoaXMubG9nZ2VyKSx0aGlzLnB1Ymxpc2hlcj1uZXcgd1ModGhpcyx0aGlzLmxvZ2dlciksdGhpcy5wcm9qZWN0SWQ9ZS5wcm9qZWN0SWQsdGhpcy5yZWxheVVybD1lLnJlbGF5VXJsfHx2ZixidigpP3RoaXMucGFja2FnZU5hbWU9Z2goKTpFdigpJiYodGhpcy5idW5kbGVJZD1naCgpKSx0aGlzLnByb3ZpZGVyPXt9fWFzeW5jIGluaXQoKXt0aGlzLmxvZ2dlci50cmFjZSgiSW5pdGlhbGl6ZWQiKSx0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKSxhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5tZXNzYWdlcy5pbml0KCksdGhpcy5zdWJzY3JpYmVyLmluaXQoKV0pLHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy50cmFuc3BvcnRPcGVuKCkuY2F0Y2goZT0+dGhpcy5sb2dnZXIud2FybihlLGU/Lm1lc3NhZ2UpKX1nZXQgY29udGV4dCgpe3JldHVybiBOZSh0aGlzLmxvZ2dlcil9Z2V0IGNvbm5lY3RlZCgpe3JldHVybiB0aGlzLnByb3ZpZGVyPy5jb25uZWN0aW9uPy5zb2NrZXQ/LnJlYWR5U3RhdGU9PT0xfWdldCBjb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMucHJvdmlkZXI/LmNvbm5lY3Rpb24/LnNvY2tldD8ucmVhZHlTdGF0ZT09PTB8fHRoaXMuY29ubmVjdFByb21pc2UhPT12b2lkIDB9YXN5bmMgcHVibGlzaChlLHIsbil7dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5wdWJsaXNoZXIucHVibGlzaChlLHIsbiksYXdhaXQgdGhpcy5yZWNvcmRNZXNzYWdlRXZlbnQoe3RvcGljOmUsbWVzc2FnZTpyLHB1Ymxpc2hlZEF0OkRhdGUubm93KCksdHJhbnNwb3J0VHlwZTp0ZS5yZWxheX0sSGkub3V0Ym91bmQpfWFzeW5jIHB1Ymxpc2hDdXN0b20oZSl7dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5wdWJsaXNoZXIucHVibGlzaEN1c3RvbShlKX1hc3luYyBzdWJzY3JpYmUoZSxyKXt0aGlzLmlzSW5pdGlhbGl6ZWQoKSwoIXI/LnRyYW5zcG9ydFR5cGV8fHI/LnRyYW5zcG9ydFR5cGU9PT0icmVsYXkiKSYmYXdhaXQgdGhpcy50b0VzdGFibGlzaENvbm5lY3Rpb24oKTtjb25zdCBuPXI/LmludGVybmFsPy50aHJvd09uRmFpbGVkUHVibGlzaD8/ITA7bGV0IGk9dGhpcy5zdWJzY3JpYmVyLnRvcGljTWFwLmdldChlKT8uWzBdfHwiIixzO2NvbnN0IG89YT0+e2EudG9waWM9PT1lJiYodGhpcy5zdWJzY3JpYmVyLm9mZihqZS5jcmVhdGVkLG8pLHMoKSl9O3JldHVybiBhd2FpdCBQcm9taXNlLmFsbChbbmV3IFByb21pc2UoYT0+e3M9YSx0aGlzLnN1YnNjcmliZXIub24oamUuY3JlYXRlZCxvKX0pLG5ldyBQcm9taXNlKChhLGMpPT57dGhpcy5zdWJzY3JpYmVyLnN1YnNjcmliZShlLHtpbnRlcm5hbDp7dGhyb3dPbkZhaWxlZFB1Ymxpc2g6bn0sLi4ucn0pLnRoZW4odT0+e2k9dXx8aSxhKCl9KS5jYXRjaCh1PT57bj9jKHUpOmEoKX0pfSldKSxpfWFzeW5jIHVuc3Vic2NyaWJlKGUscil7dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5zdWJzY3JpYmVyLnVuc3Vic2NyaWJlKGUscil9b24oZSxyKXt0aGlzLmV2ZW50cy5vbihlLHIpfW9uY2UoZSxyKXt0aGlzLmV2ZW50cy5vbmNlKGUscil9b2ZmKGUscil7dGhpcy5ldmVudHMub2ZmKGUscil9cmVtb3ZlTGlzdGVuZXIoZSxyKXt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihlLHIpfWFzeW5jIHRyYW5zcG9ydERpc2Nvbm5lY3QoKXt0aGlzLnByb3ZpZGVyLmRpc2Nvbm5lY3QmJih0aGlzLmhhc0V4cGVyaWVuY2VkTmV0d29ya0Rpc3J1cHRpb258fHRoaXMuY29ubmVjdGVkKT9hd2FpdCBudCh0aGlzLnByb3ZpZGVyLmRpc2Nvbm5lY3QoKSwyZTMsInByb3ZpZGVyLmRpc2Nvbm5lY3QoKSIpLmNhdGNoKCgpPT50aGlzLm9uUHJvdmlkZXJEaXNjb25uZWN0KCkpOnRoaXMub25Qcm92aWRlckRpc2Nvbm5lY3QoKX1hc3luYyB0cmFuc3BvcnRDbG9zZSgpe3RoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZD0hMCxjbGVhclRpbWVvdXQodGhpcy5zdGFsbGVkUmVzdGFydFRpbWVvdXQpLHRoaXMuc3RhbGxlZFJlc3RhcnRJblByb2dyZXNzPSExLHRoaXMuc3RhbGxlZFJlc3RhcnRCYWNrb2ZmPTAsYXdhaXQgdGhpcy5yZXNldFRyYW5zcG9ydCgpfWFzeW5jIHRyYW5zcG9ydE9wZW4oZSl7aWYoIXRoaXMuc3Vic2NyaWJlci5oYXNBbnlUb3BpY3Mpe3RoaXMubG9nZ2VyLmluZm8oIlN0YXJ0aW5nIFdTIGNvbm5lY3Rpb24gc2tpcHBlZCBiZWNhdXNlIHRoZSBjbGllbnQgaGFzIG5vIHRvcGljcyB0byB3b3JrIHdpdGguIik7cmV0dXJufWlmKHRoaXMuY29ubmVjdFByb21pc2U/KHRoaXMubG9nZ2VyLmRlYnVnKHt9LCJXYWl0aW5nIGZvciBleGlzdGluZyBjb25uZWN0aW9uIGF0dGVtcHQgdG8gcmVzb2x2ZS4uLiIpLGF3YWl0IHRoaXMuY29ubmVjdFByb21pc2UsdGhpcy5sb2dnZXIuZGVidWcoe30sIkV4aXN0aW5nIGNvbm5lY3Rpb24gYXR0ZW1wdCByZXNvbHZlZCIpKToodGhpcy5jb25uZWN0UHJvbWlzZT10aGlzLmNvbm5lY3QoZSkuZmluYWxseSgoKT0+e3RoaXMuY29ubmVjdFByb21pc2U9dm9pZCAwfSksYXdhaXQgdGhpcy5jb25uZWN0UHJvbWlzZSksIXRoaXMuY29ubmVjdGVkKXRocm93IG5ldyBFcnJvcihgQ291bGRuJ3QgZXN0YWJsaXNoIHNvY2tldCBjb25uZWN0aW9uIHRvIHRoZSByZWxheSBzZXJ2ZXI6ICR7dGhpcy5yZWxheVVybH1gKX1hc3luYyByZXN0YXJ0VHJhbnNwb3J0KGUpe3RoaXMubG9nZ2VyLmRlYnVnKHt9LCJSZXN0YXJ0aW5nIHRyYW5zcG9ydC4uLiIpLCF0aGlzLmNvbm5lY3Rpb25BdHRlbXB0SW5Qcm9ncmVzcyYmKHRoaXMucmVsYXlVcmw9ZXx8dGhpcy5yZWxheVVybCxhd2FpdCB0aGlzLmNvbmZpcm1PbmxpbmVTdGF0ZU9yVGhyb3coKSxhd2FpdCB0aGlzLnJlc2V0VHJhbnNwb3J0KCksYXdhaXQgdGhpcy50cmFuc3BvcnRPcGVuKCkpfWFzeW5jIHJlc2V0VHJhbnNwb3J0KCl7dGhpcy5yZWNvbm5lY3RJblByb2dyZXNzPSEwLGNsZWFyVGltZW91dCh0aGlzLnJlY29ubmVjdFRpbWVvdXQpLHRoaXMucmVjb25uZWN0VGltZW91dD12b2lkIDAsYXdhaXQgdGhpcy50cmFuc3BvcnREaXNjb25uZWN0KCksYXdhaXQgdGhpcy5zdWJzY3JpYmVyLnN0b3AoKSx0aGlzLnJlY29ubmVjdEluUHJvZ3Jlc3M9ITF9YXN5bmMgY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpe2lmKCFhd2FpdCBRaCgpKXRocm93IG5ldyBFcnJvcigiTm8gaW50ZXJuZXQgY29ubmVjdGlvbiBkZXRlY3RlZC4gUGxlYXNlIHJlc3RhcnQgeW91ciBuZXR3b3JrIGFuZCB0cnkgYWdhaW4uIil9YXN5bmMgaGFuZGxlQmF0Y2hNZXNzYWdlRXZlbnRzKGUpe2lmKGU/Lmxlbmd0aD09PTApe3RoaXMubG9nZ2VyLnRyYWNlKCJCYXRjaCBtZXNzYWdlIGV2ZW50cyBpcyBlbXB0eS4gSWdub3JpbmcuLi4iKTtyZXR1cm59Y29uc3Qgcj1lLnNvcnQoKG4saSk9Pm4ucHVibGlzaGVkQXQtaS5wdWJsaXNoZWRBdCk7dGhpcy5sb2dnZXIuZGVidWcoYEJhdGNoIG9mICR7ci5sZW5ndGh9IG1lc3NhZ2UgZXZlbnRzIHNvcnRlZGApO2Zvcihjb25zdCBuIG9mIHIpdHJ5e2F3YWl0IHRoaXMub25NZXNzYWdlRXZlbnQobil9Y2F0Y2goaSl7dGhpcy5sb2dnZXIud2FybihpLCJFcnJvciB3aGlsZSBwcm9jZXNzaW5nIGJhdGNoIG1lc3NhZ2UgZXZlbnQ6ICIraT8ubWVzc2FnZSl9dGhpcy5sb2dnZXIudHJhY2UoYEJhdGNoIG9mICR7ci5sZW5ndGh9IG1lc3NhZ2UgZXZlbnRzIHByb2Nlc3NlZGApfWFzeW5jIG9uTGlua01lc3NhZ2VFdmVudChlLHIpe2NvbnN0e3RvcGljOm59PWU7aWYoIXIuc2Vzc2lvbkV4aXN0cyl7Y29uc3QgaT1sZShNLkZJVkVfTUlOVVRFUykscz17dG9waWM6bixleHBpcnk6aSxyZWxheTp7cHJvdG9jb2w6ImlybiJ9LGFjdGl2ZTohMX07YXdhaXQgdGhpcy5jb3JlLnBhaXJpbmcucGFpcmluZ3Muc2V0KG4scyl9dGhpcy5ldmVudHMuZW1pdChzZS5tZXNzYWdlLGUpLGF3YWl0IHRoaXMucmVjb3JkTWVzc2FnZUV2ZW50KGUsSGkuaW5ib3VuZCl9YXN5bmMgY29ubmVjdChlKXthd2FpdCB0aGlzLmNvbmZpcm1PbmxpbmVTdGF0ZU9yVGhyb3coKSxlJiZlIT09dGhpcy5yZWxheVVybCYmKHRoaXMucmVsYXlVcmw9ZSxhd2FpdCB0aGlzLnRyYW5zcG9ydERpc2Nvbm5lY3QoKSksdGhpcy50cmFuc3BvcnRFeHBsaWNpdGx5Q2xvc2VkPSExO2xldCByPTE7dHJ5e2Zvcig7cjw2Oyl7dGhpcy5jb25uZWN0aW9uQXR0ZW1wdEluUHJvZ3Jlc3M9ITA7dHJ5e2lmKHRoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZClicmVhazt0aGlzLmxvZ2dlci5kZWJ1Zyh7fSxgQ29ubmVjdGluZyB0byAke3RoaXMucmVsYXlVcmx9LCBhdHRlbXB0OiAke3J9Li4uYCksYXdhaXQgdGhpcy5jcmVhdGVQcm92aWRlcigpLGF3YWl0IG5ldyBQcm9taXNlKChuLGkpPT57Y29uc3Qgcz0oKT0+e2kobmV3IEVycm9yKCJDb25uZWN0aW9uIGludGVycnVwdGVkIHdoaWxlIHRyeWluZyB0byBjb25uZWN0IikpfTt0aGlzLnByb3ZpZGVyLm9uY2UoWWUuZGlzY29ubmVjdCxzKSxudCh0aGlzLnByb3ZpZGVyLmNvbm5lY3QoKSx0aGlzLmNvbm5lY3RUaW1lb3V0LGBTb2NrZXQgc3RhbGxlZCB3aGVuIHRyeWluZyB0byBjb25uZWN0IHRvICR7dGhpcy5yZWxheVVybH1gKS50aGVuKCgpPT5uKCkpLmNhdGNoKGkpLmZpbmFsbHkoKCk9Pnt0aGlzLnByb3ZpZGVyLm9mZihZZS5kaXNjb25uZWN0LHMpLGNsZWFyVGltZW91dCh0aGlzLnJlY29ubmVjdFRpbWVvdXQpfSl9KSxhd2FpdCBuZXcgUHJvbWlzZSgobixpKT0+e2NvbnN0IHM9KCk9PntpKG5ldyBFcnJvcigiQ29ubmVjdGlvbiBpbnRlcnJ1cHRlZCB3aGlsZSB0cnlpbmcgdG8gc3Vic2NyaWJlIikpfTt0aGlzLnByb3ZpZGVyLm9uY2UoWWUuZGlzY29ubmVjdCxzKSx0aGlzLnN1YnNjcmliZXIuc3RhcnQoKS50aGVuKG4pLmNhdGNoKGkpLmZpbmFsbHkoKCk9Pnt0aGlzLnByb3ZpZGVyLm9mZihZZS5kaXNjb25uZWN0LHMpfSl9KSx0aGlzLmhhc0V4cGVyaWVuY2VkTmV0d29ya0Rpc3J1cHRpb249ITF9Y2F0Y2gobil7YXdhaXQgdGhpcy5zdWJzY3JpYmVyLnN0b3AoKTtjb25zdCBpPW47dGhpcy5sb2dnZXIud2Fybih7fSxpLm1lc3NhZ2UpLHRoaXMuaGFzRXhwZXJpZW5jZWROZXR3b3JrRGlzcnVwdGlvbj0hMH1pZih0aGlzLmNvbm5lY3RlZCl7dGhpcy5sb2dnZXIuZGVidWcoe30sYENvbm5lY3RlZCB0byAke3RoaXMucmVsYXlVcmx9IHN1Y2Nlc3NmdWxseSBvbiBhdHRlbXB0OiAke3J9YCk7YnJlYWt9YXdhaXQgbmV3IFByb21pc2Uobj0+c2V0VGltZW91dChuLE0udG9NaWxpc2Vjb25kcyhyKjEpKSkscisrfX1maW5hbGx5e3RoaXMuY29ubmVjdGlvbkF0dGVtcHRJblByb2dyZXNzPSExLGNsZWFyVGltZW91dCh0aGlzLnJlY29ubmVjdFRpbWVvdXQpLHRoaXMucmVjb25uZWN0VGltZW91dD12b2lkIDAsdGhpcy5yZWNvbm5lY3RJblByb2dyZXNzPSExfX1zdGFydFBpbmdUaW1lb3V0KCl7aWYoJGkoKSl0cnl7dGhpcy5wcm92aWRlcj8uY29ubmVjdGlvbj8uc29ja2V0Py5vbigicGluZyIsKCk9Pnt0aGlzLnJlc2V0UGluZ1RpbWVvdXQoKX0pLHRoaXMucmVzZXRQaW5nVGltZW91dCgpfWNhdGNoKGUpe3RoaXMubG9nZ2VyLndhcm4oZSxlPy5tZXNzYWdlKX19YXN5bmMgY3JlYXRlUHJvdmlkZXIoKXtpZih0aGlzLnByb3ZpZGVyLmNvbm5lY3Rpb24mJih0aGlzLnVucmVnaXN0ZXJQcm92aWRlckxpc3RlbmVycygpLHRoaXMuY29ubmVjdGVkKSl0cnl7YXdhaXQgbnQodGhpcy5wcm92aWRlci5kaXNjb25uZWN0KCksMWUzLCJDbG9zaW5nIHByZXZpb3VzIHByb3ZpZGVyIil9Y2F0Y2h7fWNvbnN0IGU9YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5zaWduSldUKHRoaXMucmVsYXlVcmwpO3RoaXMucHJvdmlkZXI9bmV3IHR4KG5ldyBzeChJdih7c2RrVmVyc2lvbjp1YSxwcm90b2NvbDp0aGlzLnByb3RvY29sLHZlcnNpb246dGhpcy52ZXJzaW9uLHJlbGF5VXJsOnRoaXMucmVsYXlVcmwscHJvamVjdElkOnRoaXMucHJvamVjdElkLGF1dGg6ZSx1c2VPbkNsb3NlRXZlbnQ6ITAsYnVuZGxlSWQ6dGhpcy5idW5kbGVJZCxwYWNrYWdlTmFtZTp0aGlzLnBhY2thZ2VOYW1lfSkpKSx0aGlzLnJlZ2lzdGVyUHJvdmlkZXJMaXN0ZW5lcnMoKX1hc3luYyByZWNvcmRNZXNzYWdlRXZlbnQoZSxyKXtjb25zdHt0b3BpYzpuLG1lc3NhZ2U6aX09ZTthd2FpdCB0aGlzLm1lc3NhZ2VzLnNldChuLGkscil9YXN5bmMgc2hvdWxkSWdub3JlTWVzc2FnZUV2ZW50KGUpe2NvbnN0e3RvcGljOnIsbWVzc2FnZTpufT1lO2lmKCFufHxuLmxlbmd0aD09PTApcmV0dXJuIHRoaXMubG9nZ2VyLndhcm4oYElnbm9yaW5nIGludmFsaWQvZW1wdHkgbWVzc2FnZTogJHtufWApLCEwO2lmKCFhd2FpdCB0aGlzLnN1YnNjcmliZXIuaXNLbm93blRvcGljKHIpKXJldHVybiB0aGlzLmxvZ2dlci53YXJuKGBJZ25vcmluZyBtZXNzYWdlIGZvciB1bmtub3duIHRvcGljICR7cn1gKSwhMDtjb25zdCBpPXRoaXMubWVzc2FnZXMuaGFzKHIsbik7cmV0dXJuIGkmJnRoaXMubG9nZ2VyLndhcm4oYElnbm9yaW5nIGR1cGxpY2F0ZSBtZXNzYWdlOiAke259YCksaX1hc3luYyBvblByb3ZpZGVyUGF5bG9hZChlKXtpZih0aGlzLmxvZ2dlci5kZWJ1ZygiSW5jb21pbmcgUmVsYXkgUGF5bG9hZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJwYXlsb2FkIixkaXJlY3Rpb246ImluY29taW5nIixwYXlsb2FkOmV9KSxvYShlKSl7aWYoIWUubWV0aG9kLmVuZHNXaXRoKEh4KSlyZXR1cm47Y29uc3Qgcj1lLnBhcmFtcyx7dG9waWM6bixtZXNzYWdlOmkscHVibGlzaGVkQXQ6cyxhdHRlc3RhdGlvbjpvfT1yLmRhdGEsYT17dG9waWM6bixtZXNzYWdlOmkscHVibGlzaGVkQXQ6cyx0cmFuc3BvcnRUeXBlOnRlLnJlbGF5LGF0dGVzdGF0aW9uOm99O3RoaXMubG9nZ2VyLmRlYnVnKCJFbWl0dGluZyBSZWxheWVyIFBheWxvYWQiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToiZXZlbnQiLGV2ZW50OnIuaWQsLi4uYX0pLHRoaXMuZXZlbnRzLmVtaXQoci5pZCxhKSxhd2FpdCB0aGlzLmFja25vd2xlZGdlUGF5bG9hZChlKSxhd2FpdCB0aGlzLm9uTWVzc2FnZUV2ZW50KGEpfWVsc2UgVmkoZSkmJnRoaXMuZXZlbnRzLmVtaXQoc2UubWVzc2FnZV9hY2ssZSl9YXN5bmMgb25NZXNzYWdlRXZlbnQoZSl7YXdhaXQgdGhpcy5zaG91bGRJZ25vcmVNZXNzYWdlRXZlbnQoZSl8fChhd2FpdCB0aGlzLnJlY29yZE1lc3NhZ2VFdmVudChlLEhpLmluYm91bmQpLHRoaXMuZXZlbnRzLmVtaXQoc2UubWVzc2FnZSxlKSl9YXN5bmMgYWNrbm93bGVkZ2VQYXlsb2FkKGUpe2NvbnN0IHI9S2koZS5pZCwhMCk7YXdhaXQgdGhpcy5wcm92aWRlci5jb25uZWN0aW9uLnNlbmQocil9dW5yZWdpc3RlclByb3ZpZGVyTGlzdGVuZXJzKCl7dGhpcy5wcm92aWRlci5vZmYoWWUucGF5bG9hZCx0aGlzLm9uUGF5bG9hZEhhbmRsZXIpLHRoaXMucHJvdmlkZXIub2ZmKFllLmNvbm5lY3QsdGhpcy5vbkNvbm5lY3RIYW5kbGVyKSx0aGlzLnByb3ZpZGVyLm9mZihZZS5kaXNjb25uZWN0LHRoaXMub25EaXNjb25uZWN0SGFuZGxlciksdGhpcy5wcm92aWRlci5vZmYoWWUuZXJyb3IsdGhpcy5vblByb3ZpZGVyRXJyb3JIYW5kbGVyKSxjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dCl9YXN5bmMgcmVnaXN0ZXJFdmVudExpc3RlbmVycygpe2xldCBlPWF3YWl0IFFoKCk7UTIoYXN5bmMgcj0+e2UhPT1yJiYoZT1yLHI/YXdhaXQgdGhpcy50cmFuc3BvcnRPcGVuKCkuY2F0Y2gobj0+dGhpcy5sb2dnZXIuZXJyb3IobixuPy5tZXNzYWdlKSk6KHRoaXMuaGFzRXhwZXJpZW5jZWROZXR3b3JrRGlzcnVwdGlvbj0hMCxhd2FpdCB0aGlzLnRyYW5zcG9ydERpc2Nvbm5lY3QoKSx0aGlzLnRyYW5zcG9ydEV4cGxpY2l0bHlDbG9zZWQ9ITEpKX0pLHRoaXMuY29yZS5oZWFydGJlYXQub24oaHIucHVsc2UsYXN5bmMoKT0+e2lmKCF0aGlzLnRyYW5zcG9ydEV4cGxpY2l0bHlDbG9zZWQmJiF0aGlzLmNvbm5lY3RlZCYmcl8oKSl0cnl7YXdhaXQgdGhpcy5jb25maXJtT25saW5lU3RhdGVPclRocm93KCksYXdhaXQgdGhpcy50cmFuc3BvcnRPcGVuKCl9Y2F0Y2gocil7dGhpcy5sb2dnZXIud2FybihyLHI/Lm1lc3NhZ2UpfX0pLHRoaXMuZXZlbnRzLm9uKHNlLmNvbm5lY3Rpb25fc3RhbGxlZCwoKT0+e2lmKHRoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZHx8dGhpcy5zdGFsbGVkUmVzdGFydEluUHJvZ3Jlc3MpcmV0dXJuO3RoaXMuc3RhbGxlZFJlc3RhcnRJblByb2dyZXNzPSEwO2NvbnN0IHI9dGhpcy5zdGFsbGVkUmVzdGFydEJhY2tvZmY9PT0wPzA6TWF0aC5taW4oTWF0aC5wb3coMix0aGlzLnN0YWxsZWRSZXN0YXJ0QmFja29mZi0xKSp0aGlzLnN0YWxsZWRSZXN0YXJ0QmFzZUludGVydmFsLHRoaXMuc3RhbGxlZFJlc3RhcnRNYXhJbnRlcnZhbCk7dGhpcy5zdGFsbGVkUmVzdGFydEJhY2tvZmYrKyx0aGlzLmxvZ2dlci53YXJuKGBDb25uZWN0aW9uIHN0YWxsZWQsIHJlc3RhcnRpbmcgdHJhbnNwb3J0JHtyP2AgaW4gJHtyfW1zYDoiIn0uLi5gKSx0aGlzLnN0YWxsZWRSZXN0YXJ0VGltZW91dD1zZXRUaW1lb3V0KGFzeW5jKCk9Pnt0cnl7aWYodGhpcy50cmFuc3BvcnRFeHBsaWNpdGx5Q2xvc2VkKXJldHVybjthd2FpdCB0aGlzLnJlc3RhcnRUcmFuc3BvcnQoKX1jYXRjaChuKXt0aGlzLmxvZ2dlci5lcnJvcihuLG4/Lm1lc3NhZ2UpfWZpbmFsbHl7dGhpcy5zdGFsbGVkUmVzdGFydEluUHJvZ3Jlc3M9ITF9fSxyKX0pfWFzeW5jIG9uUHJvdmlkZXJEaXNjb25uZWN0KCl7aWYoY2xlYXJUaW1lb3V0KHRoaXMucGluZ1RpbWVvdXQpLHRoaXMuZXZlbnRzLmVtaXQoc2UuZGlzY29ubmVjdCksIXRoaXMucmVjb25uZWN0SW5Qcm9ncmVzcyl7dGhpcy5yZWNvbm5lY3RJblByb2dyZXNzPSEwO3RyeXthd2FpdCB0aGlzLnN1YnNjcmliZXIuc3RvcCgpfWNhdGNoKGUpe3RoaXMubG9nZ2VyLndhcm4oZSwic3Vic2NyaWJlci5zdG9wKCkgZmFpbGVkIGR1cmluZyBkaXNjb25uZWN0Iil9aWYoIXRoaXMuc3Vic2NyaWJlci5oYXNBbnlUb3BpY3N8fHRoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZCl7dGhpcy5yZWNvbm5lY3RJblByb2dyZXNzPSExO3JldHVybn10aGlzLnJlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgdGhpcy50cmFuc3BvcnRPcGVuKCkuY2F0Y2goZT0+dGhpcy5sb2dnZXIuZXJyb3IoZSxlPy5tZXNzYWdlKSksdGhpcy5yZWNvbm5lY3RUaW1lb3V0PXZvaWQgMCx0aGlzLnJlY29ubmVjdEluUHJvZ3Jlc3M9ITF9LE0udG9NaWxpc2Vjb25kcyhXeCkpfX1pc0luaXRpYWxpemVkKCl7aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0e21lc3NhZ2U6ZX09RigiTk9UX0lOSVRJQUxJWkVEIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19YXN5bmMgdG9Fc3RhYmxpc2hDb25uZWN0aW9uKCl7aWYoYXdhaXQgdGhpcy5jb25maXJtT25saW5lU3RhdGVPclRocm93KCksIXRoaXMuY29ubmVjdGVkKXtpZih0aGlzLmNvbm5lY3RQcm9taXNlKXthd2FpdCB0aGlzLmNvbm5lY3RQcm9taXNlO3JldHVybn10aGlzLmNvbm5lY3RQcm9taXNlPXRoaXMuY29ubmVjdCgpLmZpbmFsbHkoKCk9Pnt0aGlzLmNvbm5lY3RQcm9taXNlPXZvaWQgMH0pLGF3YWl0IHRoaXMuY29ubmVjdFByb21pc2V9fX1jbGFzcyBCciBleHRlbmRzIGVne2NvbnN0cnVjdG9yKGUscixuLGk9d3Qscz12b2lkIDApe3N1cGVyKGUscixuLGkpLHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXIsdGhpcy5uYW1lPW4sdGhpcy5tYXA9bmV3IE1hcCx0aGlzLnZlcnNpb249R3gsdGhpcy5jYWNoZWQ9W10sdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnN0b3JhZ2VQcmVmaXg9d3QsdGhpcy5yZWNlbnRseURlbGV0ZWQ9W10sdGhpcy5yZWNlbnRseURlbGV0ZWRMaW1pdD0yMDAsdGhpcy5pbml0PWFzeW5jKCk9Pnt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5sb2dnZXIudHJhY2UoIkluaXRpYWxpemVkIiksYXdhaXQgdGhpcy5yZXN0b3JlKCksdGhpcy5jYWNoZWQuZm9yRWFjaChvPT57dGhpcy5nZXRLZXkmJm8hPT1udWxsJiYhaGUobyk/dGhpcy5tYXAuc2V0KHRoaXMuZ2V0S2V5KG8pLG8pOkIyKG8pP3RoaXMubWFwLnNldChvLmlkLG8pOlIyKG8pJiZ0aGlzLm1hcC5zZXQoby50b3BpYyxvKX0pLHRoaXMuY2FjaGVkPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLnNldD1hc3luYyhvLGEpPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5tYXAuaGFzKG8pP2F3YWl0IHRoaXMudXBkYXRlKG8sYSk6KHRoaXMubG9nZ2VyLmRlYnVnKCJTZXR0aW5nIHZhbHVlIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJzZXQiLGtleTpvLHZhbHVlOmF9KSx0aGlzLm1hcC5zZXQobyxhKSxhd2FpdCB0aGlzLnBlcnNpc3QoKSl9LHRoaXMuZ2V0PW89Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmxvZ2dlci5kZWJ1ZygiR2V0dGluZyB2YWx1ZSIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoiZ2V0IixrZXk6b30pLHRoaXMuZ2V0RGF0YShvKSksdGhpcy5nZXRBbGw9bz0+KHRoaXMuaXNJbml0aWFsaXplZCgpLG8/dGhpcy52YWx1ZXMuZmlsdGVyKGE9Pk9iamVjdC5rZXlzKG8pLmV2ZXJ5KGM9PlB4KGFbY10sb1tjXSkpKTp0aGlzLnZhbHVlcyksdGhpcy51cGRhdGU9YXN5bmMobyxhKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKCJVcGRhdGluZyB2YWx1ZSIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoidXBkYXRlIixrZXk6byx1cGRhdGU6YX0pO2NvbnN0IGM9ey4uLnRoaXMuZ2V0RGF0YShvKSwuLi5hfTt0aGlzLm1hcC5zZXQobyxjKSxhd2FpdCB0aGlzLnBlcnNpc3QoKX0sdGhpcy5kZWxldGU9YXN5bmMobyxhKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubWFwLmhhcyhvKSYmKHRoaXMubG9nZ2VyLmRlYnVnKCJEZWxldGluZyB2YWx1ZSIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoiZGVsZXRlIixrZXk6byxyZWFzb246YX0pLHRoaXMubWFwLmRlbGV0ZShvKSx0aGlzLmFkZFRvUmVjZW50bHlEZWxldGVkKG8pLGF3YWl0IHRoaXMucGVyc2lzdCgpKX0sdGhpcy5sb2dnZXI9TWUocix0aGlzLm5hbWUpLHRoaXMuc3RvcmFnZVByZWZpeD1pLHRoaXMuZ2V0S2V5PXN9Z2V0IGNvbnRleHQoKXtyZXR1cm4gTmUodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rdGhpcy5jb3JlLmN1c3RvbVN0b3JhZ2VQcmVmaXgrIi8vIit0aGlzLm5hbWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLm1hcC5zaXplfWdldCBrZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXAua2V5cygpKX1nZXQgdmFsdWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXAudmFsdWVzKCkpfWFkZFRvUmVjZW50bHlEZWxldGVkKGUpe3RoaXMucmVjZW50bHlEZWxldGVkLnB1c2goZSksdGhpcy5yZWNlbnRseURlbGV0ZWQubGVuZ3RoPj10aGlzLnJlY2VudGx5RGVsZXRlZExpbWl0JiZ0aGlzLnJlY2VudGx5RGVsZXRlZC5zcGxpY2UoMCx0aGlzLnJlY2VudGx5RGVsZXRlZExpbWl0LzIpfWFzeW5jIHNldERhdGFTdG9yZShlKXthd2FpdCB0aGlzLmNvcmUuc3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZUtleSxlKX1hc3luYyBnZXREYXRhU3RvcmUoKXtyZXR1cm4gYXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfWdldERhdGEoZSl7Y29uc3Qgcj10aGlzLm1hcC5nZXQoZSk7aWYoIXIpe2lmKHRoaXMucmVjZW50bHlEZWxldGVkLmluY2x1ZGVzKGUpKXtjb25zdHttZXNzYWdlOml9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYFJlY29yZCB3YXMgcmVjZW50bHkgZGVsZXRlZCAtICR7dGhpcy5uYW1lfTogJHtlfWApO3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkpLG5ldyBFcnJvcihpKX1jb25zdHttZXNzYWdlOm59PUYoIk5PX01BVENISU5HX0tFWSIsYCR7dGhpcy5uYW1lfTogJHtlfWApO3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKG4pLG5ldyBFcnJvcihuKX1yZXR1cm4gcn1hc3luYyBwZXJzaXN0KCl7YXdhaXQgdGhpcy5zZXREYXRhU3RvcmUodGhpcy52YWx1ZXMpfWFzeW5jIHJlc3RvcmUoKXt0cnl7Y29uc3QgZT1hd2FpdCB0aGlzLmdldERhdGFTdG9yZSgpO2lmKHR5cGVvZiBlPiJ1Inx8IWUubGVuZ3RoKXJldHVybjtpZih0aGlzLm1hcC5zaXplKXtjb25zdHttZXNzYWdlOnJ9PUYoIlJFU1RPUkVfV0lMTF9PVkVSUklERSIsdGhpcy5uYW1lKTt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihyKSxuZXcgRXJyb3Iocil9dGhpcy5jYWNoZWQ9ZSx0aGlzLmxvZ2dlci5kZWJ1ZyhgU3VjY2Vzc2Z1bGx5IFJlc3RvcmVkIHZhbHVlIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InJlc3RvcmUiLHZhbHVlOnRoaXMudmFsdWVzfSl9Y2F0Y2goZSl7dGhpcy5sb2dnZXIuZGVidWcoYEZhaWxlZCB0byBSZXN0b3JlIHZhbHVlIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci5lcnJvcihlKX19aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PUYoIk5PVF9JTklUSUFMSVpFRCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyB2U3tjb25zdHJ1Y3RvcihlLHIpe3RoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXIsdGhpcy5uYW1lPUp4LHRoaXMudmVyc2lvbj1ReCx0aGlzLmV2ZW50cz1uZXcgbWEsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnN0b3JhZ2VQcmVmaXg9d3QsdGhpcy5pZ25vcmVkUGF5bG9hZFR5cGVzPVtQdF0sdGhpcy5yZWdpc3RlcmVkTWV0aG9kcz1bXSx0aGlzLmluaXQ9YXN5bmMoKT0+e3RoaXMuaW5pdGlhbGl6ZWR8fChhd2FpdCB0aGlzLnBhaXJpbmdzLmluaXQoKSxhd2FpdCB0aGlzLmNsZWFudXAoKSx0aGlzLnJlZ2lzdGVyUmVsYXllckV2ZW50cygpLHRoaXMucmVnaXN0ZXJFeHBpcmVyRXZlbnRzKCksdGhpcy5pbml0aWFsaXplZD0hMCx0aGlzLmxvZ2dlci50cmFjZSgiSW5pdGlhbGl6ZWQiKSl9LHRoaXMucmVnaXN0ZXI9KHttZXRob2RzOm59KT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMucmVnaXN0ZXJlZE1ldGhvZHM9Wy4uLm5ldyBTZXQoWy4uLnRoaXMucmVnaXN0ZXJlZE1ldGhvZHMsLi4ubl0pXX0sdGhpcy5jcmVhdGU9YXN5bmMgbj0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IGk9Wm8oKSxzPWF3YWl0IHRoaXMuY29yZS5jcnlwdG8uc2V0U3ltS2V5KGkpLG89bGUoTS5GSVZFX01JTlVURVMpLGE9e3Byb3RvY29sOkVmfSxjPXt0b3BpYzpzLGV4cGlyeTpvLHJlbGF5OmEsYWN0aXZlOiExLG1ldGhvZHM6bj8ubWV0aG9kc30sdT16aCh7cHJvdG9jb2w6dGhpcy5jb3JlLnByb3RvY29sLHZlcnNpb246dGhpcy5jb3JlLnZlcnNpb24sdG9waWM6cyxzeW1LZXk6aSxyZWxheTphLGV4cGlyeVRpbWVzdGFtcDpvLG1ldGhvZHM6bj8ubWV0aG9kc30pO3JldHVybiB0aGlzLmV2ZW50cy5lbWl0KEFyLmNyZWF0ZSxjKSx0aGlzLmNvcmUuZXhwaXJlci5zZXQocyxvKSxhd2FpdCB0aGlzLnBhaXJpbmdzLnNldChzLGMpLGF3YWl0IHRoaXMuY29yZS5yZWxheWVyLnN1YnNjcmliZShzLHt0cmFuc3BvcnRUeXBlOm4/LnRyYW5zcG9ydFR5cGUsaW50ZXJuYWw6bj8uaW50ZXJuYWx9KSx7dG9waWM6cyx1cmk6dX19LHRoaXMucGFpcj1hc3luYyBuPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgaT10aGlzLmNvcmUuZXZlbnRDbGllbnQuY3JlYXRlRXZlbnQoe3Byb3BlcnRpZXM6e3RvcGljOm4/LnVyaSx0cmFjZTpbbXQucGFpcmluZ19zdGFydGVkXX19KTt0aGlzLmlzVmFsaWRQYWlyKG4saSk7Y29uc3R7dG9waWM6cyxzeW1LZXk6byxyZWxheTphLGV4cGlyeVRpbWVzdGFtcDpjLG1ldGhvZHM6dX09cWgobi51cmkpO2kucHJvcHMucHJvcGVydGllcy50b3BpYz1zLGkuYWRkVHJhY2UobXQucGFpcmluZ191cmlfdmFsaWRhdGlvbl9zdWNjZXNzKSxpLmFkZFRyYWNlKG10LnBhaXJpbmdfdXJpX25vdF9leHBpcmVkKTtsZXQgbDtpZih0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMocykpe2lmKGw9dGhpcy5wYWlyaW5ncy5nZXQocyksaS5hZGRUcmFjZShtdC5leGlzdGluZ19wYWlyaW5nKSxsLmFjdGl2ZSl0aHJvdyBpLnNldEVycm9yKEx0LmFjdGl2ZV9wYWlyaW5nX2FscmVhZHlfZXhpc3RzKSxuZXcgRXJyb3IoYFBhaXJpbmcgYWxyZWFkeSBleGlzdHM6ICR7c30uIFBsZWFzZSB0cnkgYWdhaW4gd2l0aCBhIG5ldyBjb25uZWN0aW9uIFVSSS5gKTtpLmFkZFRyYWNlKG10LnBhaXJpbmdfbm90X2V4cGlyZWQpfWNvbnN0IGg9Y3x8bGUoTS5GSVZFX01JTlVURVMpLGY9e3RvcGljOnMscmVsYXk6YSxleHBpcnk6aCxhY3RpdmU6ITEsbWV0aG9kczp1fTt0aGlzLmNvcmUuZXhwaXJlci5zZXQocyxoKSxhd2FpdCB0aGlzLnBhaXJpbmdzLnNldChzLGYpLGkuYWRkVHJhY2UobXQuc3RvcmVfbmV3X3BhaXJpbmcpLG4uYWN0aXZhdGVQYWlyaW5nJiZhd2FpdCB0aGlzLmFjdGl2YXRlKHt0b3BpYzpzfSksdGhpcy5ldmVudHMuZW1pdChBci5jcmVhdGUsZiksaS5hZGRUcmFjZShtdC5lbWl0X2luYWN0aXZlX3BhaXJpbmcpLHRoaXMuY29yZS5jcnlwdG8ua2V5Y2hhaW4uaGFzKHMpfHxhd2FpdCB0aGlzLmNvcmUuY3J5cHRvLnNldFN5bUtleShvLHMpLGkuYWRkVHJhY2UobXQuc3Vic2NyaWJpbmdfcGFpcmluZ190b3BpYyk7dHJ5e2F3YWl0IHRoaXMuY29yZS5yZWxheWVyLmNvbmZpcm1PbmxpbmVTdGF0ZU9yVGhyb3coKX1jYXRjaHtpLnNldEVycm9yKEx0Lm5vX2ludGVybmV0X2Nvbm5lY3Rpb24pfXRyeXthd2FpdCB0aGlzLmNvcmUucmVsYXllci5zdWJzY3JpYmUocyx7cmVsYXk6YX0pfWNhdGNoKHApe3Rocm93IGkuc2V0RXJyb3IoTHQuc3Vic2NyaWJlX3BhaXJpbmdfdG9waWNfZmFpbHVyZSkscH1yZXR1cm4gaS5hZGRUcmFjZShtdC5zdWJzY3JpYmVfcGFpcmluZ190b3BpY19zdWNjZXNzKSxmfSx0aGlzLmFjdGl2YXRlPWFzeW5jKHt0b3BpYzpufSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBpPWxlKE0uRklWRV9NSU5VVEVTKTt0aGlzLmNvcmUuZXhwaXJlci5zZXQobixpKSxhd2FpdCB0aGlzLnBhaXJpbmdzLnVwZGF0ZShuLHthY3RpdmU6ITAsZXhwaXJ5Oml9KX0sdGhpcy5waW5nPWFzeW5jIG49Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWRQaW5nKG4pLHRoaXMubG9nZ2VyLndhcm4oInBpbmcoKSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4iKTtjb25zdHt0b3BpYzppfT1uO2lmKHRoaXMucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhpKSl7Y29uc3Qgcz1hd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KGksIndjX3BhaXJpbmdQaW5nIix7fSkse2RvbmU6byxyZXNvbHZlOmEscmVqZWN0OmN9PV9yKCk7dGhpcy5ldmVudHMub25jZShRKCJwYWlyaW5nX3BpbmciLHMpLCh7ZXJyb3I6dX0pPT57dT9jKHUpOmEoKX0pLGF3YWl0IG8oKX19LHRoaXMudXBkYXRlRXhwaXJ5PWFzeW5jKHt0b3BpYzpuLGV4cGlyeTppfSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLnBhaXJpbmdzLnVwZGF0ZShuLHtleHBpcnk6aX0pfSx0aGlzLnVwZGF0ZU1ldGFkYXRhPWFzeW5jKHt0b3BpYzpuLG1ldGFkYXRhOml9KT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMucGFpcmluZ3MudXBkYXRlKG4se3BlZXJNZXRhZGF0YTppfSl9LHRoaXMuZ2V0UGFpcmluZ3M9KCk9Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLnBhaXJpbmdzLnZhbHVlcyksdGhpcy5kaXNjb25uZWN0PWFzeW5jIG49Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWREaXNjb25uZWN0KG4pO2NvbnN0e3RvcGljOml9PW47dGhpcy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKGkpJiYoYXdhaXQgdGhpcy5zZW5kUmVxdWVzdChpLCJ3Y19wYWlyaW5nRGVsZXRlIixuZSgiVVNFUl9ESVNDT05ORUNURUQiKSksYXdhaXQgdGhpcy5kZWxldGVQYWlyaW5nKGkpKX0sdGhpcy5mb3JtYXRVcmlGcm9tUGFpcmluZz1uPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3R7dG9waWM6aSxyZWxheTpzLGV4cGlyeTpvLG1ldGhvZHM6YX09bixjPXRoaXMuY29yZS5jcnlwdG8ua2V5Y2hhaW4uZ2V0KGkpO3JldHVybiB6aCh7cHJvdG9jb2w6dGhpcy5jb3JlLnByb3RvY29sLHZlcnNpb246dGhpcy5jb3JlLnZlcnNpb24sdG9waWM6aSxzeW1LZXk6YyxyZWxheTpzLGV4cGlyeVRpbWVzdGFtcDpvLG1ldGhvZHM6YX0pfSx0aGlzLnNlbmRSZXF1ZXN0PWFzeW5jKG4saSxzKT0+e2NvbnN0IG89VXQoaSxzKSxhPWF3YWl0IHRoaXMuY29yZS5jcnlwdG8uZW5jb2RlKG4sbyksYz1VbltpXS5yZXE7cmV0dXJuIHRoaXMuY29yZS5oaXN0b3J5LnNldChuLG8pLHRoaXMuY29yZS5yZWxheWVyLnB1Ymxpc2gobixhLGMpLG8uaWR9LHRoaXMuc2VuZFJlc3VsdD1hc3luYyhuLGkscyk9Pntjb25zdCBvPUtpKG4scyksYT1hd2FpdCB0aGlzLmNvcmUuY3J5cHRvLmVuY29kZShpLG8pLGM9KGF3YWl0IHRoaXMuY29yZS5oaXN0b3J5LmdldChpLG4pKS5yZXF1ZXN0Lm1ldGhvZCx1PVVuW2NdLnJlczthd2FpdCB0aGlzLmNvcmUucmVsYXllci5wdWJsaXNoKGksYSx1KSxhd2FpdCB0aGlzLmNvcmUuaGlzdG9yeS5yZXNvbHZlKG8pfSx0aGlzLnNlbmRFcnJvcj1hc3luYyhuLGkscyk9Pntjb25zdCBvPXNhKG4scyksYT1hd2FpdCB0aGlzLmNvcmUuY3J5cHRvLmVuY29kZShpLG8pLGM9KGF3YWl0IHRoaXMuY29yZS5oaXN0b3J5LmdldChpLG4pKS5yZXF1ZXN0Lm1ldGhvZCx1PVVuW2NdP1VuW2NdLnJlczpVbi51bnJlZ2lzdGVyZWRfbWV0aG9kLnJlczthd2FpdCB0aGlzLmNvcmUucmVsYXllci5wdWJsaXNoKGksYSx1KSxhd2FpdCB0aGlzLmNvcmUuaGlzdG9yeS5yZXNvbHZlKG8pfSx0aGlzLmRlbGV0ZVBhaXJpbmc9YXN5bmMobixpKT0+e2F3YWl0IHRoaXMuY29yZS5yZWxheWVyLnVuc3Vic2NyaWJlKG4pLGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnBhaXJpbmdzLmRlbGV0ZShuLG5lKCJVU0VSX0RJU0NPTk5FQ1RFRCIpKSx0aGlzLmNvcmUuY3J5cHRvLmRlbGV0ZVN5bUtleShuKSxpP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuY29yZS5leHBpcmVyLmRlbChuKV0pfSx0aGlzLmNsZWFudXA9YXN5bmMoKT0+e2NvbnN0IG49dGhpcy5wYWlyaW5ncy5nZXRBbGwoKS5maWx0ZXIoaT0+b3IoaS5leHBpcnkpKTthd2FpdCBQcm9taXNlLmFsbChuLm1hcChpPT50aGlzLmRlbGV0ZVBhaXJpbmcoaS50b3BpYykpKX0sdGhpcy5vblJlbGF5RXZlbnRSZXF1ZXN0PWFzeW5jIG49Pntjb25zdHt0b3BpYzppLHBheWxvYWQ6c309bjtzd2l0Y2gocy5tZXRob2Qpe2Nhc2Uid2NfcGFpcmluZ1BpbmciOnJldHVybiBhd2FpdCB0aGlzLm9uUGFpcmluZ1BpbmdSZXF1ZXN0KGkscyk7Y2FzZSJ3Y19wYWlyaW5nRGVsZXRlIjpyZXR1cm4gYXdhaXQgdGhpcy5vblBhaXJpbmdEZWxldGVSZXF1ZXN0KGkscyk7ZGVmYXVsdDpyZXR1cm4gYXdhaXQgdGhpcy5vblVua25vd25ScGNNZXRob2RSZXF1ZXN0KGkscyl9fSx0aGlzLm9uUmVsYXlFdmVudFJlc3BvbnNlPWFzeW5jIG49Pntjb25zdHt0b3BpYzppLHBheWxvYWQ6c309bixvPShhd2FpdCB0aGlzLmNvcmUuaGlzdG9yeS5nZXQoaSxzLmlkKSkucmVxdWVzdC5tZXRob2Q7c3dpdGNoKG8pe2Nhc2Uid2NfcGFpcmluZ1BpbmciOnJldHVybiB0aGlzLm9uUGFpcmluZ1BpbmdSZXNwb25zZShpLHMpO2RlZmF1bHQ6cmV0dXJuIHRoaXMub25Vbmtub3duUnBjTWV0aG9kUmVzcG9uc2Uobyl9fSx0aGlzLm9uUGFpcmluZ1BpbmdSZXF1ZXN0PWFzeW5jKG4saSk9Pntjb25zdHtpZDpzfT1pO3RyeXt0aGlzLmlzVmFsaWRQaW5nKHt0b3BpYzpufSksYXdhaXQgdGhpcy5zZW5kUmVzdWx0KHMsbiwhMCksdGhpcy5ldmVudHMuZW1pdChBci5waW5nLHtpZDpzLHRvcGljOm59KX1jYXRjaChvKXthd2FpdCB0aGlzLnNlbmRFcnJvcihzLG4sbyksdGhpcy5sb2dnZXIuZXJyb3Iobyl9fSx0aGlzLm9uUGFpcmluZ1BpbmdSZXNwb25zZT0obixpKT0+e2NvbnN0e2lkOnN9PWk7c2V0VGltZW91dCgoKT0+e3l0KGkpP3RoaXMuZXZlbnRzLmVtaXQoUSgicGFpcmluZ19waW5nIixzKSx7fSk6R2UoaSkmJnRoaXMuZXZlbnRzLmVtaXQoUSgicGFpcmluZ19waW5nIixzKSx7ZXJyb3I6aS5lcnJvcn0pfSw1MDApfSx0aGlzLm9uUGFpcmluZ0RlbGV0ZVJlcXVlc3Q9YXN5bmMobixpKT0+e2NvbnN0e2lkOnN9PWk7dHJ5e3RoaXMuaXNWYWxpZERpc2Nvbm5lY3Qoe3RvcGljOm59KSxhd2FpdCB0aGlzLmRlbGV0ZVBhaXJpbmcobiksdGhpcy5ldmVudHMuZW1pdChBci5kZWxldGUse2lkOnMsdG9waWM6bn0pfWNhdGNoKG8pe2F3YWl0IHRoaXMuc2VuZEVycm9yKHMsbixvKSx0aGlzLmxvZ2dlci5lcnJvcihvKX19LHRoaXMub25Vbmtub3duUnBjTWV0aG9kUmVxdWVzdD1hc3luYyhuLGkpPT57Y29uc3R7aWQ6cyxtZXRob2Q6b309aTt0cnl7aWYodGhpcy5yZWdpc3RlcmVkTWV0aG9kcy5pbmNsdWRlcyhvKSlyZXR1cm47Y29uc3QgYT1uZSgiV0NfTUVUSE9EX1VOU1VQUE9SVEVEIixvKTthd2FpdCB0aGlzLnNlbmRFcnJvcihzLG4sYSksdGhpcy5sb2dnZXIuZXJyb3IoYSl9Y2F0Y2goYSl7YXdhaXQgdGhpcy5zZW5kRXJyb3IocyxuLGEpLHRoaXMubG9nZ2VyLmVycm9yKGEpfX0sdGhpcy5vblVua25vd25ScGNNZXRob2RSZXNwb25zZT1uPT57dGhpcy5yZWdpc3RlcmVkTWV0aG9kcy5pbmNsdWRlcyhuKXx8dGhpcy5sb2dnZXIuZXJyb3IobmUoIldDX01FVEhPRF9VTlNVUFBPUlRFRCIsbikpfSx0aGlzLmlzVmFsaWRQYWlyPShuLGkpPT57aWYoIWtlKG4pKXtjb25zdHttZXNzYWdlOm99PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHBhaXIoKSBwYXJhbXM6ICR7bn1gKTt0aHJvdyBpLnNldEVycm9yKEx0Lm1hbGZvcm1lZF9wYWlyaW5nX3VyaSksbmV3IEVycm9yKG8pfWlmKCFUMihuLnVyaSkpe2NvbnN0e21lc3NhZ2U6b309RigiTUlTU0lOR19PUl9JTlZBTElEIixgcGFpcigpIHVyaTogJHtuLnVyaX1gKTt0aHJvdyBpLnNldEVycm9yKEx0Lm1hbGZvcm1lZF9wYWlyaW5nX3VyaSksbmV3IEVycm9yKG8pfWNvbnN0IHM9cWgobj8udXJpKTtpZighcz8ucmVsYXk/LnByb3RvY29sKXtjb25zdHttZXNzYWdlOm99PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsInBhaXIoKSB1cmkjcmVsYXktcHJvdG9jb2wiKTt0aHJvdyBpLnNldEVycm9yKEx0Lm1hbGZvcm1lZF9wYWlyaW5nX3VyaSksbmV3IEVycm9yKG8pfWlmKCFzPy5zeW1LZXkpe2NvbnN0e21lc3NhZ2U6b309RigiTUlTU0lOR19PUl9JTlZBTElEIiwicGFpcigpIHVyaSNzeW1LZXkiKTt0aHJvdyBpLnNldEVycm9yKEx0Lm1hbGZvcm1lZF9wYWlyaW5nX3VyaSksbmV3IEVycm9yKG8pfWlmKHM/LmV4cGlyeVRpbWVzdGFtcCYmTS50b01pbGlzZWNvbmRzKHM/LmV4cGlyeVRpbWVzdGFtcCk8RGF0ZS5ub3coKSl7aS5zZXRFcnJvcihMdC5wYWlyaW5nX2V4cGlyZWQpO2NvbnN0e21lc3NhZ2U6b309RigiRVhQSVJFRCIsInBhaXIoKSBVUkkgaGFzIGV4cGlyZWQuIFBsZWFzZSB0cnkgYWdhaW4gd2l0aCBhIG5ldyBjb25uZWN0aW9uIFVSSS4iKTt0aHJvdyBuZXcgRXJyb3Iobyl9fSx0aGlzLmlzVmFsaWRQaW5nPWFzeW5jIG49PntpZigha2Uobikpe2NvbnN0e21lc3NhZ2U6c309RigiTUlTU0lOR19PUl9JTlZBTElEIixgcGluZygpIHBhcmFtczogJHtufWApO3Rocm93IG5ldyBFcnJvcihzKX1jb25zdHt0b3BpYzppfT1uO2F3YWl0IHRoaXMuaXNWYWxpZFBhaXJpbmdUb3BpYyhpKX0sdGhpcy5pc1ZhbGlkRGlzY29ubmVjdD1hc3luYyBuPT57aWYoIWtlKG4pKXtjb25zdHttZXNzYWdlOnN9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGRpc2Nvbm5lY3QoKSBwYXJhbXM6ICR7bn1gKTt0aHJvdyBuZXcgRXJyb3Iocyl9Y29uc3R7dG9waWM6aX09bjthd2FpdCB0aGlzLmlzVmFsaWRQYWlyaW5nVG9waWMoaSl9LHRoaXMuaXNWYWxpZFBhaXJpbmdUb3BpYz1hc3luYyBuPT57aWYoIW9lKG4sITEpKXtjb25zdHttZXNzYWdlOml9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHBhaXJpbmcgdG9waWMgc2hvdWxkIGJlIGEgc3RyaW5nOiAke259YCk7dGhyb3cgbmV3IEVycm9yKGkpfWlmKCF0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMobikpe2NvbnN0e21lc3NhZ2U6aX09RigiTk9fTUFUQ0hJTkdfS0VZIixgcGFpcmluZyB0b3BpYyBkb2Vzbid0IGV4aXN0OiAke259YCk7dGhyb3cgbmV3IEVycm9yKGkpfWlmKG9yKHRoaXMucGFpcmluZ3MuZ2V0KG4pLmV4cGlyeSkpe2F3YWl0IHRoaXMuZGVsZXRlUGFpcmluZyhuKTtjb25zdHttZXNzYWdlOml9PUYoIkVYUElSRUQiLGBwYWlyaW5nIHRvcGljOiAke259YCk7dGhyb3cgbmV3IEVycm9yKGkpfX0sdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9TWUocix0aGlzLm5hbWUpLHRoaXMucGFpcmluZ3M9bmV3IEJyKHRoaXMuY29yZSx0aGlzLmxvZ2dlcix0aGlzLm5hbWUsdGhpcy5zdG9yYWdlUHJlZml4KX1nZXQgY29udGV4dCgpe3JldHVybiBOZSh0aGlzLmxvZ2dlcil9aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PUYoIk5PVF9JTklUSUFMSVpFRCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fXJlZ2lzdGVyUmVsYXllckV2ZW50cygpe3RoaXMuY29yZS5yZWxheWVyLm9uKHNlLm1lc3NhZ2UsYXN5bmMgZT0+e2NvbnN0e3RvcGljOnIsbWVzc2FnZTpuLHRyYW5zcG9ydFR5cGU6aX09ZTtpZih0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMocikmJmkhPT10ZS5saW5rX21vZGUpe3RyeXtpZih0aGlzLmNvcmUuY3J5cHRvLmdldFBheWxvYWRUeXBlKG4scHQpPT09SXIpe3RoaXMubG9nZ2VyLndhcm4oYHJlZ2lzdGVyUmVsYXllckV2ZW50cygpIC0+IG5vbi1saW5rIG1vZGUgVFlQRV8yIHBheWxvYWQgaWdub3JlZDogJHtufWApO3JldHVybn19Y2F0Y2h7fWlmKCF0aGlzLmlnbm9yZWRQYXlsb2FkVHlwZXMuaW5jbHVkZXModGhpcy5jb3JlLmNyeXB0by5nZXRQYXlsb2FkVHlwZShuKSkpdHJ5e2NvbnN0IHM9YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5kZWNvZGUocixuKTtvYShzKT8odGhpcy5jb3JlLmhpc3Rvcnkuc2V0KHIscyksYXdhaXQgdGhpcy5vblJlbGF5RXZlbnRSZXF1ZXN0KHt0b3BpYzpyLHBheWxvYWQ6c30pKTpWaShzKSYmKGF3YWl0IHRoaXMuY29yZS5oaXN0b3J5LnJlc29sdmUocyksYXdhaXQgdGhpcy5vblJlbGF5RXZlbnRSZXNwb25zZSh7dG9waWM6cixwYXlsb2FkOnN9KSx0aGlzLmNvcmUuaGlzdG9yeS5kZWxldGUocixzLmlkKSksYXdhaXQgdGhpcy5jb3JlLnJlbGF5ZXIubWVzc2FnZXMuYWNrKHIsbil9Y2F0Y2gocyl7dGhpcy5sb2dnZXIuZXJyb3Iocyl9fX0pfXJlZ2lzdGVyRXhwaXJlckV2ZW50cygpe3RoaXMuY29yZS5leHBpcmVyLm9uKFplLmV4cGlyZWQsYXN5bmMgZT0+e2NvbnN0e3RvcGljOnJ9PWJoKGUudGFyZ2V0KTtyJiZ0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMocikmJihhd2FpdCB0aGlzLmRlbGV0ZVBhaXJpbmcociwhMCksdGhpcy5ldmVudHMuZW1pdChBci5leHBpcmUse3RvcGljOnJ9KSl9KX19Y2xhc3MgX1MgZXh0ZW5kcyBacHtjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUsciksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLnJlY29yZHM9bmV3IE1hcCx0aGlzLmV2ZW50cz1uZXcgWGUuRXZlbnRFbWl0dGVyLHRoaXMubmFtZT1lUyx0aGlzLnZlcnNpb249dFMsdGhpcy5jYWNoZWQ9W10sdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnN0b3JhZ2VQcmVmaXg9d3QsdGhpcy5pbml0PWFzeW5jKCk9Pnt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5sb2dnZXIudHJhY2UoIkluaXRpYWxpemVkIiksYXdhaXQgdGhpcy5yZXN0b3JlKCksdGhpcy5jYWNoZWQuZm9yRWFjaChuPT50aGlzLnJlY29yZHMuc2V0KG4uaWQsbikpLHRoaXMuY2FjaGVkPVtdLHRoaXMucmVnaXN0ZXJFdmVudExpc3RlbmVycygpLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLnNldD0obixpLHMpPT57aWYodGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoIlNldHRpbmcgSlNPTi1SUEMgcmVxdWVzdCBoaXN0b3J5IHJlY29yZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoic2V0Iix0b3BpYzpuLHJlcXVlc3Q6aSxjaGFpbklkOnN9KSx0aGlzLnJlY29yZHMuaGFzKGkuaWQpKXJldHVybjtjb25zdCBvPXtpZDppLmlkLHRvcGljOm4scmVxdWVzdDp7bWV0aG9kOmkubWV0aG9kLHBhcmFtczppLnBhcmFtc3x8bnVsbH0sY2hhaW5JZDpzLGV4cGlyeTpsZShNLlRISVJUWV9EQVlTKX07dGhpcy5yZWNvcmRzLnNldChvLmlkLG8pLHRoaXMucGVyc2lzdCgpLHRoaXMuZXZlbnRzLmVtaXQoaXQuY3JlYXRlZCxvKX0sdGhpcy5yZXNvbHZlPWFzeW5jIG49PntpZih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmxvZ2dlci5kZWJ1ZygiVXBkYXRpbmcgSlNPTi1SUEMgcmVzcG9uc2UgaGlzdG9yeSByZWNvcmQiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InVwZGF0ZSIscmVzcG9uc2U6bn0pLCF0aGlzLnJlY29yZHMuaGFzKG4uaWQpKXJldHVybjtjb25zdCBpPWF3YWl0IHRoaXMuZ2V0UmVjb3JkKG4uaWQpO3R5cGVvZiBpLnJlc3BvbnNlPCJ1Inx8KGkucmVzcG9uc2U9R2Uobik/e2Vycm9yOm4uZXJyb3J9OntyZXN1bHQ6bi5yZXN1bHR9LHRoaXMucmVjb3Jkcy5zZXQoaS5pZCxpKSx0aGlzLnBlcnNpc3QoKSx0aGlzLmV2ZW50cy5lbWl0KGl0LnVwZGF0ZWQsaSkpfSx0aGlzLmdldD1hc3luYyhuLGkpPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoIkdldHRpbmcgcmVjb3JkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJnZXQiLHRvcGljOm4saWQ6aX0pLGF3YWl0IHRoaXMuZ2V0UmVjb3JkKGkpKSx0aGlzLmRlbGV0ZT0obixpKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKCJEZWxldGluZyByZWNvcmQiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6ImRlbGV0ZSIsaWQ6aX0pLHRoaXMudmFsdWVzLmZvckVhY2gocz0+e2lmKHMudG9waWM9PT1uKXtpZih0eXBlb2YgaTwidSImJnMuaWQhPT1pKXJldHVybjt0aGlzLnJlY29yZHMuZGVsZXRlKHMuaWQpLHRoaXMuZXZlbnRzLmVtaXQoaXQuZGVsZXRlZCxzKX19KSx0aGlzLnBlcnNpc3QoKX0sdGhpcy5leGlzdHM9YXN5bmMobixpKT0+KHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMucmVjb3Jkcy5oYXMoaSk/KGF3YWl0IHRoaXMuZ2V0UmVjb3JkKGkpKS50b3BpYz09PW46ITEpLHRoaXMub249KG4saSk9Pnt0aGlzLmV2ZW50cy5vbihuLGkpfSx0aGlzLm9uY2U9KG4saSk9Pnt0aGlzLmV2ZW50cy5vbmNlKG4saSl9LHRoaXMub2ZmPShuLGkpPT57dGhpcy5ldmVudHMub2ZmKG4saSl9LHRoaXMucmVtb3ZlTGlzdGVuZXI9KG4saSk9Pnt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihuLGkpfSx0aGlzLmxvZ2dlcj1NZShyLHRoaXMubmFtZSl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gTmUodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rdGhpcy5jb3JlLmN1c3RvbVN0b3JhZ2VQcmVmaXgrIi8vIit0aGlzLm5hbWV9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5yZWNvcmRzLnNpemV9Z2V0IGtleXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnJlY29yZHMua2V5cygpKX1nZXQgdmFsdWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5yZWNvcmRzLnZhbHVlcygpKX1nZXQgcGVuZGluZygpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMudmFsdWVzLmZvckVhY2gocj0+e2lmKHR5cGVvZiByLnJlc3BvbnNlPCJ1IilyZXR1cm47Y29uc3Qgbj17dG9waWM6ci50b3BpYyxyZXF1ZXN0OlV0KHIucmVxdWVzdC5tZXRob2Qsci5yZXF1ZXN0LnBhcmFtcyxyLmlkKSxjaGFpbklkOnIuY2hhaW5JZH07cmV0dXJuIGUucHVzaChuKX0pLGV9YXN5bmMgc2V0SnNvblJwY1JlY29yZHMoZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksZSl9YXN5bmMgZ2V0SnNvblJwY1JlY29yZHMoKXtyZXR1cm4gYXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfWdldFJlY29yZChlKXt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCByPXRoaXMucmVjb3Jkcy5nZXQoZSk7aWYoIXIpe2NvbnN0e21lc3NhZ2U6bn09RigiTk9fTUFUQ0hJTkdfS0VZIixgJHt0aGlzLm5hbWV9OiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKG4pfXJldHVybiByfWFzeW5jIHBlcnNpc3QoKXthd2FpdCB0aGlzLnNldEpzb25ScGNSZWNvcmRzKHRoaXMudmFsdWVzKSx0aGlzLmV2ZW50cy5lbWl0KGl0LnN5bmMpfWFzeW5jIHJlc3RvcmUoKXt0cnl7Y29uc3QgZT1hd2FpdCB0aGlzLmdldEpzb25ScGNSZWNvcmRzKCk7aWYodHlwZW9mIGU+InUifHwhZS5sZW5ndGgpcmV0dXJuO2lmKHRoaXMucmVjb3Jkcy5zaXplKXtjb25zdHttZXNzYWdlOnJ9PUYoIlJFU1RPUkVfV0lMTF9PVkVSUklERSIsdGhpcy5uYW1lKTt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihyKSxuZXcgRXJyb3Iocil9dGhpcy5jYWNoZWQ9ZSx0aGlzLmxvZ2dlci5kZWJ1ZyhgU3VjY2Vzc2Z1bGx5IFJlc3RvcmVkIHJlY29yZHMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoicmVzdG9yZSIscmVjb3Jkczp0aGlzLnZhbHVlc30pfWNhdGNoKGUpe3RoaXMubG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gUmVzdG9yZSByZWNvcmRzIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci5lcnJvcihlKX19cmVnaXN0ZXJFdmVudExpc3RlbmVycygpe3RoaXMuZXZlbnRzLm9uKGl0LmNyZWF0ZWQsZT0+e2NvbnN0IHI9aXQuY3JlYXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3J9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6ImV2ZW50IixldmVudDpyLHJlY29yZDplfSl9KSx0aGlzLmV2ZW50cy5vbihpdC51cGRhdGVkLGU9Pntjb25zdCByPWl0LnVwZGF0ZWQ7dGhpcy5sb2dnZXIuaW5mbyhgRW1pdHRpbmcgJHtyfWApLHRoaXMubG9nZ2VyLmRlYnVnKHt0eXBlOiJldmVudCIsZXZlbnQ6cixyZWNvcmQ6ZX0pfSksdGhpcy5ldmVudHMub24oaXQuZGVsZXRlZCxlPT57Y29uc3Qgcj1pdC5kZWxldGVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7cn1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZToiZXZlbnQiLGV2ZW50OnIscmVjb3JkOmV9KX0pLHRoaXMuY29yZS5oZWFydGJlYXQub24oaHIucHVsc2UsKCk9Pnt0aGlzLmNsZWFudXAoKX0pfWNsZWFudXAoKXt0cnl7dGhpcy5pc0luaXRpYWxpemVkKCk7bGV0IGU9ITE7dGhpcy5yZWNvcmRzLmZvckVhY2gocj0+e00udG9NaWxpc2Vjb25kcyhyLmV4cGlyeXx8MCktRGF0ZS5ub3coKTw9MCYmKHRoaXMubG9nZ2VyLmluZm8oYERlbGV0aW5nIGV4cGlyZWQgaGlzdG9yeSBsb2c6ICR7ci5pZH1gKSx0aGlzLnJlY29yZHMuZGVsZXRlKHIuaWQpLHRoaXMuZXZlbnRzLmVtaXQoaXQuZGVsZXRlZCxyLCExKSxlPSEwKX0pLGUmJnRoaXMucGVyc2lzdCgpfWNhdGNoKGUpe3RoaXMubG9nZ2VyLndhcm4oZSl9fWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1GKCJOT1RfSU5JVElBTElaRUQiLHRoaXMubmFtZSk7dGhyb3cgbmV3IEVycm9yKGUpfX19Y2xhc3MgeFMgZXh0ZW5kcyByZ3tjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUsciksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLmV4cGlyYXRpb25zPW5ldyBNYXAsdGhpcy5ldmVudHM9bmV3IFhlLkV2ZW50RW1pdHRlcix0aGlzLm5hbWU9clMsdGhpcy52ZXJzaW9uPW5TLHRoaXMuY2FjaGVkPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5zdG9yYWdlUHJlZml4PXd0LHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KHRoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpLGF3YWl0IHRoaXMucmVzdG9yZSgpLHRoaXMuY2FjaGVkLmZvckVhY2gobj0+dGhpcy5leHBpcmF0aW9ucy5zZXQobi50YXJnZXQsbikpLHRoaXMuY2FjaGVkPVtdLHRoaXMucmVnaXN0ZXJFdmVudExpc3RlbmVycygpLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLmhhcz1uPT57dHJ5e2NvbnN0IGk9dGhpcy5mb3JtYXRUYXJnZXQobik7cmV0dXJuIHR5cGVvZiB0aGlzLmdldEV4cGlyYXRpb24oaSk8InUifWNhdGNoe3JldHVybiExfX0sdGhpcy5zZXQ9KG4saSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBzPXRoaXMuZm9ybWF0VGFyZ2V0KG4pLG89e3RhcmdldDpzLGV4cGlyeTppfTt0aGlzLmV4cGlyYXRpb25zLnNldChzLG8pLHRoaXMuY2hlY2tFeHBpcnkocyxvKSx0aGlzLmV2ZW50cy5lbWl0KFplLmNyZWF0ZWQse3RhcmdldDpzLGV4cGlyYXRpb246b30pfSx0aGlzLmdldD1uPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgaT10aGlzLmZvcm1hdFRhcmdldChuKTtyZXR1cm4gdGhpcy5nZXRFeHBpcmF0aW9uKGkpfSx0aGlzLmRlbD1uPT57aWYodGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5oYXMobikpe2NvbnN0IGk9dGhpcy5mb3JtYXRUYXJnZXQobikscz10aGlzLmdldEV4cGlyYXRpb24oaSk7dGhpcy5leHBpcmF0aW9ucy5kZWxldGUoaSksdGhpcy5ldmVudHMuZW1pdChaZS5kZWxldGVkLHt0YXJnZXQ6aSxleHBpcmF0aW9uOnN9KX19LHRoaXMub249KG4saSk9Pnt0aGlzLmV2ZW50cy5vbihuLGkpfSx0aGlzLm9uY2U9KG4saSk9Pnt0aGlzLmV2ZW50cy5vbmNlKG4saSl9LHRoaXMub2ZmPShuLGkpPT57dGhpcy5ldmVudHMub2ZmKG4saSl9LHRoaXMucmVtb3ZlTGlzdGVuZXI9KG4saSk9Pnt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihuLGkpfSx0aGlzLmxvZ2dlcj1NZShyLHRoaXMubmFtZSl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gTmUodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rdGhpcy5jb3JlLmN1c3RvbVN0b3JhZ2VQcmVmaXgrIi8vIit0aGlzLm5hbWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmV4cGlyYXRpb25zLnNpemV9Z2V0IGtleXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmV4cGlyYXRpb25zLmtleXMoKSl9Z2V0IHZhbHVlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuZXhwaXJhdGlvbnMudmFsdWVzKCkpfWZvcm1hdFRhcmdldChlKXtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIER2KGUpO2lmKHR5cGVvZiBlPT0ibnVtYmVyIilyZXR1cm4gQXYoZSk7Y29uc3R7bWVzc2FnZTpyfT1GKCJVTktOT1dOX1RZUEUiLGBUYXJnZXQgdHlwZTogJHt0eXBlb2YgZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9YXN5bmMgc2V0RXhwaXJhdGlvbnMoZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksZSl9YXN5bmMgZ2V0RXhwaXJhdGlvbnMoKXtyZXR1cm4gYXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfWFzeW5jIHBlcnNpc3QoKXthd2FpdCB0aGlzLnNldEV4cGlyYXRpb25zKHRoaXMudmFsdWVzKSx0aGlzLmV2ZW50cy5lbWl0KFplLnN5bmMpfWFzeW5jIHJlc3RvcmUoKXt0cnl7Y29uc3QgZT1hd2FpdCB0aGlzLmdldEV4cGlyYXRpb25zKCk7aWYodHlwZW9mIGU+InUifHwhZS5sZW5ndGgpcmV0dXJuO2lmKHRoaXMuZXhwaXJhdGlvbnMuc2l6ZSl7Y29uc3R7bWVzc2FnZTpyfT1GKCJSRVNUT1JFX1dJTExfT1ZFUlJJREUiLHRoaXMubmFtZSk7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IociksbmV3IEVycm9yKHIpfXRoaXMuY2FjaGVkPWUsdGhpcy5sb2dnZXIuZGVidWcoYFN1Y2Nlc3NmdWxseSBSZXN0b3JlZCBleHBpcmF0aW9ucyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJyZXN0b3JlIixleHBpcmF0aW9uczp0aGlzLnZhbHVlc30pfWNhdGNoKGUpe3RoaXMubG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gUmVzdG9yZSBleHBpcmF0aW9ucyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIuZXJyb3IoZSl9fWdldEV4cGlyYXRpb24oZSl7Y29uc3Qgcj10aGlzLmV4cGlyYXRpb25zLmdldChlKTtpZighcil7Y29uc3R7bWVzc2FnZTpufT1GKCJOT19NQVRDSElOR19LRVkiLGAke3RoaXMubmFtZX06ICR7ZX1gKTt0aHJvdyB0aGlzLmxvZ2dlci53YXJuKG4pLG5ldyBFcnJvcihuKX1yZXR1cm4gcn1jaGVja0V4cGlyeShlLHIpe2NvbnN0e2V4cGlyeTpufT1yO00udG9NaWxpc2Vjb25kcyhuKS1EYXRlLm5vdygpPD0wJiZ0aGlzLmV4cGlyZShlLHIpfWV4cGlyZShlLHIpe3RoaXMuZXhwaXJhdGlvbnMuZGVsZXRlKGUpLHRoaXMuZXZlbnRzLmVtaXQoWmUuZXhwaXJlZCx7dGFyZ2V0OmUsZXhwaXJhdGlvbjpyfSl9Y2hlY2tFeHBpcmF0aW9ucygpe3RoaXMuY29yZS5yZWxheWVyLmNvbm5lY3RlZCYmdGhpcy5leHBpcmF0aW9ucy5mb3JFYWNoKChlLHIpPT50aGlzLmNoZWNrRXhwaXJ5KHIsZSkpfXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKXt0aGlzLmNvcmUuaGVhcnRiZWF0Lm9uKGhyLnB1bHNlLCgpPT50aGlzLmNoZWNrRXhwaXJhdGlvbnMoKSksdGhpcy5ldmVudHMub24oWmUuY3JlYXRlZCxlPT57Y29uc3Qgcj1aZS5jcmVhdGVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7cn1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZToiZXZlbnQiLGV2ZW50OnIsZGF0YTplfSksdGhpcy5wZXJzaXN0KCl9KSx0aGlzLmV2ZW50cy5vbihaZS5leHBpcmVkLGU9Pntjb25zdCByPVplLmV4cGlyZWQ7dGhpcy5sb2dnZXIuaW5mbyhgRW1pdHRpbmcgJHtyfWApLHRoaXMubG9nZ2VyLmRlYnVnKHt0eXBlOiJldmVudCIsZXZlbnQ6cixkYXRhOmV9KSx0aGlzLnBlcnNpc3QoKX0pLHRoaXMuZXZlbnRzLm9uKFplLmRlbGV0ZWQsZT0+e2NvbnN0IHI9WmUuZGVsZXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3J9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6ImV2ZW50IixldmVudDpyLGRhdGE6ZX0pLHRoaXMucGVyc2lzdCgpfSl9aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PUYoIk5PVF9JTklUSUFMSVpFRCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyBTUyBleHRlbmRzIG5ne2NvbnN0cnVjdG9yKGUscixuKXtzdXBlcihlLHIsbiksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLnN0b3JlPW4sdGhpcy5uYW1lPWlTLHRoaXMudmVyaWZ5VXJsVjM9b1MsdGhpcy5zdG9yYWdlUHJlZml4PXd0LHRoaXMudmVyc2lvbj1tZix0aGlzLmluaXQ9YXN5bmMoKT0+e3RoaXMuaXNEZXZFbnZ8fCh0aGlzLnB1YmxpY0tleT1hd2FpdCB0aGlzLnN0b3JlLmdldEl0ZW0odGhpcy5zdG9yZUtleSksdGhpcy5wdWJsaWNLZXkmJk0udG9NaWxpc2Vjb25kcyh0aGlzLnB1YmxpY0tleT8uZXhwaXJlc0F0KTxEYXRlLm5vdygpJiYodGhpcy5sb2dnZXIuZGVidWcoInZlcmlmeSB2MiBwdWJsaWMga2V5IGV4cGlyZWQiKSxhd2FpdCB0aGlzLnJlbW92ZVB1YmxpY0tleSgpKSl9LHRoaXMucmVnaXN0ZXI9YXN5bmMgaT0+e2lmKCFWcigpfHx0aGlzLmlzRGV2RW52KXJldHVybjtjb25zdCBzPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4se2lkOm8sZGVjcnlwdGVkSWQ6YX09aSxjPWAke3RoaXMudmVyaWZ5VXJsVjN9L2F0dGVzdGF0aW9uP3Byb2plY3RJZD0ke3RoaXMuY29yZS5wcm9qZWN0SWR9Jm9yaWdpbj0ke3N9JmlkPSR7b30mZGVjcnlwdGVkSWQ9JHthfWA7dHJ5e2NvbnN0IHU9X3QuZ2V0RG9jdW1lbnQoKSxsPXRoaXMuc3RhcnRBYm9ydFRpbWVyKE0uT05FX1NFQ09ORCo1KSxoPWF3YWl0IG5ldyBQcm9taXNlKChmLHApPT57Y29uc3QgZD0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix5KSx1LmJvZHkucmVtb3ZlQ2hpbGQoZykscCgiYXR0ZXN0YXRpb24gYWJvcnRlZCIpfTt0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGQpO2NvbnN0IGc9dS5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtnLnNyYz1jLGcuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZCx7c2lnbmFsOnRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbH0pO2NvbnN0IHk9dj0+e2lmKHYuZGF0YSYmdHlwZW9mIHYuZGF0YT09InN0cmluZyIpdHJ5e2NvbnN0IEE9SlNPTi5wYXJzZSh2LmRhdGEpO2lmKEEudHlwZT09PSJ2ZXJpZnlfYXR0ZXN0YXRpb24iKXtpZihDcyhBLmF0dGVzdGF0aW9uKS5wYXlsb2FkLmlkIT09bylyZXR1cm47Y2xlYXJJbnRlcnZhbChsKSx1LmJvZHkucmVtb3ZlQ2hpbGQoZyksdGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixkKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIseSksZihBLmF0dGVzdGF0aW9uPT09bnVsbD8iIjpBLmF0dGVzdGF0aW9uKX19Y2F0Y2goQSl7dGhpcy5sb2dnZXIud2FybihBKX19O3UuYm9keS5hcHBlbmRDaGlsZChnKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIseSx7c2lnbmFsOnRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbH0pfSk7cmV0dXJuIHRoaXMubG9nZ2VyLmRlYnVnKGgsImp3dCBhdHRlc3RhdGlvbiIpLGh9Y2F0Y2godSl7dGhpcy5sb2dnZXIud2Fybih1KX1yZXR1cm4iIn0sdGhpcy5yZXNvbHZlPWFzeW5jIGk9PntpZih0aGlzLmlzRGV2RW52KXJldHVybiIiO2NvbnN0e2F0dGVzdGF0aW9uSWQ6cyxoYXNoOm8sZW5jcnlwdGVkSWQ6YX09aTtpZihzPT09IiIpe3RoaXMubG9nZ2VyLmRlYnVnKCJyZXNvbHZlOiBhdHRlc3RhdGlvbklkIGlzIGVtcHR5LCBza2lwcGluZyIpO3JldHVybn1pZihzKXtpZihDcyhzKS5wYXlsb2FkLmlkIT09YSlyZXR1cm47Y29uc3QgdT1hd2FpdCB0aGlzLmlzVmFsaWRKd3RBdHRlc3RhdGlvbihzKTtpZih1KXtpZighdS5pc1ZlcmlmaWVkKXt0aGlzLmxvZ2dlci53YXJuKCJyZXNvbHZlOiBqd3QgYXR0ZXN0YXRpb246IG9yaWdpbiB1cmwgbm90IHZlcmlmaWVkIik7cmV0dXJufXJldHVybiB1fX1pZighbylyZXR1cm47Y29uc3QgYz10aGlzLmdldFZlcmlmeVVybChpPy52ZXJpZnlVcmwpO3JldHVybiB0aGlzLmZldGNoQXR0ZXN0YXRpb24obyxjKX0sdGhpcy5mZXRjaEF0dGVzdGF0aW9uPWFzeW5jKGkscyk9Pnt0aGlzLmxvZ2dlci5kZWJ1ZyhgcmVzb2x2aW5nIGF0dGVzdGF0aW9uOiAke2l9IGZyb20gdXJsOiAke3N9YCk7Y29uc3Qgbz10aGlzLnN0YXJ0QWJvcnRUaW1lcihNLk9ORV9TRUNPTkQqNSksYT1hd2FpdCBmZXRjaChgJHtzfS9hdHRlc3RhdGlvbi8ke2l9P3YyU3VwcG9ydGVkPXRydWVgLHtzaWduYWw6dGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsfSk7cmV0dXJuIGNsZWFyVGltZW91dChvKSxhLnN0YXR1cz09PTIwMD9hd2FpdCBhLmpzb24oKTp2b2lkIDB9LHRoaXMuZ2V0VmVyaWZ5VXJsPWk9PntsZXQgcz1pfHxMbjtyZXR1cm4gYVMuaW5jbHVkZXMocyl8fCh0aGlzLmxvZ2dlci5pbmZvKGB2ZXJpZnkgdXJsOiAke3N9LCBub3QgaW5jbHVkZWQgaW4gdHJ1c3RlZCBsaXN0LCBhc3NpZ25pbmcgZGVmYXVsdDogJHtMbn1gKSxzPUxuKSxzfSx0aGlzLmZldGNoUHVibGljS2V5PWFzeW5jKCk9Pnt0cnl7dGhpcy5sb2dnZXIuZGVidWcoYGZldGNoaW5nIHB1YmxpYyBrZXkgZnJvbTogJHt0aGlzLnZlcmlmeVVybFYzfWApO2NvbnN0IGk9dGhpcy5zdGFydEFib3J0VGltZXIoTS5GSVZFX1NFQ09ORFMpLHM9YXdhaXQgZmV0Y2goYCR7dGhpcy52ZXJpZnlVcmxWM30vcHVibGljLWtleWAse3NpZ25hbDp0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWx9KTtyZXR1cm4gY2xlYXJUaW1lb3V0KGkpLGF3YWl0IHMuanNvbigpfWNhdGNoKGkpe3RoaXMubG9nZ2VyLndhcm4oaSl9fSx0aGlzLnBlcnNpc3RQdWJsaWNLZXk9YXN5bmMgaT0+e3RoaXMubG9nZ2VyLmRlYnVnKGksInBlcnNpc3RpbmcgcHVibGljIGtleSB0byBsb2NhbCBzdG9yYWdlIiksYXdhaXQgdGhpcy5zdG9yZS5zZXRJdGVtKHRoaXMuc3RvcmVLZXksaSksdGhpcy5wdWJsaWNLZXk9aX0sdGhpcy5yZW1vdmVQdWJsaWNLZXk9YXN5bmMoKT0+e3RoaXMubG9nZ2VyLmRlYnVnKCJyZW1vdmluZyB2ZXJpZnkgdjIgcHVibGljIGtleSBmcm9tIHN0b3JhZ2UiKSxhd2FpdCB0aGlzLnN0b3JlLnJlbW92ZUl0ZW0odGhpcy5zdG9yZUtleSksdGhpcy5wdWJsaWNLZXk9dm9pZCAwfSx0aGlzLmlzVmFsaWRKd3RBdHRlc3RhdGlvbj1hc3luYyBpPT57Y29uc3Qgcz1hd2FpdCB0aGlzLmdldFB1YmxpY0tleSgpO3RyeXtpZihzKXJldHVybiB0aGlzLnZhbGlkYXRlQXR0ZXN0YXRpb24oaSxzKX1jYXRjaChhKXt0aGlzLmxvZ2dlci5lcnJvcihhKSx0aGlzLmxvZ2dlci53YXJuKCJlcnJvciB2YWxpZGF0aW5nIGF0dGVzdGF0aW9uIil9Y29uc3Qgbz1hd2FpdCB0aGlzLmZldGNoQW5kUGVyc2lzdFB1YmxpY0tleSgpO3RyeXtpZihvKXJldHVybiB0aGlzLnZhbGlkYXRlQXR0ZXN0YXRpb24oaSxvKX1jYXRjaChhKXt0aGlzLmxvZ2dlci5lcnJvcihhKSx0aGlzLmxvZ2dlci53YXJuKCJlcnJvciB2YWxpZGF0aW5nIGF0dGVzdGF0aW9uIil9fSx0aGlzLmdldFB1YmxpY0tleT1hc3luYygpPT50aGlzLnB1YmxpY0tleT90aGlzLnB1YmxpY0tleTphd2FpdCB0aGlzLmZldGNoQW5kUGVyc2lzdFB1YmxpY0tleSgpLHRoaXMuZmV0Y2hBbmRQZXJzaXN0UHVibGljS2V5PWFzeW5jKCk9PntpZih0aGlzLmZldGNoUHJvbWlzZSlyZXR1cm4gYXdhaXQgdGhpcy5mZXRjaFByb21pc2UsdGhpcy5wdWJsaWNLZXk7dGhpcy5mZXRjaFByb21pc2U9bmV3IFByb21pc2UoYXN5bmMgcz0+e2NvbnN0IG89YXdhaXQgdGhpcy5mZXRjaFB1YmxpY0tleSgpO28mJihhd2FpdCB0aGlzLnBlcnNpc3RQdWJsaWNLZXkobykscyhvKSl9KTtjb25zdCBpPWF3YWl0IHRoaXMuZmV0Y2hQcm9taXNlO3JldHVybiB0aGlzLmZldGNoUHJvbWlzZT12b2lkIDAsaX0sdGhpcy52YWxpZGF0ZUF0dGVzdGF0aW9uPShpLHMpPT57Y29uc3Qgbz1nMihpLHMucHVibGljS2V5KSxhPXtoYXNFeHBpcmVkOk0udG9NaWxpc2Vjb25kcyhvLmV4cCk8RGF0ZS5ub3coKSxwYXlsb2FkOm99O2lmKGEuaGFzRXhwaXJlZCl0aHJvdyB0aGlzLmxvZ2dlci53YXJuKCJyZXNvbHZlOiBqd3QgYXR0ZXN0YXRpb24gZXhwaXJlZCIpLG5ldyBFcnJvcigiSldUIGF0dGVzdGF0aW9uIGV4cGlyZWQiKTtyZXR1cm57b3JpZ2luOmEucGF5bG9hZC5vcmlnaW4saXNTY2FtOmEucGF5bG9hZC5pc1NjYW0saXNWZXJpZmllZDphLnBheWxvYWQuaXNWZXJpZmllZH19LHRoaXMubG9nZ2VyPU1lKHIsdGhpcy5uYW1lKSx0aGlzLmFib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHRoaXMuaXNEZXZFbnY9SG8oKSx0aGlzLmluaXQoKX1nZXQgc3RvcmVLZXkoKXtyZXR1cm4gdGhpcy5zdG9yYWdlUHJlZml4K3RoaXMudmVyc2lvbit0aGlzLmNvcmUuY3VzdG9tU3RvcmFnZVByZWZpeCsiLy92ZXJpZnk6cHVibGljOmtleSJ9Z2V0IGNvbnRleHQoKXtyZXR1cm4gTmUodGhpcy5sb2dnZXIpfXN0YXJ0QWJvcnRUaW1lcihlKXtyZXR1cm4gdGhpcy5hYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcixzZXRUaW1lb3V0KCgpPT50aGlzLmFib3J0Q29udHJvbGxlci5hYm9ydCgpLE0udG9NaWxpc2Vjb25kcyhlKSl9fWNsYXNzIElTIGV4dGVuZHMgaWd7Y29uc3RydWN0b3IoZSxyKXtzdXBlcihlLHIpLHRoaXMucHJvamVjdElkPWUsdGhpcy5sb2dnZXI9cix0aGlzLmNvbnRleHQ9Y1MsdGhpcy5yZWdpc3RlckRldmljZVRva2VuPWFzeW5jIG49Pntjb25zdHtjbGllbnRJZDppLHRva2VuOnMsbm90aWZpY2F0aW9uVHlwZTpvLGVuYWJsZUVuY3J5cHRlZDphPSExfT1uLGM9YCR7dVN9LyR7dGhpcy5wcm9qZWN0SWR9L2NsaWVudHNgO2F3YWl0IGZldGNoKGMse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHtjbGllbnRfaWQ6aSx0eXBlOm8sdG9rZW46cyxhbHdheXNfcmF3OmF9KX0pfSx0aGlzLmxvZ2dlcj1NZShyLHRoaXMuY29udGV4dCl9fWNsYXNzIERTIGV4dGVuZHMgc2d7Y29uc3RydWN0b3IoZSxyLG49ITApe3N1cGVyKGUscixuKSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yLHRoaXMuY29udGV4dD1oUyx0aGlzLnN0b3JhZ2VQcmVmaXg9d3QsdGhpcy5zdG9yYWdlVmVyc2lvbj1sUyx0aGlzLmV2ZW50cz1uZXcgTWFwLHRoaXMuc2hvdWxkUGVyc2lzdD0hMSx0aGlzLmluaXQ9YXN5bmMoKT0+e2lmKCFIbygpKXRyeXtjb25zdCBpPXtldmVudElkOnZoKCksdGltZXN0YW1wOkRhdGUubm93KCksZG9tYWluOnRoaXMuZ2V0QXBwRG9tYWluKCkscHJvcHM6e2V2ZW50OiJJTklUIix0eXBlOiIiLHByb3BlcnRpZXM6e2NsaWVudF9pZDphd2FpdCB0aGlzLmNvcmUuY3J5cHRvLmdldENsaWVudElkKCksdXNlcl9hZ2VudDp3aCh0aGlzLmNvcmUucmVsYXllci5wcm90b2NvbCx0aGlzLmNvcmUucmVsYXllci52ZXJzaW9uLHVhKX19fTthd2FpdCB0aGlzLnNlbmRFdmVudChbaV0pfWNhdGNoKGkpe3RoaXMubG9nZ2VyLndhcm4oaSl9fSx0aGlzLmNyZWF0ZUV2ZW50PWk9Pntjb25zdHtldmVudDpzPSJFUlJPUiIsdHlwZTpvPSIiLHByb3BlcnRpZXM6e3RvcGljOmEsdHJhY2U6Y319PWksdT12aCgpLGw9dGhpcy5jb3JlLnByb2plY3RJZHx8IiIsaD1EYXRlLm5vdygpLGY9e2V2ZW50SWQ6dSx0aW1lc3RhbXA6aCxwcm9wczp7ZXZlbnQ6cyx0eXBlOm8scHJvcGVydGllczp7dG9waWM6YSx0cmFjZTpjfX0sYnVuZGxlSWQ6bCxkb21haW46dGhpcy5nZXRBcHBEb21haW4oKSwuLi50aGlzLnNldE1ldGhvZHModSl9O3JldHVybiB0aGlzLnRlbGVtZXRyeUVuYWJsZWQmJih0aGlzLmV2ZW50cy5zZXQodSxmKSx0aGlzLnNob3VsZFBlcnNpc3Q9ITApLGZ9LHRoaXMuZ2V0RXZlbnQ9aT0+e2NvbnN0e2V2ZW50SWQ6cyx0b3BpYzpvfT1pO2lmKHMpcmV0dXJuIHRoaXMuZXZlbnRzLmdldChzKTtjb25zdCBhPUFycmF5LmZyb20odGhpcy5ldmVudHMudmFsdWVzKCkpLmZpbmQoYz0+Yy5wcm9wcy5wcm9wZXJ0aWVzLnRvcGljPT09byk7aWYoYSlyZXR1cm57Li4uYSwuLi50aGlzLnNldE1ldGhvZHMoYS5ldmVudElkKX19LHRoaXMuZGVsZXRlRXZlbnQ9aT0+e2NvbnN0e2V2ZW50SWQ6c309aTt0aGlzLmV2ZW50cy5kZWxldGUocyksdGhpcy5zaG91bGRQZXJzaXN0PSEwfSx0aGlzLnNldEV2ZW50TGlzdGVuZXJzPSgpPT57dGhpcy5jb3JlLmhlYXJ0YmVhdC5vbihoci5wdWxzZSxhc3luYygpPT57dGhpcy5zaG91bGRQZXJzaXN0JiZhd2FpdCB0aGlzLnBlcnNpc3QoKSx0aGlzLmV2ZW50cy5mb3JFYWNoKGk9PntNLmZyb21NaWxpc2Vjb25kcyhEYXRlLm5vdygpKS1NLmZyb21NaWxpc2Vjb25kcyhpLnRpbWVzdGFtcCk+ZlMmJih0aGlzLmV2ZW50cy5kZWxldGUoaS5ldmVudElkKSx0aGlzLnNob3VsZFBlcnNpc3Q9ITApfSl9KX0sdGhpcy5zZXRNZXRob2RzPWk9Pih7YWRkVHJhY2U6cz0+dGhpcy5hZGRUcmFjZShpLHMpLHNldEVycm9yOnM9PnRoaXMuc2V0RXJyb3IoaSxzKX0pLHRoaXMuYWRkVHJhY2U9KGkscyk9Pntjb25zdCBvPXRoaXMuZXZlbnRzLmdldChpKTtvJiYoby5wcm9wcy5wcm9wZXJ0aWVzLnRyYWNlLnB1c2gocyksdGhpcy5ldmVudHMuc2V0KGksbyksdGhpcy5zaG91bGRQZXJzaXN0PSEwKX0sdGhpcy5zZXRFcnJvcj0oaSxzKT0+e2NvbnN0IG89dGhpcy5ldmVudHMuZ2V0KGkpO28mJihvLnByb3BzLnR5cGU9cyxvLnRpbWVzdGFtcD1EYXRlLm5vdygpLHRoaXMuZXZlbnRzLnNldChpLG8pLHRoaXMuc2hvdWxkUGVyc2lzdD0hMCl9LHRoaXMucGVyc2lzdD1hc3luYygpPT57YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksQXJyYXkuZnJvbSh0aGlzLmV2ZW50cy52YWx1ZXMoKSkpLHRoaXMuc2hvdWxkUGVyc2lzdD0hMX0sdGhpcy5yZXN0b3JlPWFzeW5jKCk9Pnt0cnl7Y29uc3QgaT1hd2FpdCB0aGlzLmNvcmUuc3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleSl8fFtdO2lmKCFpLmxlbmd0aClyZXR1cm47aS5mb3JFYWNoKHM9Pnt0aGlzLmV2ZW50cy5zZXQocy5ldmVudElkLHsuLi5zLC4uLnRoaXMuc2V0TWV0aG9kcyhzLmV2ZW50SWQpfSl9KX1jYXRjaChpKXt0aGlzLmxvZ2dlci53YXJuKGkpfX0sdGhpcy5zdWJtaXQ9YXN5bmMoKT0+e2lmKCF0aGlzLnRlbGVtZXRyeUVuYWJsZWR8fHRoaXMuZXZlbnRzLnNpemU9PT0wKXJldHVybjtjb25zdCBpPVtdO2Zvcihjb25zdFtzLG9db2YgdGhpcy5ldmVudHMpby5wcm9wcy50eXBlJiZpLnB1c2gobyk7aWYoaS5sZW5ndGghPT0wKXRyeXtpZigoYXdhaXQgdGhpcy5zZW5kRXZlbnQoaSkpLm9rKWZvcihjb25zdCBzIG9mIGkpdGhpcy5ldmVudHMuZGVsZXRlKHMuZXZlbnRJZCksdGhpcy5zaG91bGRQZXJzaXN0PSEwfWNhdGNoKHMpe3RoaXMubG9nZ2VyLndhcm4ocyl9fSx0aGlzLnNlbmRFdmVudD1hc3luYyBpPT57Y29uc3Qgcz10aGlzLmdldEFwcERvbWFpbigpPyIiOiImc3A9ZGVza3RvcCI7cmV0dXJuIGF3YWl0IGZldGNoKGAke2RTfT9wcm9qZWN0SWQ9JHt0aGlzLmNvcmUucHJvamVjdElkfSZzdD1ldmVudHNfc2RrJnN2PWpzLSR7dWF9JHtzfWAse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeShpKX0pfSx0aGlzLmdldEFwcERvbWFpbj0oKT0+eWgoKS51cmwsdGhpcy5sb2dnZXI9TWUocix0aGlzLmNvbnRleHQpLHRoaXMudGVsZW1ldHJ5RW5hYmxlZD1uLG4/dGhpcy5yZXN0b3JlKCkudGhlbihhc3luYygpPT57YXdhaXQgdGhpcy5zdWJtaXQoKSx0aGlzLnNldEV2ZW50TGlzdGVuZXJzKCl9KTp0aGlzLnBlcnNpc3QoKX1nZXQgc3RvcmFnZUtleSgpe3JldHVybiB0aGlzLnN0b3JhZ2VQcmVmaXgrdGhpcy5zdG9yYWdlVmVyc2lvbit0aGlzLmNvcmUuY3VzdG9tU3RvcmFnZVByZWZpeCsiLy8iK3RoaXMuY29udGV4dH19Y29uc3QgQVM9Y2xhc3MgS2YgZXh0ZW5kcyBZcHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnByb3RvY29sPXdmLHRoaXMudmVyc2lvbj1tZix0aGlzLm5hbWU9Y2EsdGhpcy5ldmVudHM9bmV3IFhlLkV2ZW50RW1pdHRlcix0aGlzLmluaXRpYWxpemVkPSExLHRoaXMub249KG8sYSk9PnRoaXMuZXZlbnRzLm9uKG8sYSksdGhpcy5vbmNlPShvLGEpPT50aGlzLmV2ZW50cy5vbmNlKG8sYSksdGhpcy5vZmY9KG8sYSk9PnRoaXMuZXZlbnRzLm9mZihvLGEpLHRoaXMucmVtb3ZlTGlzdGVuZXI9KG8sYSk9PnRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKG8sYSksdGhpcy5kaXNwYXRjaEVudmVsb3BlPSh7dG9waWM6byxtZXNzYWdlOmEsc2Vzc2lvbkV4aXN0czpjfSk9PntpZighb3x8IWEpcmV0dXJuO2NvbnN0IHU9e3RvcGljOm8sbWVzc2FnZTphLHB1Ymxpc2hlZEF0OkRhdGUubm93KCksdHJhbnNwb3J0VHlwZTp0ZS5saW5rX21vZGV9O3RoaXMucmVsYXllci5vbkxpbmtNZXNzYWdlRXZlbnQodSx7c2Vzc2lvbkV4aXN0czpjfSl9O2NvbnN0IHI9dGhpcy5nZXRHbG9iYWxDb3JlKGU/LmN1c3RvbVN0b3JhZ2VQcmVmaXgpO2lmKHIpdHJ5e3JldHVybiB0aGlzLmN1c3RvbVN0b3JhZ2VQcmVmaXg9ci5jdXN0b21TdG9yYWdlUHJlZml4LHRoaXMubG9nZ2VyPXIubG9nZ2VyLHRoaXMuaGVhcnRiZWF0PXIuaGVhcnRiZWF0LHRoaXMuY3J5cHRvPXIuY3J5cHRvLHRoaXMuaGlzdG9yeT1yLmhpc3RvcnksdGhpcy5leHBpcmVyPXIuZXhwaXJlcix0aGlzLnN0b3JhZ2U9ci5zdG9yYWdlLHRoaXMucmVsYXllcj1yLnJlbGF5ZXIsdGhpcy5wYWlyaW5nPXIucGFpcmluZyx0aGlzLnZlcmlmeT1yLnZlcmlmeSx0aGlzLmVjaG9DbGllbnQ9ci5lY2hvQ2xpZW50LHRoaXMubGlua01vZGVTdXBwb3J0ZWRBcHBzPXIubGlua01vZGVTdXBwb3J0ZWRBcHBzLHRoaXMuZXZlbnRDbGllbnQ9ci5ldmVudENsaWVudCx0aGlzLmluaXRpYWxpemVkPXIuaW5pdGlhbGl6ZWQsdGhpcy5sb2dDaHVua0NvbnRyb2xsZXI9ci5sb2dDaHVua0NvbnRyb2xsZXIscn1jYXRjaChvKXtjb25zb2xlLndhcm4oIkZhaWxlZCB0byBjb3B5IGdsb2JhbCBjb3JlIixvKX10aGlzLnByb2plY3RJZD1lPy5wcm9qZWN0SWQsdGhpcy5yZWxheVVybD1lPy5yZWxheVVybHx8dmYsdGhpcy5jdXN0b21TdG9yYWdlUHJlZml4PWU/LmN1c3RvbVN0b3JhZ2VQcmVmaXg/YDoke2UuY3VzdG9tU3RvcmFnZVByZWZpeH1gOiIiO2NvbnN0IG49S3Aoe2xldmVsOnR5cGVvZiBlPy5sb2dnZXI9PSJzdHJpbmciJiZlLmxvZ2dlcj9lLmxvZ2dlcjokeC5sb2dnZXIsbmFtZTpjYX0pLHtsb2dnZXI6aSxjaHVua0xvZ2dlckNvbnRyb2xsZXI6c309V2Eoe29wdHM6bixtYXhTaXplSW5CeXRlczplPy5tYXhMb2dCbG9iU2l6ZUluQnl0ZXMsbG9nZ2VyT3ZlcnJpZGU6ZT8ubG9nZ2VyfSk7dGhpcy5sb2dDaHVua0NvbnRyb2xsZXI9cyx0aGlzLmxvZ0NodW5rQ29udHJvbGxlcj8uZG93bmxvYWRMb2dzQmxvYkluQnJvd3NlciYmKHdpbmRvdy5kb3dubG9hZExvZ3NCbG9iSW5Ccm93c2VyPWFzeW5jKCk9Pnt0aGlzLmxvZ0NodW5rQ29udHJvbGxlcj8uZG93bmxvYWRMb2dzQmxvYkluQnJvd3NlciYmdGhpcy5sb2dDaHVua0NvbnRyb2xsZXI/LmRvd25sb2FkTG9nc0Jsb2JJbkJyb3dzZXIoe2NsaWVudElkOmF3YWl0IHRoaXMuY3J5cHRvLmdldENsaWVudElkKCl9KX0pLHRoaXMubG9nZ2VyPU1lKGksdGhpcy5uYW1lKSx0aGlzLmhlYXJ0YmVhdD1uZXcgc3MsdGhpcy5jcnlwdG89bmV3IGdTKHRoaXMsdGhpcy5sb2dnZXIsZT8ua2V5Y2hhaW4pLHRoaXMuaGlzdG9yeT1uZXcgX1ModGhpcyx0aGlzLmxvZ2dlciksdGhpcy5leHBpcmVyPW5ldyB4Uyh0aGlzLHRoaXMubG9nZ2VyKSx0aGlzLnN0b3JhZ2U9ZT8uc3RvcmFnZT9lLnN0b3JhZ2U6bmV3IHNwKHsuLi5DeCwuLi5lPy5zdG9yYWdlT3B0aW9uc30pLHRoaXMucmVsYXllcj1uZXcgRVMoe2NvcmU6dGhpcyxsb2dnZXI6dGhpcy5sb2dnZXIscmVsYXlVcmw6dGhpcy5yZWxheVVybCxwcm9qZWN0SWQ6dGhpcy5wcm9qZWN0SWR9KSx0aGlzLnBhaXJpbmc9bmV3IHZTKHRoaXMsdGhpcy5sb2dnZXIpLHRoaXMudmVyaWZ5PW5ldyBTUyh0aGlzLHRoaXMubG9nZ2VyLHRoaXMuc3RvcmFnZSksdGhpcy5lY2hvQ2xpZW50PW5ldyBJUyh0aGlzLnByb2plY3RJZHx8IiIsdGhpcy5sb2dnZXIpLHRoaXMubGlua01vZGVTdXBwb3J0ZWRBcHBzPVtdLHRoaXMuZXZlbnRDbGllbnQ9bmV3IERTKHRoaXMsdGhpcy5sb2dnZXIsZT8udGVsZW1ldHJ5RW5hYmxlZCksdGhpcy5zZXRHbG9iYWxDb3JlKHRoaXMpfXN0YXRpYyBhc3luYyBpbml0KGUpe2NvbnN0IHI9bmV3IEtmKGUpO2F3YWl0IHIuaW5pdGlhbGl6ZSgpO2NvbnN0IG49YXdhaXQgci5jcnlwdG8uZ2V0Q2xpZW50SWQoKTtyZXR1cm4gYXdhaXQgci5zdG9yYWdlLnNldEl0ZW0oWXgsbikscn1nZXQgY29udGV4dCgpe3JldHVybiBOZSh0aGlzLmxvZ2dlcil9YXN5bmMgc3RhcnQoKXt0aGlzLmluaXRpYWxpemVkfHxhd2FpdCB0aGlzLmluaXRpYWxpemUoKX1hc3luYyBnZXRMb2dzQmxvYigpe3JldHVybiB0aGlzLmxvZ0NodW5rQ29udHJvbGxlcj8ubG9nc1RvQmxvYih7Y2xpZW50SWQ6YXdhaXQgdGhpcy5jcnlwdG8uZ2V0Q2xpZW50SWQoKX0pfWFzeW5jIGFkZExpbmtNb2RlU3VwcG9ydGVkQXBwKGUpe3RoaXMubGlua01vZGVTdXBwb3J0ZWRBcHBzLmluY2x1ZGVzKGUpfHwodGhpcy5saW5rTW9kZVN1cHBvcnRlZEFwcHMucHVzaChlKSxhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShfZix0aGlzLmxpbmtNb2RlU3VwcG9ydGVkQXBwcykpfWFzeW5jIGluaXRpYWxpemUoKXt0aGlzLmxvZ2dlci50cmFjZSgiSW5pdGlhbGl6ZWQiKTt0cnl7YXdhaXQgdGhpcy5jcnlwdG8uaW5pdCgpLGF3YWl0IHRoaXMuaGlzdG9yeS5pbml0KCksYXdhaXQgdGhpcy5leHBpcmVyLmluaXQoKSxhd2FpdCB0aGlzLnJlbGF5ZXIuaW5pdCgpLGF3YWl0IHRoaXMuaGVhcnRiZWF0LmluaXQoKSxhd2FpdCB0aGlzLnBhaXJpbmcuaW5pdCgpLHRoaXMubGlua01vZGVTdXBwb3J0ZWRBcHBzPWF3YWl0IHRoaXMuc3RvcmFnZS5nZXRJdGVtKF9mKXx8W10sdGhpcy5pbml0aWFsaXplZD0hMCx0aGlzLmxvZ2dlci5pbmZvKCJDb3JlIEluaXRpYWxpemF0aW9uIFN1Y2Nlc3MiKX1jYXRjaChlKXt0aHJvdyB0aGlzLmxvZ2dlci53YXJuKGUsYENvcmUgSW5pdGlhbGl6YXRpb24gRmFpbHVyZSBhdCBlcG9jaCAke0RhdGUubm93KCl9YCksdGhpcy5sb2dnZXIuZXJyb3IoZS5tZXNzYWdlKSxlfX1nZXRHbG9iYWxDb3JlKGU9IiIpe3RyeXtpZih0aGlzLmlzR2xvYmFsQ29yZURpc2FibGVkKCkpcmV0dXJuO2NvbnN0IHI9YF93YWxsZXRDb25uZWN0Q29yZV8ke2V9YCxuPWAke3J9X2NvdW50YDtyZXR1cm4gZ2xvYmFsVGhpc1tuXT0oZ2xvYmFsVGhpc1tuXXx8MCkrMSxnbG9iYWxUaGlzW25dPjEmJmNvbnNvbGUud2FybihgV2FsbGV0Q29ubmVjdCBDb3JlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuIFRoaXMgaXMgcHJvYmFibHkgYSBtaXN0YWtlIGFuZCBjYW4gbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yLiBJbml0KCkgd2FzIGNhbGxlZCAke2dsb2JhbFRoaXNbbl19IHRpbWVzLmApLGdsb2JhbFRoaXNbcl19Y2F0Y2gocil7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gZ2V0IGdsb2JhbCBXYWxsZXRDb25uZWN0IGNvcmUiLHIpO3JldHVybn19c2V0R2xvYmFsQ29yZShlKXt0cnl7aWYodGhpcy5pc0dsb2JhbENvcmVEaXNhYmxlZCgpKXJldHVybjtjb25zdCByPWBfd2FsbGV0Q29ubmVjdENvcmVfJHtlLm9wdHM/LmN1c3RvbVN0b3JhZ2VQcmVmaXh8fCIifWA7Z2xvYmFsVGhpc1tyXT1lfWNhdGNoKHIpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIHNldCBnbG9iYWwgV2FsbGV0Q29ubmVjdCBjb3JlIixyKX19aXNHbG9iYWxDb3JlRGlzYWJsZWQoKXt0cnl7cmV0dXJuIHR5cGVvZiBwcm9jZXNzPCJ1IiYmcHJvY2Vzcy5lbnYuRElTQUJMRV9HTE9CQUxfQ09SRT09PSJ0cnVlIn1jYXRjaHtyZXR1cm4hMH19fSxsYT0id2MiLGhhPTIsZmE9ImNsaWVudCIsV2k9YCR7bGF9QCR7aGF9OiR7ZmF9OmAsR2k9e25hbWU6ZmEsbG9nZ2VyOiJlcnJvciIsY29udHJvbGxlcjohMSxyZWxheVVybDoid3NzOi8vcmVsYXkud2FsbGV0Y29ubmVjdC5vcmcifSxPUz17c2Vzc2lvbl9wcm9wb3NhbDoic2Vzc2lvbl9wcm9wb3NhbCIsc2Vzc2lvbl91cGRhdGU6InNlc3Npb25fdXBkYXRlIixzZXNzaW9uX2V4dGVuZDoic2Vzc2lvbl9leHRlbmQiLHNlc3Npb25fcGluZzoic2Vzc2lvbl9waW5nIixzZXNzaW9uX2RlbGV0ZToic2Vzc2lvbl9kZWxldGUiLHNlc3Npb25fZXhwaXJlOiJzZXNzaW9uX2V4cGlyZSIsc2Vzc2lvbl9yZXF1ZXN0OiJzZXNzaW9uX3JlcXVlc3QiLHNlc3Npb25fcmVxdWVzdF9zZW50OiJzZXNzaW9uX3JlcXVlc3Rfc2VudCIsc2Vzc2lvbl9ldmVudDoic2Vzc2lvbl9ldmVudCIscHJvcG9zYWxfZXhwaXJlOiJwcm9wb3NhbF9leHBpcmUiLHNlc3Npb25fYXV0aGVudGljYXRlOiJzZXNzaW9uX2F1dGhlbnRpY2F0ZSIsc2Vzc2lvbl9yZXF1ZXN0X2V4cGlyZToic2Vzc2lvbl9yZXF1ZXN0X2V4cGlyZSIsc2Vzc2lvbl9jb25uZWN0OiJzZXNzaW9uX2Nvbm5lY3QifSxUUz17ZGF0YWJhc2U6IjptZW1vcnk6In0sZGE9IldBTExFVENPTk5FQ1RfREVFUExJTktfQ0hPSUNFIixCUz17Y3JlYXRlZDoiaGlzdG9yeV9jcmVhdGVkIix1cGRhdGVkOiJoaXN0b3J5X3VwZGF0ZWQiLGRlbGV0ZWQ6Imhpc3RvcnlfZGVsZXRlZCIsc3luYzoiaGlzdG9yeV9zeW5jIn0sUlM9Imhpc3RvcnkiLE5TPSIwLjMiLFNmPSJwcm9wb3NhbCIsUFM9TS5USElSVFlfREFZUyxwYT0iUHJvcG9zYWwgZXhwaXJlZCIsSWY9InNlc3Npb24iLFJyPU0uU0VWRU5fREFZUyxEZj0iZW5naW5lIix5ZT17d2Nfc2Vzc2lvblByb3Bvc2U6e3JlcTp7dHRsOk0uRklWRV9NSU5VVEVTLHByb21wdDohMCx0YWc6MTEwMH0scmVzOnt0dGw6TS5GSVZFX01JTlVURVMscHJvbXB0OiExLHRhZzoxMTAxfSxyZWplY3Q6e3R0bDpNLkZJVkVfTUlOVVRFUyxwcm9tcHQ6ITEsdGFnOjExMjB9LGF1dG9SZWplY3Q6e3R0bDpNLkZJVkVfTUlOVVRFUyxwcm9tcHQ6ITEsdGFnOjExMjF9fSx3Y19zZXNzaW9uU2V0dGxlOntyZXE6e3R0bDpNLkZJVkVfTUlOVVRFUyxwcm9tcHQ6ITEsdGFnOjExMDJ9LHJlczp7dHRsOk0uRklWRV9NSU5VVEVTLHByb21wdDohMSx0YWc6MTEwM319LHdjX3Nlc3Npb25VcGRhdGU6e3JlcTp7dHRsOk0uT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjExMDR9LHJlczp7dHRsOk0uT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjExMDV9fSx3Y19zZXNzaW9uRXh0ZW5kOntyZXE6e3R0bDpNLk9ORV9EQVkscHJvbXB0OiExLHRhZzoxMTA2fSxyZXM6e3R0bDpNLk9ORV9EQVkscHJvbXB0OiExLHRhZzoxMTA3fX0sd2Nfc2Vzc2lvblJlcXVlc3Q6e3JlcTp7dHRsOk0uRklWRV9NSU5VVEVTKjMscHJvbXB0OiEwLHRhZzoxMTA4fSxyZXM6e3R0bDpNLkZJVkVfTUlOVVRFUyozLHByb21wdDohMSx0YWc6MTEwOX19LHdjX3Nlc3Npb25FdmVudDp7cmVxOnt0dGw6TS5GSVZFX01JTlVURVMscHJvbXB0OiEwLHRhZzoxMTEwfSxyZXM6e3R0bDpNLkZJVkVfTUlOVVRFUyxwcm9tcHQ6ITEsdGFnOjExMTF9fSx3Y19zZXNzaW9uRGVsZXRlOntyZXE6e3R0bDpNLk9ORV9EQVkscHJvbXB0OiExLHRhZzoxMTEyfSxyZXM6e3R0bDpNLk9ORV9EQVkscHJvbXB0OiExLHRhZzoxMTEzfX0sd2Nfc2Vzc2lvblBpbmc6e3JlcTp7dHRsOk0uT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjExMTR9LHJlczp7dHRsOk0uT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjExMTV9fSx3Y19zZXNzaW9uQXV0aGVudGljYXRlOntyZXE6e3R0bDpNLk9ORV9IT1VSLHByb21wdDohMCx0YWc6MTExNn0scmVzOnt0dGw6TS5PTkVfSE9VUixwcm9tcHQ6ITEsdGFnOjExMTd9LHJlamVjdDp7dHRsOk0uRklWRV9NSU5VVEVTLHByb21wdDohMSx0YWc6MTExOH0sYXV0b1JlamVjdDp7dHRsOk0uRklWRV9NSU5VVEVTLHByb21wdDohMSx0YWc6MTExOX19fSxZaT17bWluOk0uRklWRV9NSU5VVEVTLG1heDpNLlNFVkVOX0RBWVN9LG90PXtpZGxlOiJJRExFIixhY3RpdmU6IkFDVElWRSJ9LEFmPXtldGhfc2VuZFRyYW5zYWN0aW9uOntrZXk6IiJ9LGV0aF9zZW5kUmF3VHJhbnNhY3Rpb246e2tleToiIn0sd2FsbGV0X3NlbmRDYWxsczp7a2V5OiIifSxzb2xhbmFfc2lnblRyYW5zYWN0aW9uOntrZXk6InNpZ25hdHVyZSJ9LHNvbGFuYV9zaWduQWxsVHJhbnNhY3Rpb25zOntrZXk6InRyYW5zYWN0aW9ucyJ9LHNvbGFuYV9zaWduQW5kU2VuZFRyYW5zYWN0aW9uOntrZXk6InNpZ25hdHVyZSJ9LHN1aV9zaWduQW5kRXhlY3V0ZVRyYW5zYWN0aW9uOntrZXk6ImRpZ2VzdCJ9LHN1aV9zaWduVHJhbnNhY3Rpb246e2tleToiIn0saGVkZXJhX3NpZ25BbmRFeGVjdXRlVHJhbnNhY3Rpb246e2tleToidHJhbnNhY3Rpb25JZCJ9LGhlZGVyYV9leGVjdXRlVHJhbnNhY3Rpb246e2tleToidHJhbnNhY3Rpb25JZCJ9LG5lYXJfc2lnblRyYW5zYWN0aW9uOntrZXk6IiJ9LG5lYXJfc2lnblRyYW5zYWN0aW9uczp7a2V5OiIifSx0cm9uX3NpZ25UcmFuc2FjdGlvbjp7a2V5OiJ0eElEIn0seHJwbF9zaWduVHJhbnNhY3Rpb246e2tleToiIn0seHJwbF9zaWduVHJhbnNhY3Rpb25Gb3I6e2tleToiIn0sYWxnb19zaWduVHhuOntrZXk6IiJ9LHNlbmRUcmFuc2Zlcjp7a2V5OiJ0eGlkIn0sc3RhY2tzX3N0eFRyYW5zZmVyOntrZXk6InR4SWQifSxwb2xrYWRvdF9zaWduVHJhbnNhY3Rpb246e2tleToiIn0sY29zbW9zX3NpZ25EaXJlY3Q6e2tleToiIn0sY2FudG9uX3ByZXBhcmVTaWduRXhlY3V0ZTp7a2V5OiIifX0sT2Y9InJlcXVlc3QiLFRmPVsid2Nfc2Vzc2lvblByb3Bvc2UiLCJ3Y19zZXNzaW9uUmVxdWVzdCIsIndjX2F1dGhSZXF1ZXN0Iiwid2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZSJdLEJmPSJ3YyIsJFM9MS41LFJmPSJhdXRoIixOZj0iYXV0aEtleXMiLFBmPSJwYWlyaW5nVG9waWNzIiwkZj0icmVxdWVzdHMiLE1uPWAke0JmfUAkezEuNX06JHtSZn06YCxrdD1gJHtNbn06UFVCX0tFWWA7Y2xhc3MgQ1MgZXh0ZW5kcyBhZ3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9RGYsdGhpcy5ldmVudHM9bmV3IG1hLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5yZXF1ZXN0UXVldWU9e3N0YXRlOm90LmlkbGUscXVldWU6W119LHRoaXMuc2Vzc2lvblJlcXVlc3RRdWV1ZT17c3RhdGU6b3QuaWRsZSxxdWV1ZTpbXX0sdGhpcy5lbWl0dGVkU2Vzc2lvblJlcXVlc3RzPW5ldyBVdih7bGltaXQ6NTAwfSksdGhpcy5yZXF1ZXN0UXVldWVEZWxheT1NLk9ORV9TRUNPTkQsdGhpcy5leHBlY3RlZFBhaXJpbmdNZXRob2RNYXA9bmV3IE1hcCx0aGlzLnJlY2VudGx5RGVsZXRlZE1hcD1uZXcgTWFwLHRoaXMucmVjZW50bHlEZWxldGVkTGltaXQ9MjAwLHRoaXMucmVsYXlNZXNzYWdlQ2FjaGU9W10sdGhpcy5wZW5kaW5nU2Vzc2lvbnM9bmV3IE1hcCx0aGlzLmluaXQ9YXN5bmMoKT0+e3RoaXMuaW5pdGlhbGl6ZWR8fChhd2FpdCB0aGlzLmNsZWFudXAoKSx0aGlzLnJlZ2lzdGVyUmVsYXllckV2ZW50cygpLHRoaXMucmVnaXN0ZXJFeHBpcmVyRXZlbnRzKCksdGhpcy5yZWdpc3RlclBhaXJpbmdFdmVudHMoKSx0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uQ2xlYW51cCgpLGF3YWl0IHRoaXMucmVnaXN0ZXJMaW5rTW9kZUxpc3RlbmVycygpLHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5yZWdpc3Rlcih7bWV0aG9kczpPYmplY3Qua2V5cyh5ZSl9KSx0aGlzLmluaXRpYWxpemVkPSEwLHNldFRpbWVvdXQoYXN5bmMoKT0+e2F3YWl0IHRoaXMucHJvY2Vzc1BlbmRpbmdNZXNzYWdlRXZlbnRzKCksdGhpcy5zZXNzaW9uUmVxdWVzdFF1ZXVlLnF1ZXVlPXRoaXMuZ2V0UGVuZGluZ1Nlc3Npb25SZXF1ZXN0cygpLHRoaXMucHJvY2Vzc1Nlc3Npb25SZXF1ZXN0UXVldWUoKX0sTS50b01pbGlzZWNvbmRzKHRoaXMucmVxdWVzdFF1ZXVlRGVsYXkpKSl9LHRoaXMuY29ubmVjdD1hc3luYyByPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5jb25maXJtT25saW5lU3RhdGVPclRocm93KCk7Y29uc3Qgbj17Li4ucixyZXF1aXJlZE5hbWVzcGFjZXM6ci5yZXF1aXJlZE5hbWVzcGFjZXN8fHt9LG9wdGlvbmFsTmFtZXNwYWNlczpyLm9wdGlvbmFsTmFtZXNwYWNlc3x8e319O2F3YWl0IHRoaXMuaXNWYWxpZENvbm5lY3Qobiksbi5vcHRpb25hbE5hbWVzcGFjZXM9RDIobi5yZXF1aXJlZE5hbWVzcGFjZXMsbi5vcHRpb25hbE5hbWVzcGFjZXMpLG4ucmVxdWlyZWROYW1lc3BhY2VzPXt9O2NvbnN0e3BhaXJpbmdUb3BpYzppLHJlcXVpcmVkTmFtZXNwYWNlczpzLG9wdGlvbmFsTmFtZXNwYWNlczpvLHNlc3Npb25Qcm9wZXJ0aWVzOmEsc2NvcGVkUHJvcGVydGllczpjLHJlbGF5czp1LGF1dGhlbnRpY2F0aW9uOmwsd2FsbGV0UGF5Omh9PW4sZj1sPy5bMF0/LnR0bHx8eWUud2Nfc2Vzc2lvblByb3Bvc2UucmVxLnR0bHx8TS5GSVZFX01JTlVURVM7dGhpcy52YWxpZGF0ZVJlcXVlc3RFeHBpcnkoZik7bGV0IHA9aSxkLGc9ITE7dHJ5e2lmKHApe2NvbnN0IEI9dGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmdldChwKTt0aGlzLmNsaWVudC5sb2dnZXIud2FybigiY29ubmVjdCgpIHdpdGggZXhpc3RpbmcgcGFpcmluZyB0b3BpYyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4iKSxnPUIuYWN0aXZlfX1jYXRjaChCKXt0aHJvdyB0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoYGNvbm5lY3QoKSAtPiBwYWlyaW5nLmdldCgke3B9KSBmYWlsZWRgKSxCfWlmKCFwfHwhZyl7Y29uc3R7dG9waWM6Qix1cmk6UH09YXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLmNyZWF0ZSh7aW50ZXJuYWw6e3NraXBTdWJzY3JpYmU6ITB9fSk7cD1CLGQ9UH1pZighcCl7Y29uc3R7bWVzc2FnZTpCfT1GKCJOT19NQVRDSElOR19LRVkiLGBjb25uZWN0KCkgcGFpcmluZyB0b3BpYzogJHtwfWApO3Rocm93IG5ldyBFcnJvcihCKX1jb25zdCB5PWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmdlbmVyYXRlS2V5UGFpcigpLHY9bGUoZiksQT17cmVxdWlyZWROYW1lc3BhY2VzOnMsb3B0aW9uYWxOYW1lc3BhY2VzOm8scmVsYXlzOnU/P1t7cHJvdG9jb2w6RWZ9XSxwcm9wb3Nlcjp7cHVibGljS2V5OnksbWV0YWRhdGE6dGhpcy5jbGllbnQubWV0YWRhdGF9LGV4cGlyeVRpbWVzdGFtcDp2LHBhaXJpbmdUb3BpYzpwLC4uLmEmJntzZXNzaW9uUHJvcGVydGllczphfSwuLi5jJiZ7c2NvcGVkUHJvcGVydGllczpjfSxpZDpndCgpLC4uLihsfHxoKSYme3JlcXVlc3RzOnthdXRoZW50aWNhdGlvbjpsPy5tYXAoQj0+e2NvbnN0e2RvbWFpbjpQLGNoYWluczpVLG5vbmNlOkwsdXJpOkMsZXhwOlMsbmJmOlIsdHlwZTpiLHN0YXRlbWVudDpFLHJlcXVlc3RJZDpELHJlc291cmNlczpPLHNpZ25hdHVyZVR5cGVzOkl9PUI7cmV0dXJue2RvbWFpbjpQLGNoYWluczpVLG5vbmNlOkwsdHlwZTpiPz8iY2FpcDEyMiIsYXVkOkMsdmVyc2lvbjoiMSIsaWF0Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxleHA6UyxuYmY6UixzdGF0ZW1lbnQ6RSxyZXF1ZXN0SWQ6RCxyZXNvdXJjZXM6TyxzaWduYXR1cmVUeXBlczpJfX0pLHdhbGxldFBheTpofX19LHc9USgic2Vzc2lvbl9jb25uZWN0IixBLmlkKSx7cmVqZWN0Om0scmVzb2x2ZTpfLGRvbmU6eH09X3IoZixwYSksVD0oe2lkOkJ9KT0+e2lmKEI9PT1BLmlkKXt0aGlzLmNsaWVudC5ldmVudHMub2ZmKCJwcm9wb3NhbF9leHBpcmUiLFQpO2NvbnN0IFA9dGhpcy5wZW5kaW5nU2Vzc2lvbnMuZ2V0KEEuaWQpO2lmKFApe2NvbnN0e3Nlc3Npb25Ub3BpYzpVLHB1YmxpY0tleTpMfT1QO1Byb21pc2UuYWxsKFt0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIudW5zdWJzY3JpYmUoVSksdGhpcy5jbGllbnQuY29yZS5jcnlwdG8ua2V5Y2hhaW4uaGFzKFUpP3RoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmRlbGV0ZVN5bUtleShVKTpQcm9taXNlLnJlc29sdmUoKSx0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5rZXljaGFpbi5oYXMoTCk/dGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZGVsZXRlS2V5UGFpcihMKTpQcm9taXNlLnJlc29sdmUoKV0pLmNhdGNoKEM9PnRoaXMuY2xpZW50LmxvZ2dlci53YXJuKEMpKX10aGlzLnBlbmRpbmdTZXNzaW9ucy5kZWxldGUoQS5pZCksdGhpcy5ldmVudHMuZW1pdCh3LHtlcnJvcjp7bWVzc2FnZTpwYSxjb2RlOjB9fSl9fTtyZXR1cm4gdGhpcy5jbGllbnQuZXZlbnRzLm9uKCJwcm9wb3NhbF9leHBpcmUiLFQpLHRoaXMuZXZlbnRzLm9uY2Uodywoe2Vycm9yOkIsc2Vzc2lvbjpQfSk9Pnt0aGlzLmNsaWVudC5ldmVudHMub2ZmKCJwcm9wb3NhbF9leHBpcmUiLFQpLEI/bShCKTpQJiZfKFApfSksYXdhaXQgdGhpcy5zZXRQcm9wb3NhbChBLmlkLEEpLGF3YWl0IHRoaXMuc2VuZFByb3Bvc2VTZXNzaW9uKHtwcm9wb3NhbDpBLHB1Ymxpc2hPcHRzOntpbnRlcm5hbDp7dGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITB9LHR2Zjp7Y29ycmVsYXRpb25JZDpBLmlkfX19KS5jYXRjaChCPT57dGhyb3cgdGhpcy5kZWxldGVQcm9wb3NhbChBLmlkKSxCfSkse3VyaTpkLGFwcHJvdmFsOnh9fSx0aGlzLnBhaXI9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpO3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXIocil9Y2F0Y2gobil7dGhyb3cgdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKCJwYWlyKCkgZmFpbGVkIiksbn19LHRoaXMuYXBwcm92ZT1hc3luYyByPT57Y29uc3Qgbj10aGlzLmNsaWVudC5jb3JlLmV2ZW50Q2xpZW50LmNyZWF0ZUV2ZW50KHtwcm9wZXJ0aWVzOnt0b3BpYzpyPy5pZD8udG9TdHJpbmcoKSx0cmFjZTpbc3Quc2Vzc2lvbl9hcHByb3ZlX3N0YXJ0ZWRdfX0pO3RyeXt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmNvbmZpcm1PbmxpbmVTdGF0ZU9yVGhyb3coKX1jYXRjaChUKXt0aHJvdyBuLnNldEVycm9yKE9yLm5vX2ludGVybmV0X2Nvbm5lY3Rpb24pLFR9dHJ5e2F3YWl0IHRoaXMuaXNWYWxpZFByb3Bvc2FsSWQocj8uaWQpfWNhdGNoKFQpe3Rocm93IHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihgYXBwcm92ZSgpIC0+IHByb3Bvc2FsLmdldCgke3I/LmlkfSkgZmFpbGVkYCksbi5zZXRFcnJvcihPci5wcm9wb3NhbF9ub3RfZm91bmQpLFR9dHJ5e2F3YWl0IHRoaXMuaXNWYWxpZEFwcHJvdmUocil9Y2F0Y2goVCl7dGhyb3cgdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKCJhcHByb3ZlKCkgLT4gaXNWYWxpZEFwcHJvdmUoKSBmYWlsZWQiKSxuLnNldEVycm9yKE9yLnNlc3Npb25fYXBwcm92ZV9uYW1lc3BhY2VfdmFsaWRhdGlvbl9mYWlsdXJlKSxUfWNvbnN0e2lkOmkscmVsYXlQcm90b2NvbDpzLG5hbWVzcGFjZXM6byxzZXNzaW9uUHJvcGVydGllczphLHNjb3BlZFByb3BlcnRpZXM6YyxzZXNzaW9uQ29uZmlnOnUscHJvcG9zYWxSZXF1ZXN0c1Jlc3BvbnNlczpsfT1yLGg9dGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KGkpO3RoaXMuY2xpZW50LmNvcmUuZXZlbnRDbGllbnQuZGVsZXRlRXZlbnQoe2V2ZW50SWQ6bi5ldmVudElkfSk7Y29uc3R7cGFpcmluZ1RvcGljOmYscHJvcG9zZXI6cCxyZXF1aXJlZE5hbWVzcGFjZXM6ZCxvcHRpb25hbE5hbWVzcGFjZXM6Z309aDtsZXQgeT10aGlzLmNsaWVudC5jb3JlLmV2ZW50Q2xpZW50Py5nZXRFdmVudCh7dG9waWM6Zn0pO3l8fCh5PXRoaXMuY2xpZW50LmNvcmUuZXZlbnRDbGllbnQ/LmNyZWF0ZUV2ZW50KHt0eXBlOnN0LnNlc3Npb25fYXBwcm92ZV9zdGFydGVkLHByb3BlcnRpZXM6e3RvcGljOmYsdHJhY2U6W3N0LnNlc3Npb25fYXBwcm92ZV9zdGFydGVkLHN0LnNlc3Npb25fbmFtZXNwYWNlc192YWxpZGF0aW9uX3N1Y2Nlc3NdfX0pKTtjb25zdCB2PWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmdlbmVyYXRlS2V5UGFpcigpLEE9cC5wdWJsaWNLZXksdz1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZVNoYXJlZEtleSh2LEEpLG09e3JlbGF5Ontwcm90b2NvbDpzPz8iaXJuIn0sbmFtZXNwYWNlczpvLGNvbnRyb2xsZXI6e3B1YmxpY0tleTp2LG1ldGFkYXRhOnRoaXMuY2xpZW50Lm1ldGFkYXRhfSxleHBpcnk6bGUoUnIpLC4uLmEmJntzZXNzaW9uUHJvcGVydGllczphfSwuLi5jJiZ7c2NvcGVkUHJvcGVydGllczpjfSwuLi51JiZ7c2Vzc2lvbkNvbmZpZzp1fSxwcm9wb3NhbFJlcXVlc3RzUmVzcG9uc2VzOmx9LF89dGUucmVsYXk7eS5hZGRUcmFjZShzdC5zdWJzY3JpYmluZ19zZXNzaW9uX3RvcGljKTt0cnl7YXdhaXQgdGhpcy5jbGllbnQuY29yZS5yZWxheWVyLnN1YnNjcmliZSh3LHt0cmFuc3BvcnRUeXBlOl8saW50ZXJuYWw6e3NraXBTdWJzY3JpYmU6ITB9fSl9Y2F0Y2goVCl7dGhyb3cgeS5zZXRFcnJvcihPci5zdWJzY3JpYmVfc2Vzc2lvbl90b3BpY19mYWlsdXJlKSxUfXkuYWRkVHJhY2Uoc3Quc3Vic2NyaWJlX3Nlc3Npb25fdG9waWNfc3VjY2Vzcyk7Y29uc3QgeD17Li4ubSx0b3BpYzp3LHJlcXVpcmVkTmFtZXNwYWNlczpkLG9wdGlvbmFsTmFtZXNwYWNlczpnLHBhaXJpbmdUb3BpYzpmLGFja25vd2xlZGdlZDohMSxzZWxmOm0uY29udHJvbGxlcixwZWVyOntwdWJsaWNLZXk6cC5wdWJsaWNLZXksbWV0YWRhdGE6cC5tZXRhZGF0YX0sY29udHJvbGxlcjp2LHRyYW5zcG9ydFR5cGU6dGUucmVsYXksYXV0aGVudGljYXRpb246bD8uYXV0aGVudGljYXRpb24sd2FsbGV0UGF5UmVzdWx0Omw/LndhbGxldFBheX07YXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi5zZXQodyx4KSx5LmFkZFRyYWNlKHN0LnN0b3JlX3Nlc3Npb24pO3RyeXthd2FpdCB0aGlzLnNlbmRBcHByb3ZlU2Vzc2lvbih7c2Vzc2lvblRvcGljOncscHJvcG9zYWw6aCxwYWlyaW5nUHJvcG9zYWxSZXNwb25zZTp7cmVsYXk6e3Byb3RvY29sOnM/PyJpcm4ifSxyZXNwb25kZXJQdWJsaWNLZXk6dn0sc2Vzc2lvblNldHRsZVJlcXVlc3Q6bSxwdWJsaXNoT3B0czp7aW50ZXJuYWw6e3Rocm93T25GYWlsZWRQdWJsaXNoOiEwfSx0dmY6e2NvcnJlbGF0aW9uSWQ6aSwuLi50aGlzLmdldFRWRkFwcHJvdmVQYXJhbXMoeCl9fX0pLHkuYWRkVHJhY2Uoc3Quc2Vzc2lvbl9hcHByb3ZlX3B1Ymxpc2hfc3VjY2Vzcyl9Y2F0Y2goVCl7dGhyb3cgdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKFQpLHRoaXMuY2xpZW50LnNlc3Npb24uZGVsZXRlKHcsbmUoIlVTRVJfRElTQ09OTkVDVEVEIikpLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci51bnN1YnNjcmliZSh3KSxUfXJldHVybiB0aGlzLmNsaWVudC5jb3JlLmV2ZW50Q2xpZW50LmRlbGV0ZUV2ZW50KHtldmVudElkOnkuZXZlbnRJZH0pLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy51cGRhdGVNZXRhZGF0YSh7dG9waWM6ZixtZXRhZGF0YTpwLm1ldGFkYXRhfSksYXdhaXQgdGhpcy5kZWxldGVQcm9wb3NhbChpKSxhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuYWN0aXZhdGUoe3RvcGljOmZ9KSxhd2FpdCB0aGlzLnNldEV4cGlyeSh3LGxlKFJyKSkse3RvcGljOncsYWNrbm93bGVkZ2VkOigpPT5Qcm9taXNlLnJlc29sdmUodGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQodykpfX0sdGhpcy5yZWplY3Q9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpO3RyeXthd2FpdCB0aGlzLmlzVmFsaWRSZWplY3Qocil9Y2F0Y2gobyl7dGhyb3cgdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKCJyZWplY3QoKSAtPiBpc1ZhbGlkUmVqZWN0KCkgZmFpbGVkIiksb31jb25zdHtpZDpuLHJlYXNvbjppfT1yO2xldCBzO3RyeXtzPXRoaXMuY2xpZW50LnByb3Bvc2FsLmdldChuKS5wYWlyaW5nVG9waWN9Y2F0Y2gobyl7dGhyb3cgdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGByZWplY3QoKSAtPiBwcm9wb3NhbC5nZXQoJHtufSkgZmFpbGVkYCksb31zJiZhd2FpdCB0aGlzLnNlbmRFcnJvcih7aWQ6bix0b3BpYzpzLGVycm9yOmkscnBjT3B0czp5ZS53Y19zZXNzaW9uUHJvcG9zZS5yZWplY3R9KSxhd2FpdCB0aGlzLmRlbGV0ZVByb3Bvc2FsKG4pfSx0aGlzLnVwZGF0ZT1hc3luYyByPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5jb25maXJtT25saW5lU3RhdGVPclRocm93KCk7dHJ5e2F3YWl0IHRoaXMuaXNWYWxpZFVwZGF0ZShyKX1jYXRjaChmKXt0aHJvdyB0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoInVwZGF0ZSgpIC0+IGlzVmFsaWRVcGRhdGUoKSBmYWlsZWQiKSxmfWNvbnN0e3RvcGljOm4sbmFtZXNwYWNlczppfT1yLHM9dGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQobik7aWYocy5zZWxmLnB1YmxpY0tleSE9PXMuY29udHJvbGxlcil7Y29uc3R7bWVzc2FnZTpmfT1uZSgiVU5BVVRIT1JJWkVEX1VQREFURV9SRVFVRVNUIik7dGhyb3cgbmV3IEVycm9yKGYpfWNvbnN0e2RvbmU6byxyZXNvbHZlOmEscmVqZWN0OmN9PV9yKE0uRklWRV9NSU5VVEVTLCJTZXNzaW9uIHVwZGF0ZSByZXF1ZXN0IGV4cGlyZWQgd2l0aG91dCByZWNlaXZpbmcgYW55IGFja25vd2xlZGdlbWVudCIpLHU9Z3QoKSxsPWFyKCkudG9TdHJpbmcoKSxoPXRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KG4pLm5hbWVzcGFjZXM7cmV0dXJuIHRoaXMuZXZlbnRzLm9uY2UoUSgic2Vzc2lvbl91cGRhdGUiLHUpLCh7ZXJyb3I6Zn0pPT57Zj9jKGYpOmEoKX0pLGF3YWl0IHRoaXMuY2xpZW50LnNlc3Npb24udXBkYXRlKG4se25hbWVzcGFjZXM6aX0pLGF3YWl0IHRoaXMuc2VuZFJlcXVlc3Qoe3RvcGljOm4sbWV0aG9kOiJ3Y19zZXNzaW9uVXBkYXRlIixwYXJhbXM6e25hbWVzcGFjZXM6aX0sdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITAsY2xpZW50UnBjSWQ6dSxyZWxheVJwY0lkOmx9KS5jYXRjaChmPT57dGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGYpLHRoaXMuY2xpZW50LnNlc3Npb24udXBkYXRlKG4se25hbWVzcGFjZXM6aH0pLGMoZil9KSx7YWNrbm93bGVkZ2VkOm99fSx0aGlzLmV4dGVuZD1hc3luYyByPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5jb25maXJtT25saW5lU3RhdGVPclRocm93KCk7dHJ5e2F3YWl0IHRoaXMuaXNWYWxpZEV4dGVuZChyKX1jYXRjaChjKXt0aHJvdyB0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoImV4dGVuZCgpIC0+IGlzVmFsaWRFeHRlbmQoKSBmYWlsZWQiKSxjfWNvbnN0e3RvcGljOm59PXIsaT1ndCgpLHtkb25lOnMscmVzb2x2ZTpvLHJlamVjdDphfT1fcihNLkZJVkVfTUlOVVRFUywiU2Vzc2lvbiBleHRlbmQgcmVxdWVzdCBleHBpcmVkIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBhY2tub3dsZWRnZW1lbnQiKTtyZXR1cm4gdGhpcy5ldmVudHMub25jZShRKCJzZXNzaW9uX2V4dGVuZCIsaSksKHtlcnJvcjpjfSk9PntjP2EoYyk6bygpfSksYXdhaXQgdGhpcy5zZXRFeHBpcnkobixsZShScikpLHRoaXMuc2VuZFJlcXVlc3Qoe3RvcGljOm4sbWV0aG9kOiJ3Y19zZXNzaW9uRXh0ZW5kIixwYXJhbXM6e30sY2xpZW50UnBjSWQ6aSx0aHJvd09uRmFpbGVkUHVibGlzaDohMH0pLmNhdGNoKGM9PnthKGMpfSkse2Fja25vd2xlZGdlZDpzfX0sdGhpcy5yZXF1ZXN0PWFzeW5jIHI9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTt0cnl7YXdhaXQgdGhpcy5pc1ZhbGlkUmVxdWVzdChyKX1jYXRjaCh5KXt0aHJvdyB0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoInJlcXVlc3QoKSAtPiBpc1ZhbGlkUmVxdWVzdCgpIGZhaWxlZCIpLHl9Y29uc3R7Y2hhaW5JZDpuLHJlcXVlc3Q6aSx0b3BpYzpzLGV4cGlyeTpvPXllLndjX3Nlc3Npb25SZXF1ZXN0LnJlcS50dGx9PXIsYT10aGlzLmNsaWVudC5zZXNzaW9uLmdldChzKTthPy50cmFuc3BvcnRUeXBlPT09dGUucmVsYXkmJmF3YWl0IHRoaXMuY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpO2NvbnN0IGM9Z3QoKSx1PWFyKCkudG9TdHJpbmcoKSx7ZG9uZTpsLHJlc29sdmU6aCxyZWplY3Q6Zn09X3IobywiUmVxdWVzdCBleHBpcmVkLiBQbGVhc2UgdHJ5IGFnYWluLiIpO3RoaXMuZXZlbnRzLm9uY2UoUSgic2Vzc2lvbl9yZXF1ZXN0IixjKSwoe2Vycm9yOnkscmVzdWx0OnZ9KT0+e3k/Zih5KTpoKHYpfSk7Y29uc3QgcD0id2Nfc2Vzc2lvblJlcXVlc3QiLGQ9dGhpcy5nZXRBcHBMaW5rSWZFbmFibGVkKGEucGVlci5tZXRhZGF0YSxhLnRyYW5zcG9ydFR5cGUpO2lmKGQpcmV0dXJuIGF3YWl0IHRoaXMuc2VuZFJlcXVlc3Qoe2NsaWVudFJwY0lkOmMscmVsYXlScGNJZDp1LHRvcGljOnMsbWV0aG9kOnAscGFyYW1zOntyZXF1ZXN0OnsuLi5pLGV4cGlyeVRpbWVzdGFtcDpsZShvKX0sY2hhaW5JZDpufSxleHBpcnk6byx0aHJvd09uRmFpbGVkUHVibGlzaDohMCxhcHBMaW5rOmR9KS5jYXRjaCh5PT5mKHkpKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgic2Vzc2lvbl9yZXF1ZXN0X3NlbnQiLHt0b3BpYzpzLHJlcXVlc3Q6aSxjaGFpbklkOm4saWQ6Y30pLGF3YWl0IGwoKTtjb25zdCBnPXtyZXF1ZXN0OnsuLi5pLGV4cGlyeVRpbWVzdGFtcDpsZShvKX0sY2hhaW5JZDpufTtyZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoW25ldyBQcm9taXNlKGFzeW5jIHk9Pnthd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KHtjbGllbnRScGNJZDpjLHJlbGF5UnBjSWQ6dSx0b3BpYzpzLG1ldGhvZDpwLHBhcmFtczpnLGV4cGlyeTpvLHRocm93T25GYWlsZWRQdWJsaXNoOiEwLHR2Zjp0aGlzLmdldFRWRlBhcmFtcyhjLGcpfSkuY2F0Y2godj0+Zih2KSksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fcmVxdWVzdF9zZW50Iix7dG9waWM6cyxyZXF1ZXN0OmksY2hhaW5JZDpuLGlkOmN9KSx5KCl9KSxuZXcgUHJvbWlzZShhc3luYyB5PT57aWYoIWEuc2Vzc2lvbkNvbmZpZz8uZGlzYWJsZURlZXBMaW5rKXtjb25zdCB2PWF3YWl0IFJ2KHRoaXMuY2xpZW50LmNvcmUuc3RvcmFnZSxkYSk7YXdhaXQgT3Yoe2lkOmMsdG9waWM6cyx3Y0RlZXBMaW5rOnZ9KX15KCl9KSxsKCldKS50aGVuKHk9PnlbMl0pfSx0aGlzLnJlc3BvbmQ9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IG49dGhpcy5jbGllbnQuY29yZS5ldmVudENsaWVudC5jcmVhdGVFdmVudCh7cHJvcGVydGllczp7dG9waWM6cj8udG9waWN8fHI/LnJlc3BvbnNlPy5pZD8udG9TdHJpbmcoKSx0cmFjZTpbc3Quc2Vzc2lvbl9yZXF1ZXN0X3Jlc3BvbnNlX3N0YXJ0ZWRdfX0pO3RyeXthd2FpdCB0aGlzLmlzVmFsaWRSZXNwb25kKHIpfWNhdGNoKHUpe3Rocm93IG4uYWRkVHJhY2UodT8ubWVzc2FnZSksbi5zZXRFcnJvcihPci5zZXNzaW9uX3JlcXVlc3RfcmVzcG9uc2VfdmFsaWRhdGlvbl9mYWlsdXJlKSx1fW4uYWRkVHJhY2Uoc3Quc2Vzc2lvbl9yZXF1ZXN0X3Jlc3BvbnNlX3ZhbGlkYXRpb25fc3VjY2Vzcyk7Y29uc3R7dG9waWM6aSxyZXNwb25zZTpzfT1yLHtpZDpvfT1zLGE9dGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQoaSk7YS50cmFuc3BvcnRUeXBlPT09dGUucmVsYXkmJmF3YWl0IHRoaXMuY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpO2NvbnN0IGM9dGhpcy5nZXRBcHBMaW5rSWZFbmFibGVkKGEucGVlci5tZXRhZGF0YSxhLnRyYW5zcG9ydFR5cGUpO3RyeXtuLmFkZFRyYWNlKHN0LnNlc3Npb25fcmVxdWVzdF9yZXNwb25zZV9wdWJsaXNoX3N0YXJ0ZWQpLHl0KHMpP2F3YWl0IHRoaXMuc2VuZFJlc3VsdCh7aWQ6byx0b3BpYzppLHJlc3VsdDpzLnJlc3VsdCx0aHJvd09uRmFpbGVkUHVibGlzaDohMCxhcHBMaW5rOmN9KTpHZShzKSYmYXdhaXQgdGhpcy5zZW5kRXJyb3Ioe2lkOm8sdG9waWM6aSxlcnJvcjpzLmVycm9yLGFwcExpbms6Y30pLHRoaXMuY2xlYW51cEFmdGVyUmVzcG9uc2Uocil9Y2F0Y2godSl7dGhyb3cgbi5hZGRUcmFjZSh1Py5tZXNzYWdlKSxuLnNldEVycm9yKE9yLnNlc3Npb25fcmVxdWVzdF9yZXNwb25zZV9wdWJsaXNoX2ZhaWx1cmUpLHV9fSx0aGlzLnBpbmc9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpO3RyeXthd2FpdCB0aGlzLmlzVmFsaWRQaW5nKHIpfWNhdGNoKGkpe3Rocm93IHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcigicGluZygpIC0+IGlzVmFsaWRQaW5nKCkgZmFpbGVkIiksaX1jb25zdHt0b3BpYzpufT1yO2lmKHRoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5pbmNsdWRlcyhuKSl7Y29uc3QgaT1ndCgpLHM9YXIoKS50b1N0cmluZygpLHtkb25lOm8scmVzb2x2ZTphLHJlamVjdDpjfT1fcihNLkZJVkVfTUlOVVRFUywiUGluZyByZXF1ZXN0IGV4cGlyZWQgd2l0aG91dCByZWNlaXZpbmcgYW55IGFja25vd2xlZGdlbWVudCIpO3RoaXMuZXZlbnRzLm9uY2UoUSgic2Vzc2lvbl9waW5nIixpKSwoe2Vycm9yOnV9KT0+e3U/Yyh1KTphKCl9KSxhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5zZW5kUmVxdWVzdCh7dG9waWM6bixtZXRob2Q6IndjX3Nlc3Npb25QaW5nIixwYXJhbXM6e30sdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITAsY2xpZW50UnBjSWQ6aSxyZWxheVJwY0lkOnN9KSxvKCldKX1lbHNlIHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKG4pJiYodGhpcy5jbGllbnQubG9nZ2VyLndhcm4oInBpbmcoKSBvbiBwYWlyaW5nIHRvcGljIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiIpLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5waW5nKHt0b3BpYzpufSkpfSx0aGlzLmVtaXQ9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpLGF3YWl0IHRoaXMuaXNWYWxpZEVtaXQocik7Y29uc3R7dG9waWM6bixldmVudDppLGNoYWluSWQ6c309cixvPWFyKCkudG9TdHJpbmcoKSxhPWd0KCk7YXdhaXQgdGhpcy5zZW5kUmVxdWVzdCh7dG9waWM6bixtZXRob2Q6IndjX3Nlc3Npb25FdmVudCIscGFyYW1zOntldmVudDppLGNoYWluSWQ6c30sdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITAscmVsYXlScGNJZDpvLGNsaWVudFJwY0lkOmF9KX0sdGhpcy5kaXNjb25uZWN0PWFzeW5jIHI9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmNvbmZpcm1PbmxpbmVTdGF0ZU9yVGhyb3coKSxhd2FpdCB0aGlzLmlzVmFsaWREaXNjb25uZWN0KHIpO2NvbnN0e3RvcGljOm59PXI7aWYodGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzLmluY2x1ZGVzKG4pKWF3YWl0IHRoaXMuc2VuZFJlcXVlc3Qoe3RvcGljOm4sbWV0aG9kOiJ3Y19zZXNzaW9uRGVsZXRlIixwYXJhbXM6bmUoIlVTRVJfRElTQ09OTkVDVEVEIiksdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITB9KSxhd2FpdCB0aGlzLmRlbGV0ZVNlc3Npb24oe3RvcGljOm4sZW1pdEV2ZW50OiExfSk7ZWxzZSBpZih0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhuKSlhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuZGlzY29ubmVjdCh7dG9waWM6bn0pO2Vsc2V7Y29uc3R7bWVzc2FnZTppfT1GKCJNSVNNQVRDSEVEX1RPUElDIixgU2Vzc2lvbiBvciBwYWlyaW5nIHRvcGljIG5vdCBmb3VuZDogJHtufWApO3Rocm93IG5ldyBFcnJvcihpKX19LHRoaXMuZmluZD1yPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5jbGllbnQuc2Vzc2lvbi5nZXRBbGwoKS5maWx0ZXIobj0+QTIobixyKSkpLHRoaXMuZ2V0UGVuZGluZ1Nlc3Npb25SZXF1ZXN0cz0oKT0+dGhpcy5jbGllbnQucGVuZGluZ1JlcXVlc3QuZ2V0QWxsKCksdGhpcy5hdXRoZW50aWNhdGU9YXN5bmMocixuKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMuaXNWYWxpZEF1dGhlbnRpY2F0ZShyKTtjb25zdCBpPW4mJnRoaXMuY2xpZW50LmNvcmUubGlua01vZGVTdXBwb3J0ZWRBcHBzLmluY2x1ZGVzKG4pJiZ0aGlzLmNsaWVudC5tZXRhZGF0YS5yZWRpcmVjdD8ubGlua01vZGUscz1pP3RlLmxpbmtfbW9kZTp0ZS5yZWxheTtzPT09dGUucmVsYXkmJmF3YWl0IHRoaXMuY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpO2NvbnN0e2NoYWluczpvLHN0YXRlbWVudDphPSIiLHVyaTpjLGRvbWFpbjp1LG5vbmNlOmwsdHlwZTpoLGV4cDpmLG5iZjpwLG1ldGhvZHM6ZD1bXSxleHBpcnk6Z309cix5PVsuLi5yLnJlc291cmNlc3x8W11dLHt0b3BpYzp2LHVyaTpBfT1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuY3JlYXRlKHttZXRob2RzOlsid2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZSJdLHRyYW5zcG9ydFR5cGU6c30pO2lmKHRoaXMuY2xpZW50LmxvZ2dlci5pbmZvKHttZXNzYWdlOiJHZW5lcmF0ZWQgbmV3IHBhaXJpbmciLHBhaXJpbmc6e3RvcGljOnYsdXJpOkF9fSksdGhpcy5jbGllbnQuYXV0aC5hdXRoS2V5cy5rZXlzLmluY2x1ZGVzKGt0KSl7Y29uc3R7cmVzcG9uc2VUb3BpYzpPLHB1YmxpY0tleTpJfT10aGlzLmNsaWVudC5hdXRoLmF1dGhLZXlzLmdldChrdCk7TyYmKGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci51bnN1YnNjcmliZShPKS5jYXRjaChOPT50aGlzLmNsaWVudC5sb2dnZXIud2FybihOKSksYXdhaXQgdGhpcy5jbGllbnQuYXV0aC5wYWlyaW5nVG9waWNzLmRlbGV0ZShPLHttZXNzYWdlOiJyZXBsYWNlZCIsY29kZTowfSkuY2F0Y2goTj0+dGhpcy5jbGllbnQubG9nZ2VyLndhcm4oTikpKSxJJiZ0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5rZXljaGFpbi5oYXMoSSkmJmF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmRlbGV0ZUtleVBhaXIoSSl9Y29uc3Qgdz1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZUtleVBhaXIoKSxtPWtpKHcpO2lmKGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLmNsaWVudC5hdXRoLmF1dGhLZXlzLnNldChrdCx7cmVzcG9uc2VUb3BpYzptLHB1YmxpY0tleTp3fSksdGhpcy5jbGllbnQuYXV0aC5wYWlyaW5nVG9waWNzLnNldChtLHt0b3BpYzptLHBhaXJpbmdUb3BpYzp2fSldKSxhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIuc3Vic2NyaWJlKG0se3RyYW5zcG9ydFR5cGU6c30pLHRoaXMuY2xpZW50LmxvZ2dlci5pbmZvKGBzZW5kaW5nIHJlcXVlc3QgdG8gbmV3IHBhaXJpbmcgdG9waWM6ICR7dn1gKSxkLmxlbmd0aD4wKXtjb25zdHtuYW1lc3BhY2U6T309UGkob1swXSk7bGV0IEk9dDIoTywicmVxdWVzdCIsZCk7TGkoeSkmJihJPW4yKEkseS5wb3AoKSkpLHkucHVzaChJKX1jb25zdCBfPWcmJmc+eWUud2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZS5yZXEudHRsP2c6eWUud2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZS5yZXEudHRsLHg9e2F1dGhQYXlsb2FkOnt0eXBlOmg/PyJjYWlwMTIyIixjaGFpbnM6byxzdGF0ZW1lbnQ6YSxhdWQ6Yyxkb21haW46dSx2ZXJzaW9uOiIxIixub25jZTpsLGlhdDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksZXhwOmYsbmJmOnAscmVzb3VyY2VzOnl9LHJlcXVlc3Rlcjp7cHVibGljS2V5OncsbWV0YWRhdGE6dGhpcy5jbGllbnQubWV0YWRhdGF9LGV4cGlyeVRpbWVzdGFtcDpsZShfKX0sVD17ZWlwMTU1OntjaGFpbnM6byxtZXRob2RzOlsuLi5uZXcgU2V0KFsicGVyc29uYWxfc2lnbiIsLi4uZF0pXSxldmVudHM6WyJjaGFpbkNoYW5nZWQiLCJhY2NvdW50c0NoYW5nZWQiXX19LEI9e3JlcXVpcmVkTmFtZXNwYWNlczp7fSxvcHRpb25hbE5hbWVzcGFjZXM6VCxyZWxheXM6W3twcm90b2NvbDoiaXJuIn1dLHBhaXJpbmdUb3BpYzp2LHByb3Bvc2VyOntwdWJsaWNLZXk6dyxtZXRhZGF0YTp0aGlzLmNsaWVudC5tZXRhZGF0YX0sZXhwaXJ5VGltZXN0YW1wOmxlKHllLndjX3Nlc3Npb25Qcm9wb3NlLnJlcS50dGwpLGlkOmd0KCl9LHtkb25lOlAscmVzb2x2ZTpVLHJlamVjdDpMfT1fcihfLCJSZXF1ZXN0IGV4cGlyZWQiKSxDPWd0KCksUz1RKCJzZXNzaW9uX2Nvbm5lY3QiLEIuaWQpLFI9USgic2Vzc2lvbl9yZXF1ZXN0IixDKSxiPWFzeW5jKHtlcnJvcjpPLHNlc3Npb246SX0pPT57dGhpcy5ldmVudHMub2ZmKFIsRSksTz9MKE8pOkkmJlUoe3Nlc3Npb246SX0pfSxFPWFzeW5jIE89PntpZihhd2FpdCB0aGlzLmRlbGV0ZVBlbmRpbmdBdXRoUmVxdWVzdChDLHttZXNzYWdlOiJmdWxmaWxsZWQiLGNvZGU6MH0pLE8uZXJyb3Ipe2NvbnN0IHE9bmUoIldDX01FVEhPRF9VTlNVUFBPUlRFRCIsIndjX3Nlc3Npb25BdXRoZW50aWNhdGUiKTtyZXR1cm4gTy5lcnJvci5jb2RlPT09cS5jb2RlP3ZvaWQgMDoodGhpcy5ldmVudHMub2ZmKFMsYiksTChPLmVycm9yLm1lc3NhZ2UpKX1hd2FpdCB0aGlzLmRlbGV0ZVByb3Bvc2FsKEIuaWQpLHRoaXMuZXZlbnRzLm9mZihTLGIpO2NvbnN0e2NhY2FvczpJLHJlc3BvbmRlcjpOfT1PLnJlc3VsdCwkPVtdLGs9W107Zm9yKGNvbnN0IHEgb2YgSSl7YXdhaXQgQWgoe2NhY2FvOnEscHJvamVjdElkOnRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkfSl8fCh0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IocSwiU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWlsZWQiKSxMKG5lKCJTRVNTSU9OX1NFVFRMRU1FTlRfRkFJTEVEIiwiU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWlsZWQiKSkpO2NvbnN0e3A6Vn09cSxXPUxpKFYucmVzb3VyY2VzKSxHPVtHbyhWLmlzcyldLEg9VWkoVi5pc3MpO2lmKFcpe2NvbnN0IFg9QmgoVyksYWU9UmgoVyk7JC5wdXNoKC4uLlgpLEcucHVzaCguLi5hZSl9Zm9yKGNvbnN0IFggb2YgRylrLnB1c2goYCR7WH06JHtIfWApfWNvbnN0IHo9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZ2VuZXJhdGVTaGFyZWRLZXkodyxOLnB1YmxpY0tleSk7bGV0IGo7JC5sZW5ndGg+MCYmKGo9e3RvcGljOnosYWNrbm93bGVkZ2VkOiEwLHNlbGY6e3B1YmxpY0tleTp3LG1ldGFkYXRhOnRoaXMuY2xpZW50Lm1ldGFkYXRhfSxwZWVyOk4sY29udHJvbGxlcjpOLnB1YmxpY0tleSxleHBpcnk6bGUoUnIpLHJlcXVpcmVkTmFtZXNwYWNlczp7fSxvcHRpb25hbE5hbWVzcGFjZXM6e30scmVsYXk6e3Byb3RvY29sOiJpcm4ifSxwYWlyaW5nVG9waWM6dixuYW1lc3BhY2VzOkhoKFsuLi5uZXcgU2V0KCQpXSxbLi4ubmV3IFNldChrKV0pLHRyYW5zcG9ydFR5cGU6c30sYXdhaXQgdGhpcy5jbGllbnQuY29yZS5yZWxheWVyLnN1YnNjcmliZSh6LHt0cmFuc3BvcnRUeXBlOnN9KSxhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnNldCh6LGopLHYmJmF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy51cGRhdGVNZXRhZGF0YSh7dG9waWM6dixtZXRhZGF0YTpOLm1ldGFkYXRhfSksaj10aGlzLmNsaWVudC5zZXNzaW9uLmdldCh6KSksdGhpcy5jbGllbnQubWV0YWRhdGEucmVkaXJlY3Q/LmxpbmtNb2RlJiZOLm1ldGFkYXRhLnJlZGlyZWN0Py5saW5rTW9kZSYmTi5tZXRhZGF0YS5yZWRpcmVjdD8udW5pdmVyc2FsJiZuJiYodGhpcy5jbGllbnQuY29yZS5hZGRMaW5rTW9kZVN1cHBvcnRlZEFwcChOLm1ldGFkYXRhLnJlZGlyZWN0LnVuaXZlcnNhbCksdGhpcy5jbGllbnQuc2Vzc2lvbi51cGRhdGUoeix7dHJhbnNwb3J0VHlwZTp0ZS5saW5rX21vZGV9KSksVSh7YXV0aHM6SSxzZXNzaW9uOmp9KX07dGhpcy5ldmVudHMub25jZShTLGIpLHRoaXMuZXZlbnRzLm9uY2UoUixFKTtsZXQgRDt0cnl7aWYoaSl7Y29uc3QgTz1VdCgid2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZSIseCxDKTt0aGlzLmNsaWVudC5jb3JlLmhpc3Rvcnkuc2V0KHYsTyk7Y29uc3QgST1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5lbmNvZGUoIiIsTyx7dHlwZTpJcixlbmNvZGluZzpwdH0pO0Q9cWkobix2LEkpfWVsc2UgYXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuc2VuZFJlcXVlc3Qoe3RvcGljOnYsbWV0aG9kOiJ3Y19zZXNzaW9uQXV0aGVudGljYXRlIixwYXJhbXM6eCxleHBpcnk6ci5leHBpcnksdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITAsY2xpZW50UnBjSWQ6Q30pLHRoaXMuc2VuZFJlcXVlc3Qoe3RvcGljOnYsbWV0aG9kOiJ3Y19zZXNzaW9uUHJvcG9zZSIscGFyYW1zOkIsZXhwaXJ5OnllLndjX3Nlc3Npb25Qcm9wb3NlLnJlcS50dGwsdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITAsY2xpZW50UnBjSWQ6Qi5pZH0pXSl9Y2F0Y2goTyl7dGhyb3cgdGhpcy5ldmVudHMub2ZmKFMsYiksdGhpcy5ldmVudHMub2ZmKFIsRSksT31yZXR1cm4gYXdhaXQgdGhpcy5zZXRQcm9wb3NhbChCLmlkLEIpLGF3YWl0IHRoaXMuc2V0QXV0aFJlcXVlc3QoQyx7cmVxdWVzdDp7Li4ueCx2ZXJpZnlDb250ZXh0Ont9fSxwYWlyaW5nVG9waWM6dix0cmFuc3BvcnRUeXBlOnN9KSx7dXJpOkQ/P0EscmVzcG9uc2U6UH19LHRoaXMuYXBwcm92ZVNlc3Npb25BdXRoZW50aWNhdGU9YXN5bmMgcj0+e2NvbnN0e2lkOm4sYXV0aHM6aX09cixzPXRoaXMuY2xpZW50LmNvcmUuZXZlbnRDbGllbnQuY3JlYXRlRXZlbnQoe3Byb3BlcnRpZXM6e3RvcGljOm4udG9TdHJpbmcoKSx0cmFjZTpbVHIuYXV0aGVudGljYXRlZF9zZXNzaW9uX2FwcHJvdmVfc3RhcnRlZF19fSk7dHJ5e3RoaXMuaXNJbml0aWFsaXplZCgpfWNhdGNoKHkpe3Rocm93IHMuc2V0RXJyb3Ioa24ubm9faW50ZXJuZXRfY29ubmVjdGlvbikseX1jb25zdCBvPXRoaXMuZ2V0UGVuZGluZ0F1dGhSZXF1ZXN0KG4pO2lmKCFvKXRocm93IHMuc2V0RXJyb3Ioa24uYXV0aGVudGljYXRlZF9zZXNzaW9uX3BlbmRpbmdfcmVxdWVzdF9ub3RfZm91bmQpLG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgcGVuZGluZyBhdXRoIHJlcXVlc3Qgd2l0aCBpZCAke259YCk7Y29uc3QgYT1vLnRyYW5zcG9ydFR5cGV8fHRlLnJlbGF5O2E9PT10ZS5yZWxheSYmYXdhaXQgdGhpcy5jb25maXJtT25saW5lU3RhdGVPclRocm93KCk7Y29uc3QgYz1vLnJlcXVlc3Rlci5wdWJsaWNLZXksdT1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZUtleVBhaXIoKSxsPWtpKGMpLGg9e3R5cGU6UHQscmVjZWl2ZXJQdWJsaWNLZXk6YyxzZW5kZXJQdWJsaWNLZXk6dX0sZj1bXSxwPVtdO2Zvcihjb25zdCB5IG9mIGkpe2lmKCFhd2FpdCBBaCh7Y2FjYW86eSxwcm9qZWN0SWQ6dGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWR9KSl7cy5zZXRFcnJvcihrbi5pbnZhbGlkX2NhY2FvKTtjb25zdCBfPW5lKCJTRVNTSU9OX1NFVFRMRU1FTlRfRkFJTEVEIiwiU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWlsZWQiKTt0aHJvdyBhd2FpdCB0aGlzLnNlbmRFcnJvcih7aWQ6bix0b3BpYzpsLGVycm9yOl8sZW5jb2RlT3B0czpofSksbmV3IEVycm9yKF8ubWVzc2FnZSl9cy5hZGRUcmFjZShUci5jYWNhb3NfdmVyaWZpZWQpO2NvbnN0e3A6dn09eSxBPUxpKHYucmVzb3VyY2VzKSx3PVtHbyh2LmlzcyldLG09VWkodi5pc3MpO2lmKEEpe2NvbnN0IF89QmgoQSkseD1SaChBKTtmLnB1c2goLi4uXyksdy5wdXNoKC4uLngpfWZvcihjb25zdCBfIG9mIHcpcC5wdXNoKGAke199OiR7bX1gKX1jb25zdCBkPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmdlbmVyYXRlU2hhcmVkS2V5KHUsYyk7cy5hZGRUcmFjZShUci5jcmVhdGVfYXV0aGVudGljYXRlZF9zZXNzaW9uX3RvcGljKTtsZXQgZztpZihmPy5sZW5ndGg+MCl7Zz17dG9waWM6ZCxhY2tub3dsZWRnZWQ6ITAsc2VsZjp7cHVibGljS2V5OnUsbWV0YWRhdGE6dGhpcy5jbGllbnQubWV0YWRhdGF9LHBlZXI6e3B1YmxpY0tleTpjLG1ldGFkYXRhOm8ucmVxdWVzdGVyLm1ldGFkYXRhfSxjb250cm9sbGVyOmMsZXhwaXJ5OmxlKFJyKSxhdXRoZW50aWNhdGlvbjppLHJlcXVpcmVkTmFtZXNwYWNlczp7fSxvcHRpb25hbE5hbWVzcGFjZXM6e30scmVsYXk6e3Byb3RvY29sOiJpcm4ifSxwYWlyaW5nVG9waWM6by5wYWlyaW5nVG9waWMsbmFtZXNwYWNlczpIaChbLi4ubmV3IFNldChmKV0sWy4uLm5ldyBTZXQocCldKSx0cmFuc3BvcnRUeXBlOmF9LHMuYWRkVHJhY2UoVHIuc3Vic2NyaWJpbmdfYXV0aGVudGljYXRlZF9zZXNzaW9uX3RvcGljKTt0cnl7YXdhaXQgdGhpcy5jbGllbnQuY29yZS5yZWxheWVyLnN1YnNjcmliZShkLHt0cmFuc3BvcnRUeXBlOmF9KX1jYXRjaCh5KXt0aHJvdyBzLnNldEVycm9yKGtuLnN1YnNjcmliZV9hdXRoZW50aWNhdGVkX3Nlc3Npb25fdG9waWNfZmFpbHVyZSkseX1zLmFkZFRyYWNlKFRyLnN1YnNjcmliZV9hdXRoZW50aWNhdGVkX3Nlc3Npb25fdG9waWNfc3VjY2VzcyksYXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi5zZXQoZCxnKSxzLmFkZFRyYWNlKFRyLnN0b3JlX2F1dGhlbnRpY2F0ZWRfc2Vzc2lvbiksYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnVwZGF0ZU1ldGFkYXRhKHt0b3BpYzpvLnBhaXJpbmdUb3BpYyxtZXRhZGF0YTpvLnJlcXVlc3Rlci5tZXRhZGF0YX0pfXMuYWRkVHJhY2UoVHIucHVibGlzaGluZ19hdXRoZW50aWNhdGVkX3Nlc3Npb25fYXBwcm92ZSk7dHJ5e2F3YWl0IHRoaXMuc2VuZFJlc3VsdCh7dG9waWM6bCxpZDpuLHJlc3VsdDp7Y2FjYW9zOmkscmVzcG9uZGVyOntwdWJsaWNLZXk6dSxtZXRhZGF0YTp0aGlzLmNsaWVudC5tZXRhZGF0YX19LGVuY29kZU9wdHM6aCx0aHJvd09uRmFpbGVkUHVibGlzaDohMCxhcHBMaW5rOnRoaXMuZ2V0QXBwTGlua0lmRW5hYmxlZChvLnJlcXVlc3Rlci5tZXRhZGF0YSxhKX0pfWNhdGNoKHkpe3Rocm93IHMuc2V0RXJyb3Ioa24uYXV0aGVudGljYXRlZF9zZXNzaW9uX2FwcHJvdmVfcHVibGlzaF9mYWlsdXJlKSx5fXJldHVybiBhd2FpdCB0aGlzLmNsaWVudC5hdXRoLnJlcXVlc3RzLmRlbGV0ZShuLHttZXNzYWdlOiJmdWxmaWxsZWQiLGNvZGU6MH0pLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5hY3RpdmF0ZSh7dG9waWM6by5wYWlyaW5nVG9waWN9KSx0aGlzLmNsaWVudC5jb3JlLmV2ZW50Q2xpZW50LmRlbGV0ZUV2ZW50KHtldmVudElkOnMuZXZlbnRJZH0pLHtzZXNzaW9uOmd9fSx0aGlzLnJlamVjdFNlc3Npb25BdXRoZW50aWNhdGU9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0e2lkOm4scmVhc29uOml9PXIscz10aGlzLmdldFBlbmRpbmdBdXRoUmVxdWVzdChuKTtpZighcyl0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIHBlbmRpbmcgYXV0aCByZXF1ZXN0IHdpdGggaWQgJHtufWApO3MudHJhbnNwb3J0VHlwZT09PXRlLnJlbGF5JiZhd2FpdCB0aGlzLmNvbmZpcm1PbmxpbmVTdGF0ZU9yVGhyb3coKTtjb25zdCBvPXMucmVxdWVzdGVyLnB1YmxpY0tleSxhPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmdlbmVyYXRlS2V5UGFpcigpLGM9a2kobyksdT17dHlwZTpQdCxyZWNlaXZlclB1YmxpY0tleTpvLHNlbmRlclB1YmxpY0tleTphfTthd2FpdCB0aGlzLnNlbmRFcnJvcih7aWQ6bix0b3BpYzpjLGVycm9yOmksZW5jb2RlT3B0czp1LHJwY09wdHM6eWUud2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZS5yZWplY3QsYXBwTGluazp0aGlzLmdldEFwcExpbmtJZkVuYWJsZWQocy5yZXF1ZXN0ZXIubWV0YWRhdGEscy50cmFuc3BvcnRUeXBlKX0pLGF3YWl0IHRoaXMuY2xpZW50LmF1dGgucmVxdWVzdHMuZGVsZXRlKG4se21lc3NhZ2U6InJlamVjdGVkIixjb2RlOjB9KSxhd2FpdCB0aGlzLmRlbGV0ZVByb3Bvc2FsKG4pfSx0aGlzLmZvcm1hdEF1dGhNZXNzYWdlPXI9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdHtyZXF1ZXN0Om4saXNzOml9PXI7cmV0dXJuIE9oKG4saSl9LHRoaXMucHJvY2Vzc1JlbGF5TWVzc2FnZUNhY2hlPSgpPT57c2V0VGltZW91dChhc3luYygpPT57aWYodGhpcy5yZWxheU1lc3NhZ2VDYWNoZS5sZW5ndGghPT0wKWZvcig7dGhpcy5yZWxheU1lc3NhZ2VDYWNoZS5sZW5ndGg+MDspdHJ5e2NvbnN0IHI9dGhpcy5yZWxheU1lc3NhZ2VDYWNoZS5zaGlmdCgpO3ImJmF3YWl0IHRoaXMub25SZWxheU1lc3NhZ2Uocil9Y2F0Y2gocil7dGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKHIpfX0sNTApfSx0aGlzLmNsZWFudXBEdXBsaWNhdGVQYWlyaW5ncz1hc3luYyByPT57aWYoci5wYWlyaW5nVG9waWMpdHJ5e2NvbnN0IG49dGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmdldChyLnBhaXJpbmdUb3BpYyksaT10aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGFpcmluZ3MuZ2V0QWxsKCkuZmlsdGVyKHM9PnMucGVlck1ldGFkYXRhPy51cmwmJnMucGVlck1ldGFkYXRhPy51cmw9PT1yLnBlZXIubWV0YWRhdGEudXJsJiZzLnRvcGljJiZzLnRvcGljIT09bi50b3BpYyk7aWYoaS5sZW5ndGg9PT0wKXJldHVybjt0aGlzLmNsaWVudC5sb2dnZXIuaW5mbyhgQ2xlYW5pbmcgdXAgJHtpLmxlbmd0aH0gZHVwbGljYXRlIHBhaXJpbmcocylgKSxhd2FpdCBQcm9taXNlLmFsbChpLm1hcChzPT50aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuZGlzY29ubmVjdCh7dG9waWM6cy50b3BpY30pKSksdGhpcy5jbGllbnQubG9nZ2VyLmluZm8oIkR1cGxpY2F0ZSBwYWlyaW5ncyBjbGVhbiB1cCBmaW5pc2hlZCIpfWNhdGNoKG4pe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihuKX19LHRoaXMuZGVsZXRlU2Vzc2lvbj1hc3luYyByPT57Y29uc3R7dG9waWM6bixleHBpcmVySGFzRGVsZXRlZDppPSExLGVtaXRFdmVudDpzPSEwLGlkOm89MH09cix7c2VsZjphfT10aGlzLmNsaWVudC5zZXNzaW9uLmdldChuKTthd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIudW5zdWJzY3JpYmUobiksYXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi5kZWxldGUobixuZSgiVVNFUl9ESVNDT05ORUNURUQiKSksdGhpcy5hZGRUb1JlY2VudGx5RGVsZXRlZChuLCJzZXNzaW9uIiksdGhpcy5jbGllbnQuY29yZS5jcnlwdG8ua2V5Y2hhaW4uaGFzKGEucHVibGljS2V5KSYmYXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZGVsZXRlS2V5UGFpcihhLnB1YmxpY0tleSksdGhpcy5jbGllbnQuY29yZS5jcnlwdG8ua2V5Y2hhaW4uaGFzKG4pJiZhd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5kZWxldGVTeW1LZXkobiksaXx8dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLmRlbChuKSx0aGlzLmNsaWVudC5jb3JlLnN0b3JhZ2UucmVtb3ZlSXRlbShkYSkuY2F0Y2goYz0+dGhpcy5jbGllbnQubG9nZ2VyLndhcm4oYykpLG49PT10aGlzLnNlc3Npb25SZXF1ZXN0UXVldWUucXVldWVbMF0/LnRvcGljJiYodGhpcy5zZXNzaW9uUmVxdWVzdFF1ZXVlLnN0YXRlPW90LmlkbGUpLGF3YWl0IFByb21pc2UuYWxsKHRoaXMuZ2V0UGVuZGluZ1Nlc3Npb25SZXF1ZXN0cygpLmZpbHRlcihjPT5jLnRvcGljPT09bikubWFwKGM9PnRoaXMuZGVsZXRlUGVuZGluZ1Nlc3Npb25SZXF1ZXN0KGMuaWQsbmUoIlVTRVJfRElTQ09OTkVDVEVEIikpKSkscyYmdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fZGVsZXRlIix7aWQ6byx0b3BpYzpufSl9LHRoaXMuZGVsZXRlUHJvcG9zYWw9YXN5bmMocixuKT0+e2lmKG4pdHJ5e2NvbnN0IGk9dGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KHIpO3RoaXMuY2xpZW50LmNvcmUuZXZlbnRDbGllbnQuZ2V0RXZlbnQoe3RvcGljOmkucGFpcmluZ1RvcGljfSk/LnNldEVycm9yKE9yLnByb3Bvc2FsX2V4cGlyZWQpfWNhdGNoe31hd2FpdCBQcm9taXNlLmFsbChbdGhpcy5jbGllbnQucHJvcG9zYWwuZGVsZXRlKHIsbmUoIlVTRVJfRElTQ09OTkVDVEVEIikpLG4/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLmRlbChyKV0pLHRoaXMuYWRkVG9SZWNlbnRseURlbGV0ZWQociwicHJvcG9zYWwiKX0sdGhpcy5kZWxldGVQZW5kaW5nU2Vzc2lvblJlcXVlc3Q9YXN5bmMocixuLGk9ITEpPT57YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuY2xpZW50LnBlbmRpbmdSZXF1ZXN0LmRlbGV0ZShyLG4pLGk/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLmRlbChyKV0pLHRoaXMuYWRkVG9SZWNlbnRseURlbGV0ZWQociwicmVxdWVzdCIpLHRoaXMuc2Vzc2lvblJlcXVlc3RRdWV1ZS5xdWV1ZT10aGlzLnNlc3Npb25SZXF1ZXN0UXVldWUucXVldWUuZmlsdGVyKHM9PnMuaWQhPT1yKSxpJiYodGhpcy5zZXNzaW9uUmVxdWVzdFF1ZXVlLnN0YXRlPW90LmlkbGUsdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fcmVxdWVzdF9leHBpcmUiLHtpZDpyfSkpfSx0aGlzLmRlbGV0ZVBlbmRpbmdBdXRoUmVxdWVzdD1hc3luYyhyLG4saT0hMSk9Pnthd2FpdCBQcm9taXNlLmFsbChbdGhpcy5jbGllbnQuYXV0aC5yZXF1ZXN0cy5kZWxldGUocixuKSxpP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5kZWwocildKX0sdGhpcy5zZXRFeHBpcnk9YXN5bmMocixuKT0+e3RoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5pbmNsdWRlcyhyKSYmKHRoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5zZXQocixuKSxhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnVwZGF0ZShyLHtleHBpcnk6bn0pKX0sdGhpcy5zZXRQcm9wb3NhbD1hc3luYyhyLG4pPT57dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLnNldChyLGxlKHllLndjX3Nlc3Npb25Qcm9wb3NlLnJlcS50dGwpKSxhd2FpdCB0aGlzLmNsaWVudC5wcm9wb3NhbC5zZXQocixuKX0sdGhpcy5zZXRBdXRoUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7cmVxdWVzdDppLHBhaXJpbmdUb3BpYzpzLHRyYW5zcG9ydFR5cGU6bz10ZS5yZWxheX09bjt0aGlzLmNsaWVudC5jb3JlLmV4cGlyZXIuc2V0KHIsaS5leHBpcnlUaW1lc3RhbXApLGF3YWl0IHRoaXMuY2xpZW50LmF1dGgucmVxdWVzdHMuc2V0KHIse2F1dGhQYXlsb2FkOmkuYXV0aFBheWxvYWQscmVxdWVzdGVyOmkucmVxdWVzdGVyLGV4cGlyeVRpbWVzdGFtcDppLmV4cGlyeVRpbWVzdGFtcCxpZDpyLHBhaXJpbmdUb3BpYzpzLHZlcmlmeUNvbnRleHQ6aS52ZXJpZnlDb250ZXh0LHRyYW5zcG9ydFR5cGU6b30pfSx0aGlzLnNldFBlbmRpbmdTZXNzaW9uUmVxdWVzdD1hc3luYyByPT57Y29uc3R7aWQ6bix0b3BpYzppLHBhcmFtczpzLHZlcmlmeUNvbnRleHQ6b309cixhPXMucmVxdWVzdC5leHBpcnlUaW1lc3RhbXB8fGxlKHllLndjX3Nlc3Npb25SZXF1ZXN0LnJlcS50dGwpO3RoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5zZXQobixhKSxhd2FpdCB0aGlzLmNsaWVudC5wZW5kaW5nUmVxdWVzdC5zZXQobix7aWQ6bix0b3BpYzppLHBhcmFtczpzLHZlcmlmeUNvbnRleHQ6b30pfSx0aGlzLnNlbmRSZXF1ZXN0PWFzeW5jIHI9Pntjb25zdHt0b3BpYzpuLG1ldGhvZDppLHBhcmFtczpzLGV4cGlyeTpvLHJlbGF5UnBjSWQ6YSxjbGllbnRScGNJZDpjLHRocm93T25GYWlsZWRQdWJsaXNoOnUsYXBwTGluazpsLHR2ZjpoLHB1Ymxpc2hPcHRzOmY9e319PXIscD1VdChpLHMsYyk7bGV0IGQ7Y29uc3QgZz0hIWw7dHJ5e2NvbnN0IEE9Zz9wdDpFZTtkPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmVuY29kZShuLHAse2VuY29kaW5nOkF9KX1jYXRjaChBKXt0aHJvdyBhd2FpdCB0aGlzLmNsZWFudXAoKSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoYHNlbmRSZXF1ZXN0KCkgLT4gY29yZS5jcnlwdG8uZW5jb2RlKCkgZm9yIHRvcGljICR7bn0gZmFpbGVkYCksQX1sZXQgeTtpZihUZi5pbmNsdWRlcyhpKSl7Y29uc3QgQT1XZShKU09OLnN0cmluZ2lmeShwKSksdz1XZShkKTt5PWF3YWl0IHRoaXMuY2xpZW50LmNvcmUudmVyaWZ5LnJlZ2lzdGVyKHtpZDp3LGRlY3J5cHRlZElkOkF9KX1jb25zdCB2PXsuLi55ZVtpXS5yZXEsLi4uZn07aWYodi5hdHRlc3RhdGlvbj15LG8mJih2LnR0bD1vKSxhJiYodi5pZD1hKSx0aGlzLmNsaWVudC5jb3JlLmhpc3Rvcnkuc2V0KG4scCksZyl7Y29uc3QgQT1xaShsLG4sZCk7YXdhaXQgZ2xvYmFsLkxpbmtpbmcub3BlblVSTChBLHRoaXMuY2xpZW50Lm5hbWUpfWVsc2Ugdi50dmY9ey4uLmgsY29ycmVsYXRpb25JZDpwLmlkfSx1Pyh2LmludGVybmFsPXsuLi52LmludGVybmFsLHRocm93T25GYWlsZWRQdWJsaXNoOiEwfSxhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIucHVibGlzaChuLGQsdikpOnRoaXMuY2xpZW50LmNvcmUucmVsYXllci5wdWJsaXNoKG4sZCx2KS5jYXRjaChBPT50aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoQSkpO3JldHVybiBwLmlkfSx0aGlzLnNlbmRQcm9wb3NlU2Vzc2lvbj1hc3luYyByPT57Y29uc3R7cHJvcG9zYWw6bixwdWJsaXNoT3B0czppfT1yLHM9VXQoIndjX3Nlc3Npb25Qcm9wb3NlIixuLG4uaWQpO3RoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5zZXQobi5wYWlyaW5nVG9waWMscyk7Y29uc3Qgbz1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5lbmNvZGUobi5wYWlyaW5nVG9waWMscyx7ZW5jb2Rpbmc6RWV9KSxhPVdlKEpTT04uc3RyaW5naWZ5KHMpKSxjPVdlKG8pLHU9YXdhaXQgdGhpcy5jbGllbnQuY29yZS52ZXJpZnkucmVnaXN0ZXIoe2lkOmMsZGVjcnlwdGVkSWQ6YX0pO2F3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5wdWJsaXNoQ3VzdG9tKHtwYXlsb2FkOntwYWlyaW5nVG9waWM6bi5wYWlyaW5nVG9waWMsc2Vzc2lvblByb3Bvc2FsOm99LG9wdHM6ey4uLmkscHVibGlzaE1ldGhvZDoid2NfcHJvcG9zZVNlc3Npb24iLGF0dGVzdGF0aW9uOnV9fSl9LHRoaXMuc2VuZEFwcHJvdmVTZXNzaW9uPWFzeW5jIHI9Pntjb25zdHtzZXNzaW9uVG9waWM6bixwYWlyaW5nUHJvcG9zYWxSZXNwb25zZTppLHByb3Bvc2FsOnMsc2Vzc2lvblNldHRsZVJlcXVlc3Q6byxwdWJsaXNoT3B0czphfT1yLGM9S2kocy5pZCxpKSx1PWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmVuY29kZShzLnBhaXJpbmdUb3BpYyxjLHtlbmNvZGluZzpFZX0pLGw9VXQoIndjX3Nlc3Npb25TZXR0bGUiLG8sYT8uaWQpLGg9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZW5jb2RlKG4sbCx7ZW5jb2Rpbmc6RWV9KTt0aGlzLmNsaWVudC5jb3JlLmhpc3Rvcnkuc2V0KG4sbCksYXdhaXQgdGhpcy5jbGllbnQuY29yZS5yZWxheWVyLnB1Ymxpc2hDdXN0b20oe3BheWxvYWQ6e3Nlc3Npb25Ub3BpYzpuLHBhaXJpbmdUb3BpYzpzLnBhaXJpbmdUb3BpYyxzZXNzaW9uUHJvcG9zYWxSZXNwb25zZTp1LHNlc3Npb25TZXR0bGVtZW50UmVxdWVzdDpofSxvcHRzOnsuLi5hLHB1Ymxpc2hNZXRob2Q6IndjX2FwcHJvdmVTZXNzaW9uIn19KX0sdGhpcy5zZW5kUmVzdWx0PWFzeW5jIHI9Pntjb25zdHtpZDpuLHRvcGljOmkscmVzdWx0OnMsdGhyb3dPbkZhaWxlZFB1Ymxpc2g6byxlbmNvZGVPcHRzOmEsYXBwTGluazpjfT1yLHU9S2kobixzKTtsZXQgbDtjb25zdCBoPWMmJnR5cGVvZiBnbG9iYWw/Lkxpbmtpbmc8InUiO3RyeXtjb25zdCBkPWg/cHQ6RWU7bD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5lbmNvZGUoaSx1LHsuLi5hfHx7fSxlbmNvZGluZzpkfSl9Y2F0Y2goZCl7dGhyb3cgYXdhaXQgdGhpcy5jbGVhbnVwKCksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGBzZW5kUmVzdWx0KCkgLT4gY29yZS5jcnlwdG8uZW5jb2RlKCkgZm9yIHRvcGljICR7aX0gZmFpbGVkYCksZH1sZXQgZixwO3RyeXtmPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5nZXQoaSxuKTtjb25zdCBkPWYucmVxdWVzdDt0cnl7cD10aGlzLmdldFRWRlBhcmFtcyhuLGQucGFyYW1zLHMpfWNhdGNoKGcpe3RoaXMuY2xpZW50LmxvZ2dlci53YXJuKGBzZW5kUmVzdWx0KCkgLT4gZ2V0VFZGUGFyYW1zKCkgZmFpbGVkOiAke2c/Lm1lc3NhZ2V9YCl9fWNhdGNoKGQpe3Rocm93IHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihgc2VuZFJlc3VsdCgpIC0+IGhpc3RvcnkuZ2V0KCR7aX0sICR7bn0pIGZhaWxlZGApLGR9aWYoaCl7Y29uc3QgZD1xaShjLGksbCk7YXdhaXQgZ2xvYmFsLkxpbmtpbmcub3BlblVSTChkLHRoaXMuY2xpZW50Lm5hbWUpfWVsc2V7Y29uc3QgZD1mLnJlcXVlc3QubWV0aG9kLGc9eWVbZF0ucmVzO2cudHZmPXsuLi5wLGNvcnJlbGF0aW9uSWQ6bn0sbz8oZy5pbnRlcm5hbD17Li4uZy5pbnRlcm5hbCx0aHJvd09uRmFpbGVkUHVibGlzaDohMH0sYXdhaXQgdGhpcy5jbGllbnQuY29yZS5yZWxheWVyLnB1Ymxpc2goaSxsLGcpKTp0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIucHVibGlzaChpLGwsZykuY2F0Y2goeT0+dGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKHkpKX1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmhpc3RvcnkucmVzb2x2ZSh1KX0sdGhpcy5zZW5kRXJyb3I9YXN5bmMgcj0+e2NvbnN0e2lkOm4sdG9waWM6aSxlcnJvcjpzLGVuY29kZU9wdHM6byxycGNPcHRzOmEsYXBwTGluazpjfT1yLHU9c2EobixzKTtsZXQgbDtjb25zdCBoPWMmJnR5cGVvZiBnbG9iYWw/Lkxpbmtpbmc8InUiO3RyeXtjb25zdCBwPWg/cHQ6RWU7bD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5lbmNvZGUoaSx1LHsuLi5vfHx7fSxlbmNvZGluZzpwfSl9Y2F0Y2gocCl7dGhyb3cgYXdhaXQgdGhpcy5jbGVhbnVwKCksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGBzZW5kRXJyb3IoKSAtPiBjb3JlLmNyeXB0by5lbmNvZGUoKSBmb3IgdG9waWMgJHtpfSBmYWlsZWRgKSxwfWxldCBmO3RyeXtmPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5nZXQoaSxuKX1jYXRjaChwKXt0aHJvdyB0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoYHNlbmRFcnJvcigpIC0+IGhpc3RvcnkuZ2V0KCR7aX0sICR7bn0pIGZhaWxlZGApLHB9aWYoaCl7Y29uc3QgcD1xaShjLGksbCk7YXdhaXQgZ2xvYmFsLkxpbmtpbmcub3BlblVSTChwLHRoaXMuY2xpZW50Lm5hbWUpfWVsc2V7Y29uc3QgcD1mLnJlcXVlc3QubWV0aG9kLGQ9YXx8eWVbcF0ucmVzO3RoaXMuY2xpZW50LmNvcmUucmVsYXllci5wdWJsaXNoKGksbCxkKX1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmhpc3RvcnkucmVzb2x2ZSh1KX0sdGhpcy5jbGVhbnVwPWFzeW5jKCk9Pntjb25zdCByPVtdLG49W107dGhpcy5jbGllbnQuc2Vzc2lvbi5nZXRBbGwoKS5mb3JFYWNoKGk9PntsZXQgcz0hMTtvcihpLmV4cGlyeSkmJihzPSEwKSx0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5rZXljaGFpbi5oYXMoaS50b3BpYyl8fChzPSEwKSxzJiZyLnB1c2goaS50b3BpYyl9KSx0aGlzLmNsaWVudC5wcm9wb3NhbC5nZXRBbGwoKS5mb3JFYWNoKGk9PntvcihpLmV4cGlyeVRpbWVzdGFtcCkmJm4ucHVzaChpLmlkKX0pLGF3YWl0IFByb21pc2UuYWxsKFsuLi5yLm1hcChpPT50aGlzLmRlbGV0ZVNlc3Npb24oe3RvcGljOml9KSksLi4ubi5tYXAoaT0+dGhpcy5kZWxldGVQcm9wb3NhbChpKSldKX0sdGhpcy5vblByb3ZpZGVyTWVzc2FnZUV2ZW50PWFzeW5jIHI9PnshdGhpcy5pbml0aWFsaXplZHx8dGhpcy5yZWxheU1lc3NhZ2VDYWNoZS5sZW5ndGg+MD90aGlzLnJlbGF5TWVzc2FnZUNhY2hlLnB1c2gocik6YXdhaXQgdGhpcy5vblJlbGF5TWVzc2FnZShyKX0sdGhpcy5vblJlbGF5RXZlbnRSZXF1ZXN0PWFzeW5jIHI9Pnt0aGlzLnJlcXVlc3RRdWV1ZS5xdWV1ZS5wdXNoKHIpLGF3YWl0IHRoaXMucHJvY2Vzc1JlcXVlc3RzUXVldWUoKX0sdGhpcy5wcm9jZXNzUmVxdWVzdHNRdWV1ZT1hc3luYygpPT57aWYodGhpcy5yZXF1ZXN0UXVldWUuc3RhdGU9PT1vdC5hY3RpdmUpe3RoaXMuY2xpZW50LmxvZ2dlci5pbmZvKCJSZXF1ZXN0IHF1ZXVlIGFscmVhZHkgYWN0aXZlLCBza2lwcGluZy4uLiIpO3JldHVybn1mb3IodGhpcy5jbGllbnQubG9nZ2VyLmluZm8oYFJlcXVlc3QgcXVldWUgc3RhcnRpbmcgd2l0aCAke3RoaXMucmVxdWVzdFF1ZXVlLnF1ZXVlLmxlbmd0aH0gcmVxdWVzdHNgKTt0aGlzLnJlcXVlc3RRdWV1ZS5xdWV1ZS5sZW5ndGg+MDspe3RoaXMucmVxdWVzdFF1ZXVlLnN0YXRlPW90LmFjdGl2ZTtjb25zdCByPXRoaXMucmVxdWVzdFF1ZXVlLnF1ZXVlLnNoaWZ0KCk7aWYocil0cnl7YXdhaXQgdGhpcy5wcm9jZXNzUmVxdWVzdChyKX1jYXRjaChuKXt0aGlzLmNsaWVudC5sb2dnZXIud2FybihuKX19dGhpcy5yZXF1ZXN0UXVldWUuc3RhdGU9b3QuaWRsZX0sdGhpcy5wcm9jZXNzUmVxdWVzdD1hc3luYyByPT57Y29uc3R7dG9waWM6bixwYXlsb2FkOmksYXR0ZXN0YXRpb246cyx0cmFuc3BvcnRUeXBlOm8sZW5jcnlwdGVkSWQ6YX09cixjPWkubWV0aG9kO2lmKCF0aGlzLnNob3VsZElnbm9yZVBhaXJpbmdSZXF1ZXN0KHt0b3BpYzpuLHJlcXVlc3RNZXRob2Q6Y30pKXN3aXRjaChjKXtjYXNlIndjX3Nlc3Npb25Qcm9wb3NlIjpyZXR1cm4gYXdhaXQgdGhpcy5vblNlc3Npb25Qcm9wb3NlUmVxdWVzdCh7dG9waWM6bixwYXlsb2FkOmksYXR0ZXN0YXRpb246cyxlbmNyeXB0ZWRJZDphfSk7Y2FzZSJ3Y19zZXNzaW9uU2V0dGxlIjpyZXR1cm4gYXdhaXQgdGhpcy5vblNlc3Npb25TZXR0bGVSZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uVXBkYXRlIjpyZXR1cm4gYXdhaXQgdGhpcy5vblNlc3Npb25VcGRhdGVSZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uRXh0ZW5kIjpyZXR1cm4gYXdhaXQgdGhpcy5vblNlc3Npb25FeHRlbmRSZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uUGluZyI6cmV0dXJuIGF3YWl0IHRoaXMub25TZXNzaW9uUGluZ1JlcXVlc3QobixpKTtjYXNlIndjX3Nlc3Npb25EZWxldGUiOnJldHVybiBhd2FpdCB0aGlzLm9uU2Vzc2lvbkRlbGV0ZVJlcXVlc3QobixpKTtjYXNlIndjX3Nlc3Npb25SZXF1ZXN0IjpyZXR1cm4gYXdhaXQgdGhpcy5vblNlc3Npb25SZXF1ZXN0KHt0b3BpYzpuLHBheWxvYWQ6aSxhdHRlc3RhdGlvbjpzLGVuY3J5cHRlZElkOmEsdHJhbnNwb3J0VHlwZTpvfSk7Y2FzZSJ3Y19zZXNzaW9uRXZlbnQiOnJldHVybiBhd2FpdCB0aGlzLm9uU2Vzc2lvbkV2ZW50UmVxdWVzdChuLGkpO2Nhc2Uid2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZSI6cmV0dXJuIGF3YWl0IHRoaXMub25TZXNzaW9uQXV0aGVudGljYXRlUmVxdWVzdCh7dG9waWM6bixwYXlsb2FkOmksYXR0ZXN0YXRpb246cyxlbmNyeXB0ZWRJZDphLHRyYW5zcG9ydFR5cGU6b30pO2RlZmF1bHQ6cmV0dXJuIHRoaXMuY2xpZW50LmxvZ2dlci5pbmZvKGBVbnN1cHBvcnRlZCByZXF1ZXN0IG1ldGhvZCAke2N9YCl9fSx0aGlzLm9uUmVsYXlFdmVudFJlc3BvbnNlPWFzeW5jIHI9Pntjb25zdHt0b3BpYzpuLHBheWxvYWQ6aSx0cmFuc3BvcnRUeXBlOnN9PXIsbz0oYXdhaXQgdGhpcy5jbGllbnQuY29yZS5oaXN0b3J5LmdldChuLGkuaWQpKS5yZXF1ZXN0Lm1ldGhvZDtzd2l0Y2gobyl7Y2FzZSJ3Y19zZXNzaW9uUHJvcG9zZSI6cmV0dXJuIHRoaXMub25TZXNzaW9uUHJvcG9zZVJlc3BvbnNlKG4saSxzKTtjYXNlIndjX3Nlc3Npb25TZXR0bGUiOnJldHVybiB0aGlzLm9uU2Vzc2lvblNldHRsZVJlc3BvbnNlKG4saSk7Y2FzZSJ3Y19zZXNzaW9uVXBkYXRlIjpyZXR1cm4gdGhpcy5vblNlc3Npb25VcGRhdGVSZXNwb25zZShuLGkpO2Nhc2Uid2Nfc2Vzc2lvbkV4dGVuZCI6cmV0dXJuIHRoaXMub25TZXNzaW9uRXh0ZW5kUmVzcG9uc2UobixpKTtjYXNlIndjX3Nlc3Npb25QaW5nIjpyZXR1cm4gdGhpcy5vblNlc3Npb25QaW5nUmVzcG9uc2UobixpKTtjYXNlIndjX3Nlc3Npb25SZXF1ZXN0IjpyZXR1cm4gdGhpcy5vblNlc3Npb25SZXF1ZXN0UmVzcG9uc2UobixpKTtjYXNlIndjX3Nlc3Npb25BdXRoZW50aWNhdGUiOnJldHVybiB0aGlzLm9uU2Vzc2lvbkF1dGhlbnRpY2F0ZVJlc3BvbnNlKG4saSk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jbGllbnQubG9nZ2VyLmluZm8oYFVuc3VwcG9ydGVkIHJlc3BvbnNlIG1ldGhvZCAke299YCl9fSx0aGlzLm9uUmVsYXlFdmVudFVua25vd25QYXlsb2FkPXI9Pntjb25zdHt0b3BpYzpufT1yLHttZXNzYWdlOml9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYERlY29kZWQgcGF5bG9hZCBvbiB0b3BpYyAke259IGlzIG5vdCBpZGVudGlmaWFibGUgYXMgYSBKU09OLVJQQyByZXF1ZXN0IG9yIGEgcmVzcG9uc2UuYCk7dGhyb3cgbmV3IEVycm9yKGkpfSx0aGlzLnNob3VsZElnbm9yZVBhaXJpbmdSZXF1ZXN0PXI9Pntjb25zdHt0b3BpYzpuLHJlcXVlc3RNZXRob2Q6aX09cixzPXRoaXMuZXhwZWN0ZWRQYWlyaW5nTWV0aG9kTWFwLmdldChuKTtyZXR1cm4hc3x8cy5pbmNsdWRlcyhpKT8hMTohIShzLmluY2x1ZGVzKCJ3Y19zZXNzaW9uQXV0aGVudGljYXRlIikmJnRoaXMuY2xpZW50LmV2ZW50cy5saXN0ZW5lckNvdW50KCJzZXNzaW9uX2F1dGhlbnRpY2F0ZSIpPjApfSx0aGlzLm9uU2Vzc2lvblByb3Bvc2VSZXF1ZXN0PWFzeW5jIHI9Pntjb25zdHt0b3BpYzpuLHBheWxvYWQ6aSxhdHRlc3RhdGlvbjpzLGVuY3J5cHRlZElkOm99PXIse3BhcmFtczphLGlkOmN9PWk7dHJ5e2NvbnN0IHU9dGhpcy5jbGllbnQuY29yZS5ldmVudENsaWVudC5nZXRFdmVudCh7dG9waWM6bn0pO3RoaXMuY2xpZW50LmV2ZW50cy5saXN0ZW5lckNvdW50KCJzZXNzaW9uX3Byb3Bvc2FsIik9PT0wJiYoY29uc29sZS53YXJuKCJObyBsaXN0ZW5lciBmb3Igc2Vzc2lvbl9wcm9wb3NhbCBldmVudCIpLHU/LnNldEVycm9yKEx0LnByb3Bvc2FsX2xpc3RlbmVyX25vdF9mb3VuZCkpLHRoaXMuaXNWYWxpZENvbm5lY3Qoey4uLmkucGFyYW1zfSk7Y29uc3QgbD1hLmV4cGlyeVRpbWVzdGFtcHx8bGUoeWUud2Nfc2Vzc2lvblByb3Bvc2UucmVxLnR0bCksaD17aWQ6YyxwYWlyaW5nVG9waWM6bixleHBpcnlUaW1lc3RhbXA6bCxhdHRlc3RhdGlvbjpzLGVuY3J5cHRlZElkOm8sLi4uYX07YXdhaXQgdGhpcy5zZXRQcm9wb3NhbChjLGgpO2NvbnN0IGY9YXdhaXQgdGhpcy5nZXRWZXJpZnlDb250ZXh0KHthdHRlc3RhdGlvbklkOnMsaGFzaDpXZShKU09OLnN0cmluZ2lmeShpKSksZW5jcnlwdGVkSWQ6byxtZXRhZGF0YTpoLnByb3Bvc2VyLm1ldGFkYXRhfSk7dT8uYWRkVHJhY2UobXQuZW1pdF9zZXNzaW9uX3Byb3Bvc2FsKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgic2Vzc2lvbl9wcm9wb3NhbCIse2lkOmMscGFyYW1zOmgsdmVyaWZ5Q29udGV4dDpmfSl9Y2F0Y2godSl7YXdhaXQgdGhpcy5zZW5kRXJyb3Ioe2lkOmMsdG9waWM6bixlcnJvcjp1LHJwY09wdHM6eWUud2Nfc2Vzc2lvblByb3Bvc2UuYXV0b1JlamVjdH0pLHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcih1KX19LHRoaXMub25TZXNzaW9uUHJvcG9zZVJlc3BvbnNlPWFzeW5jKHIsbixpKT0+e2NvbnN0e2lkOnN9PW47aWYoeXQobikpe2NvbnN0e3Jlc3VsdDpvfT1uO3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6Im9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZSIscmVzdWx0Om99KTtjb25zdCBhPXRoaXMuY2xpZW50LnByb3Bvc2FsLmdldChzKTt0aGlzLmNsaWVudC5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJvblNlc3Npb25Qcm9wb3NlUmVzcG9uc2UiLHByb3Bvc2FsOmF9KTtjb25zdCBjPWEucHJvcG9zZXIucHVibGljS2V5O3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6Im9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZSIsc2VsZlB1YmxpY0tleTpjfSk7Y29uc3QgdT1vLnJlc3BvbmRlclB1YmxpY0tleTt0aGlzLmNsaWVudC5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJvblNlc3Npb25Qcm9wb3NlUmVzcG9uc2UiLHBlZXJQdWJsaWNLZXk6dX0pO2NvbnN0IGw9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZ2VuZXJhdGVTaGFyZWRLZXkoYyx1KTt0aGlzLnBlbmRpbmdTZXNzaW9ucy5zZXQocyx7c2Vzc2lvblRvcGljOmwscGFpcmluZ1RvcGljOnIscHJvcG9zYWxJZDpzLHB1YmxpY0tleTpjfSk7Y29uc3QgaD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIuc3Vic2NyaWJlKGwse3RyYW5zcG9ydFR5cGU6aX0pO3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6Im9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZSIsc3Vic2NyaXB0aW9uSWQ6aH0pLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5hY3RpdmF0ZSh7dG9waWM6cn0pfWVsc2UgaWYoR2Uobikpe2F3YWl0IHRoaXMuZGVsZXRlUHJvcG9zYWwocyk7Y29uc3Qgbz1RKCJzZXNzaW9uX2Nvbm5lY3QiLHMpO2lmKHRoaXMuZXZlbnRzLmxpc3RlbmVyQ291bnQobyk9PT0wKXRocm93IG5ldyBFcnJvcihgZW1pdHRpbmcgJHtvfSB3aXRob3V0IGFueSBsaXN0ZW5lcnMsIDk1NGApO3RoaXMuZXZlbnRzLmVtaXQobyx7ZXJyb3I6bi5lcnJvcn0pfX0sdGhpcy5vblNlc3Npb25TZXR0bGVSZXF1ZXN0PWFzeW5jKHIsbik9Pntjb25zdHtpZDppLHBhcmFtczpzfT1uO3RyeXt0aGlzLmlzVmFsaWRTZXNzaW9uU2V0dGxlUmVxdWVzdChzKTtjb25zdHtyZWxheTpvLGNvbnRyb2xsZXI6YSxleHBpcnk6YyxuYW1lc3BhY2VzOnUsc2Vzc2lvblByb3BlcnRpZXM6bCxzY29wZWRQcm9wZXJ0aWVzOmgsc2Vzc2lvbkNvbmZpZzpmLHByb3Bvc2FsUmVxdWVzdHNSZXNwb25zZXM6cH09bi5wYXJhbXMsZD1bLi4udGhpcy5wZW5kaW5nU2Vzc2lvbnMudmFsdWVzKCldLmZpbmQodj0+di5zZXNzaW9uVG9waWM9PT1yKTtpZighZClyZXR1cm4gdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGBQZW5kaW5nIHNlc3Npb24gbm90IGZvdW5kIGZvciB0b3BpYyAke3J9YCk7Y29uc3QgZz10aGlzLmNsaWVudC5wcm9wb3NhbC5nZXQoZC5wcm9wb3NhbElkKSx5PXt0b3BpYzpyLHJlbGF5Om8sZXhwaXJ5OmMsbmFtZXNwYWNlczp1LGFja25vd2xlZGdlZDohMCxwYWlyaW5nVG9waWM6ZC5wYWlyaW5nVG9waWMscmVxdWlyZWROYW1lc3BhY2VzOmcucmVxdWlyZWROYW1lc3BhY2VzLG9wdGlvbmFsTmFtZXNwYWNlczpnLm9wdGlvbmFsTmFtZXNwYWNlcyxjb250cm9sbGVyOmEucHVibGljS2V5LHNlbGY6e3B1YmxpY0tleTpkLnB1YmxpY0tleSxtZXRhZGF0YTp0aGlzLmNsaWVudC5tZXRhZGF0YX0scGVlcjp7cHVibGljS2V5OmEucHVibGljS2V5LG1ldGFkYXRhOmEubWV0YWRhdGF9LC4uLmwmJntzZXNzaW9uUHJvcGVydGllczpsfSwuLi5oJiZ7c2NvcGVkUHJvcGVydGllczpofSwuLi5mJiZ7c2Vzc2lvbkNvbmZpZzpmfSx0cmFuc3BvcnRUeXBlOnRlLnJlbGF5LGF1dGhlbnRpY2F0aW9uOnA/LmF1dGhlbnRpY2F0aW9uLHdhbGxldFBheVJlc3VsdDpwPy53YWxsZXRQYXl9O2F3YWl0IHRoaXMuY2xpZW50LnNlc3Npb24uc2V0KHkudG9waWMseSksYXdhaXQgdGhpcy5zZXRFeHBpcnkoeS50b3BpYyx5LmV4cGlyeSksYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnVwZGF0ZU1ldGFkYXRhKHt0b3BpYzpkLnBhaXJpbmdUb3BpYyxtZXRhZGF0YTp5LnBlZXIubWV0YWRhdGF9KSx0aGlzLnBlbmRpbmdTZXNzaW9ucy5kZWxldGUoZC5wcm9wb3NhbElkKSx0aGlzLmRlbGV0ZVByb3Bvc2FsKGQucHJvcG9zYWxJZCwhMSksdGhpcy5jbGVhbnVwRHVwbGljYXRlUGFpcmluZ3MoeSksYXdhaXQgdGhpcy5zZW5kUmVzdWx0KHtpZDpuLmlkLHRvcGljOnIsdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITAscmVzdWx0OiEwfSksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fY29ubmVjdCIse3Nlc3Npb246eX0pLHRoaXMuZXZlbnRzLmVtaXQoUSgic2Vzc2lvbl9jb25uZWN0IixkLnByb3Bvc2FsSWQpLHtzZXNzaW9uOnl9KX1jYXRjaChvKXthd2FpdCB0aGlzLnNlbmRFcnJvcih7aWQ6aSx0b3BpYzpyLGVycm9yOm99KSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3Iobyl9fSx0aGlzLm9uU2Vzc2lvblNldHRsZVJlc3BvbnNlPWFzeW5jKHIsbik9Pntjb25zdHtpZDppfT1uO3l0KG4pPyhhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnVwZGF0ZShyLHthY2tub3dsZWRnZWQ6ITB9KSx0aGlzLmV2ZW50cy5lbWl0KFEoInNlc3Npb25fYXBwcm92ZSIsaSkse30pKTpHZShuKSYmKGF3YWl0IHRoaXMuZGVsZXRlU2Vzc2lvbih7dG9waWM6cixlbWl0RXZlbnQ6ITF9KSx0aGlzLmV2ZW50cy5lbWl0KFEoInNlc3Npb25fYXBwcm92ZSIsaSkse2Vycm9yOm4uZXJyb3J9KSl9LHRoaXMub25TZXNzaW9uVXBkYXRlUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7cGFyYW1zOmksaWQ6c309bjt0cnl7Y29uc3Qgbz1gJHtyfV9zZXNzaW9uX3VwZGF0ZWAsYT1Sbi5nZXQobyk7aWYoYSYmdGhpcy5pc1JlcXVlc3RPdXRPZlN5bmMoYSxzKSl7dGhpcy5jbGllbnQubG9nZ2VyLndhcm4oYERpc2NhcmRpbmcgb3V0IG9mIHN5bmMgcmVxdWVzdCAtICR7c31gKSx0aGlzLnNlbmRFcnJvcih7aWQ6cyx0b3BpYzpyLGVycm9yOm5lKCJJTlZBTElEX1VQREFURV9SRVFVRVNUIil9KTtyZXR1cm59YXdhaXQgdGhpcy5pc1ZhbGlkVXBkYXRlKHt0b3BpYzpyLC4uLml9KTtjb25zdCBjPXRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KHIpO2lmKGMucGVlci5wdWJsaWNLZXkhPT1jLmNvbnRyb2xsZXIpdGhyb3cgbmUoIlVOQVVUSE9SSVpFRF9VUERBVEVfUkVRVUVTVCIpO3RyeXtSbi5zZXQobyxzKSxhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnVwZGF0ZShyLHtuYW1lc3BhY2VzOmkubmFtZXNwYWNlc30pLGF3YWl0IHRoaXMuc2VuZFJlc3VsdCh7aWQ6cyx0b3BpYzpyLHJlc3VsdDohMH0pfWNhdGNoKHUpe3Rocm93IFJuLmRlbGV0ZShvKSx1fXRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KCJzZXNzaW9uX3VwZGF0ZSIse2lkOnMsdG9waWM6cixwYXJhbXM6aX0pfWNhdGNoKG8pe2F3YWl0IHRoaXMuc2VuZEVycm9yKHtpZDpzLHRvcGljOnIsZXJyb3I6b30pLHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihvKX19LHRoaXMuaXNSZXF1ZXN0T3V0T2ZTeW5jPShyLG4pPT5uLnRvU3RyaW5nKCkuc2xpY2UoMCwtMyk8ci50b1N0cmluZygpLnNsaWNlKDAsLTMpLHRoaXMub25TZXNzaW9uVXBkYXRlUmVzcG9uc2U9KHIsbik9Pntjb25zdHtpZDppfT1uLHM9USgic2Vzc2lvbl91cGRhdGUiLGkpO2lmKHRoaXMuZXZlbnRzLmxpc3RlbmVyQ291bnQocyk9PT0wKXRocm93IG5ldyBFcnJvcihgZW1pdHRpbmcgJHtzfSB3aXRob3V0IGFueSBsaXN0ZW5lcnNgKTt5dChuKT90aGlzLmV2ZW50cy5lbWl0KFEoInNlc3Npb25fdXBkYXRlIixpKSx7fSk6R2UobikmJnRoaXMuZXZlbnRzLmVtaXQoUSgic2Vzc2lvbl91cGRhdGUiLGkpLHtlcnJvcjpuLmVycm9yfSl9LHRoaXMub25TZXNzaW9uRXh0ZW5kUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7aWQ6aX09bjt0cnl7YXdhaXQgdGhpcy5pc1ZhbGlkRXh0ZW5kKHt0b3BpYzpyfSksYXdhaXQgdGhpcy5zZXRFeHBpcnkocixsZShScikpLGF3YWl0IHRoaXMuc2VuZFJlc3VsdCh7aWQ6aSx0b3BpYzpyLHJlc3VsdDohMH0pLHRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KCJzZXNzaW9uX2V4dGVuZCIse2lkOmksdG9waWM6cn0pfWNhdGNoKHMpe2F3YWl0IHRoaXMuc2VuZEVycm9yKHtpZDppLHRvcGljOnIsZXJyb3I6c30pLHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihzKX19LHRoaXMub25TZXNzaW9uRXh0ZW5kUmVzcG9uc2U9KHIsbik9Pntjb25zdHtpZDppfT1uLHM9USgic2Vzc2lvbl9leHRlbmQiLGkpO2lmKHRoaXMuZXZlbnRzLmxpc3RlbmVyQ291bnQocyk9PT0wKXRocm93IG5ldyBFcnJvcihgZW1pdHRpbmcgJHtzfSB3aXRob3V0IGFueSBsaXN0ZW5lcnNgKTt5dChuKT90aGlzLmV2ZW50cy5lbWl0KFEoInNlc3Npb25fZXh0ZW5kIixpKSx7fSk6R2UobikmJnRoaXMuZXZlbnRzLmVtaXQoUSgic2Vzc2lvbl9leHRlbmQiLGkpLHtlcnJvcjpuLmVycm9yfSl9LHRoaXMub25TZXNzaW9uUGluZ1JlcXVlc3Q9YXN5bmMocixuKT0+e2NvbnN0e2lkOml9PW47dHJ5e3RoaXMuaXNWYWxpZFBpbmcoe3RvcGljOnJ9KSxhd2FpdCB0aGlzLnNlbmRSZXN1bHQoe2lkOmksdG9waWM6cixyZXN1bHQ6ITAsdGhyb3dPbkZhaWxlZFB1Ymxpc2g6ITB9KSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgic2Vzc2lvbl9waW5nIix7aWQ6aSx0b3BpYzpyfSl9Y2F0Y2gocyl7YXdhaXQgdGhpcy5zZW5kRXJyb3Ioe2lkOmksdG9waWM6cixlcnJvcjpzfSksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKHMpfX0sdGhpcy5vblNlc3Npb25QaW5nUmVzcG9uc2U9KHIsbik9Pntjb25zdHtpZDppfT1uLHM9USgic2Vzc2lvbl9waW5nIixpKTtzZXRUaW1lb3V0KCgpPT57aWYodGhpcy5ldmVudHMubGlzdGVuZXJDb3VudChzKT09PTApdGhyb3cgbmV3IEVycm9yKGBlbWl0dGluZyAke3N9IHdpdGhvdXQgYW55IGxpc3RlbmVycyAyMTc2YCk7eXQobik/dGhpcy5ldmVudHMuZW1pdChRKCJzZXNzaW9uX3BpbmciLGkpLHt9KTpHZShuKSYmdGhpcy5ldmVudHMuZW1pdChRKCJzZXNzaW9uX3BpbmciLGkpLHtlcnJvcjpuLmVycm9yfSl9LDUwMCl9LHRoaXMub25TZXNzaW9uRGVsZXRlUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7aWQ6aX09bjt0cnl7YXdhaXQgdGhpcy5pc1ZhbGlkRGlzY29ubmVjdCh7dG9waWM6cixyZWFzb246bi5wYXJhbXN9KSx0aGlzLmNsZWFudXBQZW5kaW5nU2VudFJlcXVlc3RzRm9yVG9waWMoe3RvcGljOnIsZXJyb3I6bmUoIlVTRVJfRElTQ09OTkVDVEVEIil9KSxhd2FpdCB0aGlzLmRlbGV0ZVNlc3Npb24oe3RvcGljOnIsaWQ6aX0pfWNhdGNoKHMpe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihzKX19LHRoaXMub25TZXNzaW9uUmVxdWVzdD1hc3luYyByPT57Y29uc3R7dG9waWM6bixwYXlsb2FkOmksYXR0ZXN0YXRpb246cyxlbmNyeXB0ZWRJZDpvLHRyYW5zcG9ydFR5cGU6YX09cix7aWQ6YyxwYXJhbXM6dX09aTt0cnl7YXdhaXQgdGhpcy5pc1ZhbGlkUmVxdWVzdCh7dG9waWM6biwuLi51fSk7Y29uc3QgbD10aGlzLmNsaWVudC5zZXNzaW9uLmdldChuKSxoPWF3YWl0IHRoaXMuZ2V0VmVyaWZ5Q29udGV4dCh7YXR0ZXN0YXRpb25JZDpzLGhhc2g6V2UoSlNPTi5zdHJpbmdpZnkoVXQoIndjX3Nlc3Npb25SZXF1ZXN0Iix1LGMpKSksZW5jcnlwdGVkSWQ6byxtZXRhZGF0YTpsLnBlZXIubWV0YWRhdGEsdHJhbnNwb3J0VHlwZTphfSksZj17aWQ6Yyx0b3BpYzpuLHBhcmFtczp1LHZlcmlmeUNvbnRleHQ6aH07YXdhaXQgdGhpcy5zZXRQZW5kaW5nU2Vzc2lvblJlcXVlc3QoZiksYT09PXRlLmxpbmtfbW9kZSYmbC5wZWVyLm1ldGFkYXRhLnJlZGlyZWN0Py51bml2ZXJzYWwmJnRoaXMuY2xpZW50LmNvcmUuYWRkTGlua01vZGVTdXBwb3J0ZWRBcHAobC5wZWVyLm1ldGFkYXRhLnJlZGlyZWN0Py51bml2ZXJzYWwpLHRoaXMuY2xpZW50LnNpZ25Db25maWc/LmRpc2FibGVSZXF1ZXN0UXVldWU/dGhpcy5lbWl0U2Vzc2lvblJlcXVlc3QoZik6KHRoaXMuYWRkU2Vzc2lvblJlcXVlc3RUb1Nlc3Npb25SZXF1ZXN0UXVldWUoZiksdGhpcy5wcm9jZXNzU2Vzc2lvblJlcXVlc3RRdWV1ZSgpKX1jYXRjaChsKXthd2FpdCB0aGlzLnNlbmRFcnJvcih7aWQ6Yyx0b3BpYzpuLGVycm9yOmx9KSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IobCl9fSx0aGlzLm9uU2Vzc2lvblJlcXVlc3RSZXNwb25zZT0ocixuKT0+e2NvbnN0e2lkOml9PW4scz1RKCJzZXNzaW9uX3JlcXVlc3QiLGkpO2lmKHRoaXMuZXZlbnRzLmxpc3RlbmVyQ291bnQocyk9PT0wKXRocm93IG5ldyBFcnJvcihgZW1pdHRpbmcgJHtzfSB3aXRob3V0IGFueSBsaXN0ZW5lcnNgKTt5dChuKT90aGlzLmV2ZW50cy5lbWl0KFEoInNlc3Npb25fcmVxdWVzdCIsaSkse3Jlc3VsdDpuLnJlc3VsdH0pOkdlKG4pJiZ0aGlzLmV2ZW50cy5lbWl0KFEoInNlc3Npb25fcmVxdWVzdCIsaSkse2Vycm9yOm4uZXJyb3J9KX0sdGhpcy5vblNlc3Npb25FdmVudFJlcXVlc3Q9YXN5bmMocixuKT0+e2NvbnN0e2lkOmkscGFyYW1zOnN9PW47dHJ5e2NvbnN0IG89YCR7cn1fc2Vzc2lvbl9ldmVudF8ke3MuZXZlbnQubmFtZX1gLGE9Um4uZ2V0KG8pO2lmKGEmJnRoaXMuaXNSZXF1ZXN0T3V0T2ZTeW5jKGEsaSkpe3RoaXMuY2xpZW50LmxvZ2dlci5pbmZvKGBEaXNjYXJkaW5nIG91dCBvZiBzeW5jIHJlcXVlc3QgLSAke2l9YCk7cmV0dXJufXRoaXMuaXNWYWxpZEVtaXQoe3RvcGljOnIsLi4uc30pLHRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KCJzZXNzaW9uX2V2ZW50Iix7aWQ6aSx0b3BpYzpyLHBhcmFtczpzfSksUm4uc2V0KG8saSl9Y2F0Y2gobyl7YXdhaXQgdGhpcy5zZW5kRXJyb3Ioe2lkOmksdG9waWM6cixlcnJvcjpvfSksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKG8pfX0sdGhpcy5vblNlc3Npb25BdXRoZW50aWNhdGVSZXNwb25zZT0ocixuKT0+e2NvbnN0e2lkOml9PW47dGhpcy5jbGllbnQubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoib25TZXNzaW9uQXV0aGVudGljYXRlUmVzcG9uc2UiLHRvcGljOnIscGF5bG9hZDpufSkseXQobik/dGhpcy5ldmVudHMuZW1pdChRKCJzZXNzaW9uX3JlcXVlc3QiLGkpLHtyZXN1bHQ6bi5yZXN1bHR9KTpHZShuKSYmdGhpcy5ldmVudHMuZW1pdChRKCJzZXNzaW9uX3JlcXVlc3QiLGkpLHtlcnJvcjpuLmVycm9yfSl9LHRoaXMub25TZXNzaW9uQXV0aGVudGljYXRlUmVxdWVzdD1hc3luYyByPT57Y29uc3R7dG9waWM6bixwYXlsb2FkOmksYXR0ZXN0YXRpb246cyxlbmNyeXB0ZWRJZDpvLHRyYW5zcG9ydFR5cGU6YX09cjt0cnl7Y29uc3R7cmVxdWVzdGVyOmMsYXV0aFBheWxvYWQ6dSxleHBpcnlUaW1lc3RhbXA6bH09aS5wYXJhbXMsaD1hd2FpdCB0aGlzLmdldFZlcmlmeUNvbnRleHQoe2F0dGVzdGF0aW9uSWQ6cyxoYXNoOldlKEpTT04uc3RyaW5naWZ5KGkpKSxlbmNyeXB0ZWRJZDpvLG1ldGFkYXRhOmMubWV0YWRhdGEsdHJhbnNwb3J0VHlwZTphfSksZj17cmVxdWVzdGVyOmMscGFpcmluZ1RvcGljOm4saWQ6aS5pZCxhdXRoUGF5bG9hZDp1LHZlcmlmeUNvbnRleHQ6aCxleHBpcnlUaW1lc3RhbXA6bH07YXdhaXQgdGhpcy5zZXRBdXRoUmVxdWVzdChpLmlkLHtyZXF1ZXN0OmYscGFpcmluZ1RvcGljOm4sdHJhbnNwb3J0VHlwZTphfSksYT09PXRlLmxpbmtfbW9kZSYmYy5tZXRhZGF0YS5yZWRpcmVjdD8udW5pdmVyc2FsJiZ0aGlzLmNsaWVudC5jb3JlLmFkZExpbmtNb2RlU3VwcG9ydGVkQXBwKGMubWV0YWRhdGEucmVkaXJlY3QudW5pdmVyc2FsKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgic2Vzc2lvbl9hdXRoZW50aWNhdGUiLHt0b3BpYzpuLHBhcmFtczppLnBhcmFtcyxpZDppLmlkLHZlcmlmeUNvbnRleHQ6aH0pfWNhdGNoKGMpe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihjKTtjb25zdCB1PWkucGFyYW1zLnJlcXVlc3Rlci5wdWJsaWNLZXksbD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZUtleVBhaXIoKSxoPXRoaXMuZ2V0QXBwTGlua0lmRW5hYmxlZChpLnBhcmFtcy5yZXF1ZXN0ZXIubWV0YWRhdGEsYSksZj17dHlwZTpQdCxyZWNlaXZlclB1YmxpY0tleTp1LHNlbmRlclB1YmxpY0tleTpsfTthd2FpdCB0aGlzLnNlbmRFcnJvcih7aWQ6aS5pZCx0b3BpYzpuLGVycm9yOmMsZW5jb2RlT3B0czpmLHJwY09wdHM6eWUud2Nfc2Vzc2lvbkF1dGhlbnRpY2F0ZS5hdXRvUmVqZWN0LGFwcExpbms6aH0pfX0sdGhpcy5hZGRTZXNzaW9uUmVxdWVzdFRvU2Vzc2lvblJlcXVlc3RRdWV1ZT1yPT57dGhpcy5zZXNzaW9uUmVxdWVzdFF1ZXVlLnF1ZXVlLnB1c2gocil9LHRoaXMuY2xlYW51cEFmdGVyUmVzcG9uc2U9cj0+e3RoaXMuZGVsZXRlUGVuZGluZ1Nlc3Npb25SZXF1ZXN0KHIucmVzcG9uc2UuaWQse21lc3NhZ2U6ImZ1bGZpbGxlZCIsY29kZTowfSksc2V0VGltZW91dCgoKT0+e3RoaXMuc2Vzc2lvblJlcXVlc3RRdWV1ZS5zdGF0ZT1vdC5pZGxlLHRoaXMucHJvY2Vzc1Nlc3Npb25SZXF1ZXN0UXVldWUoKX0sTS50b01pbGlzZWNvbmRzKHRoaXMucmVxdWVzdFF1ZXVlRGVsYXkpKX0sdGhpcy5jbGVhbnVwUGVuZGluZ1NlbnRSZXF1ZXN0c0ZvclRvcGljPSh7dG9waWM6cixlcnJvcjpufSk9Pntjb25zdCBpPXRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5wZW5kaW5nO2kubGVuZ3RoPjAmJmkuZmlsdGVyKHM9PnMudG9waWM9PT1yJiZzLnJlcXVlc3QubWV0aG9kPT09IndjX3Nlc3Npb25SZXF1ZXN0IikuZm9yRWFjaChzPT57dGhpcy5ldmVudHMuZW1pdChRKCJzZXNzaW9uX3JlcXVlc3QiLHMucmVxdWVzdC5pZCkse2Vycm9yOm59KX0pfSx0aGlzLnByb2Nlc3NTZXNzaW9uUmVxdWVzdFF1ZXVlPSgpPT57aWYodGhpcy5zZXNzaW9uUmVxdWVzdFF1ZXVlLnN0YXRlPT09b3QuYWN0aXZlKXt0aGlzLmNsaWVudC5sb2dnZXIuaW5mbygic2Vzc2lvbiByZXF1ZXN0IHF1ZXVlIGlzIGFscmVhZHkgYWN0aXZlLiIpO3JldHVybn1jb25zdCByPXRoaXMuc2Vzc2lvblJlcXVlc3RRdWV1ZS5xdWV1ZVswXTtpZighcil7dGhpcy5jbGllbnQubG9nZ2VyLmluZm8oInNlc3Npb24gcmVxdWVzdCBxdWV1ZSBpcyBlbXB0eS4iKTtyZXR1cm59dHJ5e3RoaXMuZW1pdFNlc3Npb25SZXF1ZXN0KHIpfWNhdGNoKG4pe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihuKX19LHRoaXMuZW1pdFNlc3Npb25SZXF1ZXN0PXI9PntpZih0aGlzLmVtaXR0ZWRTZXNzaW9uUmVxdWVzdHMuaGFzKHIuaWQpKXt0aGlzLmNsaWVudC5sb2dnZXIud2Fybih7aWQ6ci5pZH0sYFNraXBwaW5nIGVtaXR0aW5nIFxgc2Vzc2lvbl9yZXF1ZXN0XGAgZXZlbnQgZm9yIGR1cGxpY2F0ZSByZXF1ZXN0LiBpZDogJHtyLmlkfWApO3JldHVybn10aGlzLnNlc3Npb25SZXF1ZXN0UXVldWUuc3RhdGU9b3QuYWN0aXZlLHRoaXMuZW1pdHRlZFNlc3Npb25SZXF1ZXN0cy5hZGQoci5pZCksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fcmVxdWVzdCIscil9LHRoaXMuY2xlYW51cEluUHJvZ3Jlc3M9ITEsdGhpcy5jbGVhbnVwT3JwaGFuZWRTdWJzY3JpcHRpb25zPWFzeW5jKCk9Pntjb25zdCByPXRoaXMuY2xpZW50LmNvcmUucmVsYXllci5zdWJzY3JpYmVyLnRvcGljcztpZihyLmxlbmd0aD09PTApcmV0dXJuO2NvbnN0IG49bmV3IFNldCh0aGlzLmNsaWVudC5zZXNzaW9uLmtleXMpLGk9bmV3IFNldCh0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGFpcmluZ3Mua2V5cykscz1uZXcgU2V0KFsuLi50aGlzLnBlbmRpbmdTZXNzaW9ucy52YWx1ZXMoKV0ubWFwKGE9PmEuc2Vzc2lvblRvcGljKSk7bGV0IG87aWYodGhpcy5jbGllbnQuYXV0aC5hdXRoS2V5cy5rZXlzLmluY2x1ZGVzKGt0KSl7Y29uc3R7cmVzcG9uc2VUb3BpYzphfT10aGlzLmNsaWVudC5hdXRoLmF1dGhLZXlzLmdldChrdCk7bz1hfWZvcihjb25zdCBhIG9mIHIpaWYoIW4uaGFzKGEpJiYhaS5oYXMoYSkmJiFzLmhhcyhhKSYmYSE9PW8pe3RoaXMuY2xpZW50LmxvZ2dlci5pbmZvKGBDbGVhbmluZyB1cCBvcnBoYW5lZCBzdWJzY3JpYmVyIHRvcGljOiAke2F9YCk7dHJ5e2F3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5zdWJzY3JpYmVyLnVuc3Vic2NyaWJlKGEpfWNhdGNoKGMpe3RoaXMuY2xpZW50LmxvZ2dlci53YXJuKGMsYEZhaWxlZCB0byBjbGVhbiB1cCBvcnBoYW5lZCBzdWJzY3JpcHRpb246ICR7YX1gKX19fSx0aGlzLm9uUGFpcmluZ0NyZWF0ZWQ9cj0+e2lmKHIubWV0aG9kcyYmdGhpcy5leHBlY3RlZFBhaXJpbmdNZXRob2RNYXAuc2V0KHIudG9waWMsci5tZXRob2RzKSxyLmFjdGl2ZSlyZXR1cm47Y29uc3Qgbj10aGlzLmNsaWVudC5wcm9wb3NhbC5nZXRBbGwoKS5maW5kKGk9PmkucGFpcmluZ1RvcGljPT09ci50b3BpYyk7biYmdGhpcy5vblNlc3Npb25Qcm9wb3NlUmVxdWVzdCh7dG9waWM6ci50b3BpYyxwYXlsb2FkOlV0KCJ3Y19zZXNzaW9uUHJvcG9zZSIsey4uLm4scmVxdWlyZWROYW1lc3BhY2VzOm4ucmVxdWlyZWROYW1lc3BhY2VzLG9wdGlvbmFsTmFtZXNwYWNlczpuLm9wdGlvbmFsTmFtZXNwYWNlcyxyZWxheXM6bi5yZWxheXMscHJvcG9zZXI6bi5wcm9wb3NlcixzZXNzaW9uUHJvcGVydGllczpuLnNlc3Npb25Qcm9wZXJ0aWVzLHNjb3BlZFByb3BlcnRpZXM6bi5zY29wZWRQcm9wZXJ0aWVzfSxuLmlkKSxhdHRlc3RhdGlvbjpuLmF0dGVzdGF0aW9uLGVuY3J5cHRlZElkOm4uZW5jcnlwdGVkSWR9KX0sdGhpcy5pc1ZhbGlkQ29ubmVjdD1hc3luYyByPT57aWYoIWtlKHIpKXtjb25zdHttZXNzYWdlOnV9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGNvbm5lY3QoKSBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocil9YCk7dGhyb3cgbmV3IEVycm9yKHUpfWNvbnN0e3BhaXJpbmdUb3BpYzpuLHJlcXVpcmVkTmFtZXNwYWNlczppLG9wdGlvbmFsTmFtZXNwYWNlczpzLHNlc3Npb25Qcm9wZXJ0aWVzOm8sc2NvcGVkUHJvcGVydGllczphLHJlbGF5czpjfT1yO2lmKGhlKG4pfHxhd2FpdCB0aGlzLmlzVmFsaWRQYWlyaW5nVG9waWMobiksIU0yKGMpKXtjb25zdHttZXNzYWdlOnV9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGNvbm5lY3QoKSByZWxheXM6ICR7Y31gKTt0aHJvdyBuZXcgRXJyb3IodSl9aWYoaSYmIWhlKGkpJiZCbihpKSE9PTApe2NvbnN0IHU9InJlcXVpcmVkTmFtZXNwYWNlcyBhcmUgZGVwcmVjYXRlZCBhbmQgYXJlIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgdG8gb3B0aW9uYWxOYW1lc3BhY2VzIjtbImZhdGFsIiwiZXJyb3IiLCJzaWxlbnQiXS5pbmNsdWRlcyh0aGlzLmNsaWVudC5sb2dnZXIubGV2ZWwpP2NvbnNvbGUud2Fybih1KTp0aGlzLmNsaWVudC5sb2dnZXIud2Fybih1KSx0aGlzLnZhbGlkYXRlTmFtZXNwYWNlcyhpLCJyZXF1aXJlZE5hbWVzcGFjZXMiKX1pZihzJiYhaGUocykmJkJuKHMpIT09MCYmdGhpcy52YWxpZGF0ZU5hbWVzcGFjZXMocywib3B0aW9uYWxOYW1lc3BhY2VzIiksbyYmIWhlKG8pJiZ0aGlzLnZhbGlkYXRlU2Vzc2lvblByb3BzKG8sInNlc3Npb25Qcm9wZXJ0aWVzIiksYSYmIWhlKGEpKXt0aGlzLnZhbGlkYXRlU2Vzc2lvblByb3BzKGEsInNjb3BlZFByb3BlcnRpZXMiKTtjb25zdCB1PU9iamVjdC5rZXlzKGl8fHt9KS5jb25jYXQoT2JqZWN0LmtleXMoc3x8e30pKTtpZighT2JqZWN0LmtleXMoYSkuZXZlcnkobD0+dS5pbmNsdWRlcyhsLnNwbGl0KCI6IilbMF0pKSl0aHJvdyBuZXcgRXJyb3IoYFNjb3BlZCBwcm9wZXJ0aWVzIG11c3QgYmUgYSBzdWJzZXQgb2YgcmVxdWlyZWQvb3B0aW9uYWwgbmFtZXNwYWNlcywgcmVjZWl2ZWQ6ICR7SlNPTi5zdHJpbmdpZnkoYSl9LCByZXF1aXJlZC9vcHRpb25hbCBuYW1lc3BhY2VzOiAke0pTT04uc3RyaW5naWZ5KHUpfWApfX0sdGhpcy52YWxpZGF0ZU5hbWVzcGFjZXM9KHIsbik9Pntjb25zdCBpPWsyKHIsImNvbm5lY3QoKSIsbik7aWYoaSl0aHJvdyBuZXcgRXJyb3IoaS5tZXNzYWdlKX0sdGhpcy5pc1ZhbGlkQXBwcm92ZT1hc3luYyByPT57aWYoIWtlKHIpKXRocm93IG5ldyBFcnJvcihGKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBhcHByb3ZlKCkgcGFyYW1zOiAke3J9YCkubWVzc2FnZSk7Y29uc3R7aWQ6bixuYW1lc3BhY2VzOmkscmVsYXlQcm90b2NvbDpzLHNlc3Npb25Qcm9wZXJ0aWVzOm8sc2NvcGVkUHJvcGVydGllczphfT1yO3RoaXMuY2hlY2tSZWNlbnRseURlbGV0ZWQobiksYXdhaXQgdGhpcy5pc1ZhbGlkUHJvcG9zYWxJZChuKTtjb25zdCBjPXRoaXMuY2xpZW50LnByb3Bvc2FsLmdldChuKSx1PUpvKGksImFwcHJvdmUoKSIpO2lmKHUpdGhyb3cgbmV3IEVycm9yKHUubWVzc2FnZSk7Y29uc3QgbD1YaChjLnJlcXVpcmVkTmFtZXNwYWNlcyxpLCJhcHByb3ZlKCkiKTtpZihsKXRocm93IG5ldyBFcnJvcihsLm1lc3NhZ2UpO2lmKCFvZShzLCEwKSl7Y29uc3R7bWVzc2FnZTpofT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBhcHByb3ZlKCkgcmVsYXlQcm90b2NvbDogJHtzfWApO3Rocm93IG5ldyBFcnJvcihoKX1pZihvJiYhaGUobykmJnRoaXMudmFsaWRhdGVTZXNzaW9uUHJvcHMobywic2Vzc2lvblByb3BlcnRpZXMiKSxhJiYhaGUoYSkpe3RoaXMudmFsaWRhdGVTZXNzaW9uUHJvcHMoYSwic2NvcGVkUHJvcGVydGllcyIpO2NvbnN0IGg9bmV3IFNldChPYmplY3Qua2V5cyhpKSk7aWYoIU9iamVjdC5rZXlzKGEpLmV2ZXJ5KGY9PmguaGFzKGYuc3BsaXQoIjoiKVswXSkpKXRocm93IG5ldyBFcnJvcihgU2NvcGVkIHByb3BlcnRpZXMgbXVzdCBiZSBhIHN1YnNldCBvZiBhcHByb3ZlZCBuYW1lc3BhY2VzLCByZWNlaXZlZDogJHtKU09OLnN0cmluZ2lmeShhKX0sIGFwcHJvdmVkIG5hbWVzcGFjZXM6ICR7QXJyYXkuZnJvbShoKS5qb2luKCIsICIpfWApfX0sdGhpcy5pc1ZhbGlkUmVqZWN0PWFzeW5jIHI9PntpZigha2Uocikpe2NvbnN0e21lc3NhZ2U6c309RigiTUlTU0lOR19PUl9JTlZBTElEIixgcmVqZWN0KCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKHMpfWNvbnN0e2lkOm4scmVhc29uOml9PXI7aWYodGhpcy5jaGVja1JlY2VudGx5RGVsZXRlZChuKSxhd2FpdCB0aGlzLmlzVmFsaWRQcm9wb3NhbElkKG4pLCFxMihpKSl7Y29uc3R7bWVzc2FnZTpzfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZWplY3QoKSByZWFzb246ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dGhyb3cgbmV3IEVycm9yKHMpfX0sdGhpcy5pc1ZhbGlkU2Vzc2lvblNldHRsZVJlcXVlc3Q9cj0+e2lmKCFrZShyKSl7Y29uc3R7bWVzc2FnZTp1fT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBvblNlc3Npb25TZXR0bGVSZXF1ZXN0KCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKHUpfWNvbnN0e3JlbGF5Om4sY29udHJvbGxlcjppLG5hbWVzcGFjZXM6cyxleHBpcnk6b309cjtpZighWWgobikpe2NvbnN0e21lc3NhZ2U6dX09RigiTUlTU0lOR19PUl9JTlZBTElEIiwib25TZXNzaW9uU2V0dGxlUmVxdWVzdCgpIHJlbGF5IHByb3RvY29sIHNob3VsZCBiZSBhIHN0cmluZyIpO3Rocm93IG5ldyBFcnJvcih1KX1jb25zdCBhPU4yKGksIm9uU2Vzc2lvblNldHRsZVJlcXVlc3QoKSIpO2lmKGEpdGhyb3cgbmV3IEVycm9yKGEubWVzc2FnZSk7Y29uc3QgYz1KbyhzLCJvblNlc3Npb25TZXR0bGVSZXF1ZXN0KCkiKTtpZihjKXRocm93IG5ldyBFcnJvcihjLm1lc3NhZ2UpO2lmKG9yKG8pKXtjb25zdHttZXNzYWdlOnV9PUYoIkVYUElSRUQiLCJvblNlc3Npb25TZXR0bGVSZXF1ZXN0KCkiKTt0aHJvdyBuZXcgRXJyb3IodSl9fSx0aGlzLmlzVmFsaWRVcGRhdGU9YXN5bmMgcj0+e2lmKCFrZShyKSl7Y29uc3R7bWVzc2FnZTpjfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGB1cGRhdGUoKSBwYXJhbXM6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoYyl9Y29uc3R7dG9waWM6bixuYW1lc3BhY2VzOml9PXI7dGhpcy5jaGVja1JlY2VudGx5RGVsZXRlZChuKSxhd2FpdCB0aGlzLmlzVmFsaWRTZXNzaW9uVG9waWMobik7Y29uc3Qgcz10aGlzLmNsaWVudC5zZXNzaW9uLmdldChuKSxvPUpvKGksInVwZGF0ZSgpIik7aWYobyl0aHJvdyBuZXcgRXJyb3Ioby5tZXNzYWdlKTtjb25zdCBhPVhoKHMucmVxdWlyZWROYW1lc3BhY2VzLGksInVwZGF0ZSgpIik7aWYoYSl0aHJvdyBuZXcgRXJyb3IoYS5tZXNzYWdlKX0sdGhpcy5pc1ZhbGlkRXh0ZW5kPWFzeW5jIHI9PntpZigha2Uocikpe2NvbnN0e21lc3NhZ2U6aX09RigiTUlTU0lOR19PUl9JTlZBTElEIixgZXh0ZW5kKCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGkpfWNvbnN0e3RvcGljOm59PXI7dGhpcy5jaGVja1JlY2VudGx5RGVsZXRlZChuKSxhd2FpdCB0aGlzLmlzVmFsaWRTZXNzaW9uVG9waWMobil9LHRoaXMuaXNWYWxpZFJlcXVlc3Q9YXN5bmMgcj0+e2lmKCFrZShyKSl7Y29uc3R7bWVzc2FnZTpjfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZXF1ZXN0KCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGMpfWNvbnN0e3RvcGljOm4scmVxdWVzdDppLGNoYWluSWQ6cyxleHBpcnk6b309cjt0aGlzLmNoZWNrUmVjZW50bHlEZWxldGVkKG4pLGF3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25Ub3BpYyhuKTtjb25zdHtuYW1lc3BhY2VzOmF9PXRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KG4pO2lmKCFaaChhLHMpKXtjb25zdHttZXNzYWdlOmN9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHJlcXVlc3QoKSBjaGFpbklkOiAke3N9YCk7dGhyb3cgbmV3IEVycm9yKGMpfWlmKCF6MihpKSl7Y29uc3R7bWVzc2FnZTpjfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZXF1ZXN0KCkgJHtKU09OLnN0cmluZ2lmeShpKX1gKTt0aHJvdyBuZXcgRXJyb3IoYyl9aWYoIVYyKGEscyxpLm1ldGhvZCkpe2NvbnN0e21lc3NhZ2U6Y309RigiTUlTU0lOR19PUl9JTlZBTElEIixgcmVxdWVzdCgpIG1ldGhvZDogJHtpLm1ldGhvZH1gKTt0aHJvdyBuZXcgRXJyb3IoYyl9dGhpcy52YWxpZGF0ZVJlcXVlc3RFeHBpcnkobyl9LHRoaXMuaXNWYWxpZFJlc3BvbmQ9YXN5bmMgcj0+e2lmKCFrZShyKSl7Y29uc3R7bWVzc2FnZTpvfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZXNwb25kKCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKG8pfWNvbnN0e3RvcGljOm4scmVzcG9uc2U6aX09cjt0cnl7YXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvblRvcGljKG4pfWNhdGNoKG8pe3Rocm93IHI/LnJlc3BvbnNlPy5pZCYmdGhpcy5jbGVhbnVwQWZ0ZXJSZXNwb25zZShyKSxvfWlmKCFqMihpKSl7Y29uc3R7bWVzc2FnZTpvfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZXNwb25kKCkgcmVzcG9uc2U6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dGhyb3cgbmV3IEVycm9yKG8pfWNvbnN0IHM9dGhpcy5jbGllbnQucGVuZGluZ1JlcXVlc3QuZ2V0KGkuaWQpO2lmKHMudG9waWMhPT1uKXtjb25zdHttZXNzYWdlOm99PUYoIk1JU01BVENIRURfVE9QSUMiLGBSZXF1ZXN0IHJlc3BvbnNlIHRvcGljIG1pc21hdGNoLiByZXFJZDogJHtpLmlkfSwgZXhwZWN0ZWQgdG9waWM6ICR7cy50b3BpY30sIHJlY2VpdmVkIHRvcGljOiAke259YCk7dGhyb3cgbmV3IEVycm9yKG8pfX0sdGhpcy5pc1ZhbGlkUGluZz1hc3luYyByPT57aWYoIWtlKHIpKXtjb25zdHttZXNzYWdlOml9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHBpbmcoKSBwYXJhbXM6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoaSl9Y29uc3R7dG9waWM6bn09cjthd2FpdCB0aGlzLmlzVmFsaWRTZXNzaW9uT3JQYWlyaW5nVG9waWMobil9LHRoaXMuaXNWYWxpZEVtaXQ9YXN5bmMgcj0+e2lmKCFrZShyKSl7Y29uc3R7bWVzc2FnZTphfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBlbWl0KCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGEpfWNvbnN0e3RvcGljOm4sZXZlbnQ6aSxjaGFpbklkOnN9PXI7YXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvblRvcGljKG4pO2NvbnN0e25hbWVzcGFjZXM6b309dGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQobik7aWYoIVpoKG8scykpe2NvbnN0e21lc3NhZ2U6YX09RigiTUlTU0lOR19PUl9JTlZBTElEIixgZW1pdCgpIGNoYWluSWQ6ICR7c31gKTt0aHJvdyBuZXcgRXJyb3IoYSl9aWYoIUsyKGkpKXtjb25zdHttZXNzYWdlOmF9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGVtaXQoKSBldmVudDogJHtKU09OLnN0cmluZ2lmeShpKX1gKTt0aHJvdyBuZXcgRXJyb3IoYSl9aWYoIUgyKG8scyxpLm5hbWUpKXtjb25zdHttZXNzYWdlOmF9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGVtaXQoKSBldmVudDogJHtKU09OLnN0cmluZ2lmeShpKX1gKTt0aHJvdyBuZXcgRXJyb3IoYSl9fSx0aGlzLmlzVmFsaWREaXNjb25uZWN0PWFzeW5jIHI9PntpZigha2Uocikpe2NvbnN0e21lc3NhZ2U6aX09RigiTUlTU0lOR19PUl9JTlZBTElEIixgZGlzY29ubmVjdCgpIHBhcmFtczogJHtyfWApO3Rocm93IG5ldyBFcnJvcihpKX1jb25zdHt0b3BpYzpufT1yO2F3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25PclBhaXJpbmdUb3BpYyhuKX0sdGhpcy5pc1ZhbGlkQXV0aGVudGljYXRlPXI9Pntjb25zdHtjaGFpbnM6bix1cmk6aSxkb21haW46cyxub25jZTpvfT1yO2lmKCFBcnJheS5pc0FycmF5KG4pfHxuLmxlbmd0aD09PTApdGhyb3cgbmV3IEVycm9yKCJjaGFpbnMgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYSBub24tZW1wdHkgYXJyYXkiKTtpZighb2UoaSwhMSkpdGhyb3cgbmV3IEVycm9yKCJ1cmkgaXMgcmVxdWlyZWQgcGFyYW1ldGVyIik7aWYoIW9lKHMsITEpKXRocm93IG5ldyBFcnJvcigiZG9tYWluIGlzIHJlcXVpcmVkIHBhcmFtZXRlciIpO2lmKCFvZShvLCExKSl0aHJvdyBuZXcgRXJyb3IoIm5vbmNlIGlzIHJlcXVpcmVkIHBhcmFtZXRlciIpO2lmKFsuLi5uZXcgU2V0KG4ubWFwKGM9PlBpKGMpLm5hbWVzcGFjZSkpXS5sZW5ndGg+MSl0aHJvdyBuZXcgRXJyb3IoIk11bHRpLW5hbWVzcGFjZSByZXF1ZXN0cyBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlIHJlcXVlc3Qgc2luZ2xlIG5hbWVzcGFjZSBvbmx5LiIpO2NvbnN0e25hbWVzcGFjZTphfT1QaShuWzBdKTtpZihhIT09ImVpcDE1NSIpdGhyb3cgbmV3IEVycm9yKCJPbmx5IGVpcDE1NSBuYW1lc3BhY2UgaXMgc3VwcG9ydGVkIGZvciBhdXRoZW50aWNhdGVkIHNlc3Npb25zLiBQbGVhc2UgdXNlIC5jb25uZWN0KCkgZm9yIG5vbi1laXAxNTUgY2hhaW5zLiIpfSx0aGlzLmdldFZlcmlmeUNvbnRleHQ9YXN5bmMgcj0+e2NvbnN0e2F0dGVzdGF0aW9uSWQ6bixoYXNoOmksZW5jcnlwdGVkSWQ6cyxtZXRhZGF0YTpvLHRyYW5zcG9ydFR5cGU6YX09cixjPXt2ZXJpZmllZDp7dmVyaWZ5VXJsOm8udmVyaWZ5VXJsfHxMbix2YWxpZGF0aW9uOiJVTktOT1dOIixvcmlnaW46by51cmx8fCIifX07dHJ5e2lmKGE9PT10ZS5saW5rX21vZGUpe2NvbnN0IGw9dGhpcy5nZXRBcHBMaW5rSWZFbmFibGVkKG8sYSk7cmV0dXJuIGMudmVyaWZpZWQudmFsaWRhdGlvbj1sJiZuZXcgVVJMKGwpLm9yaWdpbj09PW5ldyBVUkwoby51cmwpLm9yaWdpbj8iVkFMSUQiOiJJTlZBTElEIixjfWNvbnN0IHU9YXdhaXQgdGhpcy5jbGllbnQuY29yZS52ZXJpZnkucmVzb2x2ZSh7YXR0ZXN0YXRpb25JZDpuLGhhc2g6aSxlbmNyeXB0ZWRJZDpzLHZlcmlmeVVybDpvLnZlcmlmeVVybH0pO3UmJihjLnZlcmlmaWVkLm9yaWdpbj11Lm9yaWdpbixjLnZlcmlmaWVkLmlzU2NhbT11LmlzU2NhbSxjLnZlcmlmaWVkLnZhbGlkYXRpb249dS5vcmlnaW49PT1uZXcgVVJMKG8udXJsKS5vcmlnaW4/IlZBTElEIjoiSU5WQUxJRCIpfWNhdGNoKHUpe3RoaXMuY2xpZW50LmxvZ2dlci53YXJuKHUpfXJldHVybiB0aGlzLmNsaWVudC5sb2dnZXIuZGVidWcoYFZlcmlmeSBjb250ZXh0OiAke0pTT04uc3RyaW5naWZ5KGMpfWApLGN9LHRoaXMudmFsaWRhdGVTZXNzaW9uUHJvcHM9KHIsbik9PntPYmplY3QudmFsdWVzKHIpLmZvckVhY2goKGkscyk9PntpZihpPT1udWxsKXtjb25zdHttZXNzYWdlOm99PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYCR7bn0gbXVzdCBjb250YWluIGFuIGV4aXN0aW5nIHZhbHVlIGZvciBlYWNoIGtleS4gUmVjZWl2ZWQ6ICR7aX0gZm9yIGtleSAke09iamVjdC5rZXlzKHIpW3NdfWApO3Rocm93IG5ldyBFcnJvcihvKX19KX0sdGhpcy5nZXRQZW5kaW5nQXV0aFJlcXVlc3Q9cj0+e2NvbnN0IG49dGhpcy5jbGllbnQuYXV0aC5yZXF1ZXN0cy5nZXQocik7cmV0dXJuIHR5cGVvZiBuPT0ib2JqZWN0Ij9uOnZvaWQgMH0sdGhpcy5hZGRUb1JlY2VudGx5RGVsZXRlZD0ocixuKT0+e2lmKHRoaXMucmVjZW50bHlEZWxldGVkTWFwLnNldChyLG4pLHRoaXMucmVjZW50bHlEZWxldGVkTWFwLnNpemU+PXRoaXMucmVjZW50bHlEZWxldGVkTGltaXQpe2xldCBpPTA7Y29uc3Qgcz10aGlzLnJlY2VudGx5RGVsZXRlZExpbWl0LzI7Zm9yKGNvbnN0IG8gb2YgdGhpcy5yZWNlbnRseURlbGV0ZWRNYXAua2V5cygpKXtpZihpKys+PXMpYnJlYWs7dGhpcy5yZWNlbnRseURlbGV0ZWRNYXAuZGVsZXRlKG8pfX19LHRoaXMuY2hlY2tSZWNlbnRseURlbGV0ZWQ9cj0+e2NvbnN0IG49dGhpcy5yZWNlbnRseURlbGV0ZWRNYXAuZ2V0KHIpO2lmKG4pe2NvbnN0e21lc3NhZ2U6aX09RigiTUlTU0lOR19PUl9JTlZBTElEIixgUmVjb3JkIHdhcyByZWNlbnRseSBkZWxldGVkIC0gJHtufTogJHtyfWApO3Rocm93IG5ldyBFcnJvcihpKX19LHRoaXMuaXNMaW5rTW9kZUVuYWJsZWQ9KHIsbik9PiFyfHxuIT09dGUubGlua19tb2RlPyExOnRoaXMuY2xpZW50Lm1ldGFkYXRhPy5yZWRpcmVjdD8ubGlua01vZGU9PT0hMCYmdGhpcy5jbGllbnQubWV0YWRhdGE/LnJlZGlyZWN0Py51bml2ZXJzYWwhPT12b2lkIDAmJnRoaXMuY2xpZW50Lm1ldGFkYXRhPy5yZWRpcmVjdD8udW5pdmVyc2FsIT09IiImJnI/LnJlZGlyZWN0Py51bml2ZXJzYWwhPT12b2lkIDAmJnI/LnJlZGlyZWN0Py51bml2ZXJzYWwhPT0iIiYmcj8ucmVkaXJlY3Q/LmxpbmtNb2RlPT09ITAmJnRoaXMuY2xpZW50LmNvcmUubGlua01vZGVTdXBwb3J0ZWRBcHBzLmluY2x1ZGVzKHIucmVkaXJlY3QudW5pdmVyc2FsKSYmdHlwZW9mIGdsb2JhbD8uTGlua2luZzwidSIsdGhpcy5nZXRBcHBMaW5rSWZFbmFibGVkPShyLG4pPT50aGlzLmlzTGlua01vZGVFbmFibGVkKHIsbik/cj8ucmVkaXJlY3Q/LnVuaXZlcnNhbDp2b2lkIDAsdGhpcy5oYW5kbGVMaW5rTW9kZU1lc3NhZ2U9KHt1cmw6cn0pPT57aWYoIXJ8fCFyLmluY2x1ZGVzKCJ3Y19ldiIpfHwhci5pbmNsdWRlcygidG9waWMiKSlyZXR1cm47Y29uc3Qgbj1FaChyLCJ0b3BpYyIpfHwiIixpPWRlY29kZVVSSUNvbXBvbmVudChFaChyLCJ3Y19ldiIpfHwiIikscz10aGlzLmNsaWVudC5zZXNzaW9uLmtleXMuaW5jbHVkZXMobik7cyYmdGhpcy5jbGllbnQuc2Vzc2lvbi51cGRhdGUobix7dHJhbnNwb3J0VHlwZTp0ZS5saW5rX21vZGV9KSx0aGlzLmNsaWVudC5jb3JlLmRpc3BhdGNoRW52ZWxvcGUoe3RvcGljOm4sbWVzc2FnZTppLHNlc3Npb25FeGlzdHM6c30pfSx0aGlzLnJlZ2lzdGVyTGlua01vZGVMaXN0ZW5lcnM9YXN5bmMoKT0+e2lmKEhvKCl8fHNyKCkmJnRoaXMuY2xpZW50Lm1ldGFkYXRhLnJlZGlyZWN0Py5saW5rTW9kZSl7Y29uc3Qgcj1nbG9iYWw/Lkxpbmtpbmc7aWYodHlwZW9mIHI8InUiKXtyLmFkZEV2ZW50TGlzdGVuZXIoInVybCIsdGhpcy5oYW5kbGVMaW5rTW9kZU1lc3NhZ2UsdGhpcy5jbGllbnQubmFtZSk7Y29uc3Qgbj1hd2FpdCByLmdldEluaXRpYWxVUkwoKTtuJiZzZXRUaW1lb3V0KCgpPT57dGhpcy5oYW5kbGVMaW5rTW9kZU1lc3NhZ2Uoe3VybDpufSl9LDUwKX19fSx0aGlzLmdldFRWRkFwcHJvdmVQYXJhbXM9cj0+e3RyeXtjb25zdCBuPWpoKHIubmFtZXNwYWNlcyksaT1FMihyLm5hbWVzcGFjZXMpLHM9djIoci5uYW1lc3BhY2VzKSxvPXIuc2Vzc2lvblByb3BlcnRpZXMsYT1yLnNjb3BlZFByb3BlcnRpZXM7cmV0dXJue2FwcHJvdmVkQ2hhaW5zOm4sYXBwcm92ZWRNZXRob2RzOmksYXBwcm92ZWRFdmVudHM6cyxzZXNzaW9uUHJvcGVydGllczpvLHNjb3BlZFByb3BlcnRpZXM6YX19Y2F0Y2gobil7cmV0dXJuIHRoaXMuY2xpZW50LmxvZ2dlci53YXJuKG4sIkVycm9yIGdldHRpbmcgVFZGIGFwcHJvdmUgcGFyYW1zIikse319fSx0aGlzLmdldFRWRlBhcmFtcz0ocixuLGkpPT57aWYoIW4ucmVxdWVzdD8ubWV0aG9kKXJldHVybnt9O2NvbnN0IHM9e2NvcnJlbGF0aW9uSWQ6cixycGNNZXRob2RzOltuLnJlcXVlc3QubWV0aG9kXSxjaGFpbklkOm4uY2hhaW5JZH07dHJ5e2NvbnN0IG89dGhpcy5leHRyYWN0VHhIYXNoZXNGcm9tUmVzdWx0KG4ucmVxdWVzdCxpKTtzLnR4SGFzaGVzPW8scy5jb250cmFjdEFkZHJlc3Nlcz10aGlzLmlzVmFsaWRDb250cmFjdERhdGEobi5yZXF1ZXN0LnBhcmFtcyk/W24ucmVxdWVzdC5wYXJhbXM/LlswXT8udG9dOltdfWNhdGNoKG8pe3RoaXMuY2xpZW50LmxvZ2dlci53YXJuKG8sIkVycm9yIGdldHRpbmcgVFZGIHBhcmFtcyIpfXJldHVybiBzfSx0aGlzLmlzVmFsaWRDb250cmFjdERhdGE9cj0+e2lmKCFyKXJldHVybiExO3RyeXtjb25zdCBuPXI/LmRhdGF8fHI/LlswXT8uZGF0YTtpZighbi5zdGFydHNXaXRoKCIweCIpKXJldHVybiExO2NvbnN0IGk9bi5zbGljZSgyKTtyZXR1cm4vXlswLTlhLWZBLUZdKiQvLnRlc3QoaSk/aS5sZW5ndGglMj09PTA6ITF9Y2F0Y2h7fXJldHVybiExfSx0aGlzLmV4dHJhY3RUeEhhc2hlc0Zyb21SZXN1bHQ9KHIsbik9Pnt0cnl7aWYoIW4pcmV0dXJuW107Y29uc3QgaT1yLm1ldGhvZCxzPUFmW2ldO2lmKGk9PT0ic3VpX3NpZ25UcmFuc2FjdGlvbiIpcmV0dXJuW2p2KG4udHJhbnNhY3Rpb25CeXRlcyldO2lmKGk9PT0ibmVhcl9zaWduVHJhbnNhY3Rpb24iKXJldHVybltTaChuKV07aWYoaT09PSJuZWFyX3NpZ25UcmFuc2FjdGlvbnMiKXJldHVybiBuLm1hcChhPT5TaChhKSk7aWYoaT09PSJ4cnBsX3NpZ25UcmFuc2FjdGlvbkZvciJ8fGk9PT0ieHJwbF9zaWduVHJhbnNhY3Rpb24iKXJldHVybltuLnR4X2pzb24/Lmhhc2hdO2lmKGk9PT0icG9sa2Fkb3Rfc2lnblRyYW5zYWN0aW9uIilyZXR1cm5bbF8oe3RyYW5zYWN0aW9uOnIucGFyYW1zLnRyYW5zYWN0aW9uUGF5bG9hZCxzaWduYXR1cmU6bi5zaWduYXR1cmV9KV07aWYoaT09PSJhbGdvX3NpZ25UeG4iKXJldHVybiBZcihuKT9uLm1hcChhPT5JaChhKSk6W0loKG4pXTtpZihpPT09ImNvc21vc19zaWduRGlyZWN0IilyZXR1cm5bVnYobildO2lmKGk9PT0id2FsbGV0X3NlbmRDYWxscyIpcmV0dXJuIEh2KG4pO2lmKGk9PT0iY2FudG9uX3ByZXBhcmVTaWduRXhlY3V0ZSIpcmV0dXJuIGRfKHIucGFyYW1zLG4pO2lmKHR5cGVvZiBuPT0ic3RyaW5nIilyZXR1cm5bbl07Y29uc3Qgbz1uW3Mua2V5XTtpZihZcihvKSlyZXR1cm4gaT09PSJzb2xhbmFfc2lnbkFsbFRyYW5zYWN0aW9ucyI/by5tYXAoYT0+enYoYSkpOm87aWYodHlwZW9mIG89PSJzdHJpbmciKXJldHVybltvXX1jYXRjaChpKXt0aGlzLmNsaWVudC5sb2dnZXIud2FybihpLCJFcnJvciBleHRyYWN0aW5nIHR4IGhhc2hlcyBmcm9tIHJlc3VsdCIpfXJldHVybltdfX1hc3luYyBwcm9jZXNzUGVuZGluZ01lc3NhZ2VFdmVudHMoKXt0cnl7Y29uc3QgZT10aGlzLmNsaWVudC5zZXNzaW9uLmtleXMscj10aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIubWVzc2FnZXMuZ2V0V2l0aG91dEFjayhlKTtmb3IoY29uc3RbbixpXW9mIE9iamVjdC5lbnRyaWVzKHIpKWZvcihjb25zdCBzIG9mIGkpdHJ5e2F3YWl0IHRoaXMub25Qcm92aWRlck1lc3NhZ2VFdmVudCh7dG9waWM6bixtZXNzYWdlOnMscHVibGlzaGVkQXQ6RGF0ZS5ub3coKX0pfWNhdGNoe3RoaXMuY2xpZW50LmxvZ2dlci53YXJuKGBFcnJvciBwcm9jZXNzaW5nIHBlbmRpbmcgbWVzc2FnZSBldmVudCBmb3IgdG9waWM6ICR7bn0sIG1lc3NhZ2U6ICR7c31gKX19Y2F0Y2goZSl7dGhpcy5jbGllbnQubG9nZ2VyLndhcm4oZSwicHJvY2Vzc1BlbmRpbmdNZXNzYWdlRXZlbnRzIGZhaWxlZCIpfX1pc0luaXRpYWxpemVkKCl7aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0e21lc3NhZ2U6ZX09RigiTk9UX0lOSVRJQUxJWkVEIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19YXN5bmMgY29uZmlybU9ubGluZVN0YXRlT3JUaHJvdygpe2F3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5jb25maXJtT25saW5lU3RhdGVPclRocm93KCl9cmVnaXN0ZXJSZWxheWVyRXZlbnRzKCl7dGhpcy5jbGllbnQuY29yZS5yZWxheWVyLm9uKHNlLm1lc3NhZ2UsZT0+e3RoaXMub25Qcm92aWRlck1lc3NhZ2VFdmVudChlKX0pfWFzeW5jIG9uUmVsYXlNZXNzYWdlKGUpe2NvbnN0e3RvcGljOnIsbWVzc2FnZTpuLGF0dGVzdGF0aW9uOmksdHJhbnNwb3J0VHlwZTpzfT1lLHtwdWJsaWNLZXk6b309dGhpcy5jbGllbnQuYXV0aC5hdXRoS2V5cy5rZXlzLmluY2x1ZGVzKGt0KT90aGlzLmNsaWVudC5hdXRoLmF1dGhLZXlzLmdldChrdCk6e3B1YmxpY0tleTp2b2lkIDB9O3RyeXt0cnl7aWYocyE9PXRlLmxpbmtfbW9kZSYmdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZ2V0UGF5bG9hZFR5cGUobixwdCk9PT1Jcil7dGhpcy5jbGllbnQubG9nZ2VyLndhcm4oYG9uUmVsYXlNZXNzYWdlKCkgLT4gbm9uLWxpbmsgbW9kZSBUWVBFXzIgcGF5bG9hZCBpZ25vcmVkOiAke259YCk7cmV0dXJufX1jYXRjaHt9Y29uc3QgYT1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5kZWNvZGUocixuLHtyZWNlaXZlclB1YmxpY0tleTpvLGVuY29kaW5nOnM9PT10ZS5saW5rX21vZGU/cHQ6RWV9KTtvYShhKT8odGhpcy5jbGllbnQuY29yZS5oaXN0b3J5LnNldChyLGEpLGF3YWl0IHRoaXMub25SZWxheUV2ZW50UmVxdWVzdCh7dG9waWM6cixwYXlsb2FkOmEsYXR0ZXN0YXRpb246aSx0cmFuc3BvcnRUeXBlOnMsZW5jcnlwdGVkSWQ6V2Uobil9KSk6VmkoYSk/KGF3YWl0IHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5yZXNvbHZlKGEpLGF3YWl0IHRoaXMub25SZWxheUV2ZW50UmVzcG9uc2Uoe3RvcGljOnIscGF5bG9hZDphLHRyYW5zcG9ydFR5cGU6c30pLHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5kZWxldGUocixhLmlkKSk6KHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihgb25SZWxheU1lc3NhZ2UoKSAtPiB1bmtub3duIHBheWxvYWQ6ICR7SlNPTi5zdHJpbmdpZnkoYSl9YCksYXdhaXQgdGhpcy5vblJlbGF5RXZlbnRVbmtub3duUGF5bG9hZCh7dG9waWM6cixwYXlsb2FkOmEsdHJhbnNwb3J0VHlwZTpzfSkpLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5tZXNzYWdlcy5hY2socixuKX1jYXRjaChhKXt0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoYG9uUmVsYXlNZXNzYWdlKCkgLT4gZmFpbGVkIHRvIHByb2Nlc3MgYW4gaW5ib3VuZCBtZXNzYWdlOiAke259YCksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGE/Lm1lc3NhZ2UpfX1yZWdpc3RlckV4cGlyZXJFdmVudHMoKXt0aGlzLmNsaWVudC5jb3JlLmV4cGlyZXIub24oWmUuZXhwaXJlZCxhc3luYyBlPT57Y29uc3R7dG9waWM6cixpZDpufT1iaChlLnRhcmdldCk7aWYobiYmdGhpcy5jbGllbnQucGVuZGluZ1JlcXVlc3Qua2V5cy5pbmNsdWRlcyhuKSlyZXR1cm4gYXdhaXQgdGhpcy5kZWxldGVQZW5kaW5nU2Vzc2lvblJlcXVlc3QobixGKCJFWFBJUkVEIiksITApO2lmKG4mJnRoaXMuY2xpZW50LmF1dGgucmVxdWVzdHMua2V5cy5pbmNsdWRlcyhuKSlyZXR1cm4gYXdhaXQgdGhpcy5kZWxldGVQZW5kaW5nQXV0aFJlcXVlc3QobixGKCJFWFBJUkVEIiksITApO3I/dGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzLmluY2x1ZGVzKHIpJiYoYXdhaXQgdGhpcy5kZWxldGVTZXNzaW9uKHt0b3BpYzpyLGV4cGlyZXJIYXNEZWxldGVkOiEwfSksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fZXhwaXJlIix7dG9waWM6cn0pKTpuJiYoYXdhaXQgdGhpcy5kZWxldGVQcm9wb3NhbChuLCEwKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgicHJvcG9zYWxfZXhwaXJlIix7aWQ6bn0pKX0pfXJlZ2lzdGVyU3Vic2NyaXB0aW9uQ2xlYW51cCgpe3RoaXMuY2xpZW50LmNvcmUuaGVhcnRiZWF0Lm9uKCJoZWFydGJlYXRfcHVsc2UiLGFzeW5jKCk9PntpZighdGhpcy5jbGVhbnVwSW5Qcm9ncmVzcyl7dGhpcy5jbGVhbnVwSW5Qcm9ncmVzcz0hMDt0cnl7YXdhaXQgdGhpcy5jbGVhbnVwT3JwaGFuZWRTdWJzY3JpcHRpb25zKCl9Y2F0Y2goZSl7dGhpcy5jbGllbnQubG9nZ2VyLndhcm4oZSl9ZmluYWxseXt0aGlzLmNsZWFudXBJblByb2dyZXNzPSExfX19KX1yZWdpc3RlclBhaXJpbmdFdmVudHMoKXt0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuZXZlbnRzLm9uKEFyLmNyZWF0ZSxlPT50aGlzLm9uUGFpcmluZ0NyZWF0ZWQoZSkpLHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5ldmVudHMub24oQXIuZGVsZXRlLGU9Pnt0aGlzLmFkZFRvUmVjZW50bHlEZWxldGVkKGUudG9waWMsInBhaXJpbmciKX0pfWlzVmFsaWRQYWlyaW5nVG9waWMoZSl7aWYoIW9lKGUsITEpKXtjb25zdHttZXNzYWdlOnJ9PUYoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHBhaXJpbmcgdG9waWMgc2hvdWxkIGJlIGEgc3RyaW5nOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfWlmKCF0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhlKSl7Y29uc3R7bWVzc2FnZTpyfT1GKCJOT19NQVRDSElOR19LRVkiLGBwYWlyaW5nIHRvcGljIGRvZXNuJ3QgZXhpc3Q6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9aWYob3IodGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmdldChlKS5leHBpcnkpKXtjb25zdHttZXNzYWdlOnJ9PUYoIkVYUElSRUQiLGBwYWlyaW5nIHRvcGljOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfX1hc3luYyBpc1ZhbGlkU2Vzc2lvblRvcGljKGUpe2lmKCFvZShlLCExKSl7Y29uc3R7bWVzc2FnZTpyfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBzZXNzaW9uIHRvcGljIHNob3VsZCBiZSBhIHN0cmluZzogJHtlfWApO3Rocm93IG5ldyBFcnJvcihyKX1pZih0aGlzLmNoZWNrUmVjZW50bHlEZWxldGVkKGUpLCF0aGlzLmNsaWVudC5zZXNzaW9uLmtleXMuaW5jbHVkZXMoZSkpe2NvbnN0e21lc3NhZ2U6cn09RigiTk9fTUFUQ0hJTkdfS0VZIixgc2Vzc2lvbiB0b3BpYyBkb2Vzbid0IGV4aXN0OiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfWlmKG9yKHRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KGUpLmV4cGlyeSkpe2F3YWl0IHRoaXMuZGVsZXRlU2Vzc2lvbih7dG9waWM6ZX0pO2NvbnN0e21lc3NhZ2U6cn09RigiRVhQSVJFRCIsYHNlc3Npb24gdG9waWM6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9aWYoIXRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmtleWNoYWluLmhhcyhlKSl7Y29uc3R7bWVzc2FnZTpyfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBzZXNzaW9uIHRvcGljIGRvZXMgbm90IGV4aXN0IGluIGtleWNoYWluOiAke2V9YCk7dGhyb3cgYXdhaXQgdGhpcy5kZWxldGVTZXNzaW9uKHt0b3BpYzplfSksbmV3IEVycm9yKHIpfX1hc3luYyBpc1ZhbGlkU2Vzc2lvbk9yUGFpcmluZ1RvcGljKGUpe2lmKHRoaXMuY2hlY2tSZWNlbnRseURlbGV0ZWQoZSksdGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzLmluY2x1ZGVzKGUpKWF3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25Ub3BpYyhlKTtlbHNlIGlmKHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKGUpKXRoaXMuaXNWYWxpZFBhaXJpbmdUb3BpYyhlKTtlbHNlIGlmKG9lKGUsITEpKXtjb25zdHttZXNzYWdlOnJ9PUYoIk5PX01BVENISU5HX0tFWSIsYHNlc3Npb24gb3IgcGFpcmluZyB0b3BpYyBkb2Vzbid0IGV4aXN0OiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfWVsc2V7Y29uc3R7bWVzc2FnZTpyfT1GKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBzZXNzaW9uIG9yIHBhaXJpbmcgdG9waWMgc2hvdWxkIGJlIGEgc3RyaW5nOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfX1hc3luYyBpc1ZhbGlkUHJvcG9zYWxJZChlKXtpZighRjIoZSkpe2NvbnN0e21lc3NhZ2U6cn09RigiTUlTU0lOR19PUl9JTlZBTElEIixgcHJvcG9zYWwgaWQgc2hvdWxkIGJlIGEgbnVtYmVyOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfWlmKCF0aGlzLmNsaWVudC5wcm9wb3NhbC5rZXlzLmluY2x1ZGVzKGUpKXtjb25zdHttZXNzYWdlOnJ9PUYoIk5PX01BVENISU5HX0tFWSIsYHByb3Bvc2FsIGlkIGRvZXNuJ3QgZXhpc3Q6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9aWYob3IodGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KGUpLmV4cGlyeVRpbWVzdGFtcCkpe2F3YWl0IHRoaXMuZGVsZXRlUHJvcG9zYWwoZSk7Y29uc3R7bWVzc2FnZTpyfT1GKCJFWFBJUkVEIixgcHJvcG9zYWwgaWQ6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9fXZhbGlkYXRlUmVxdWVzdEV4cGlyeShlKXtpZihlJiYhWTIoZSxZaSkpe2NvbnN0e21lc3NhZ2U6cn09RigiTUlTU0lOR19PUl9JTlZBTElEIixgcmVxdWVzdCgpIGV4cGlyeTogJHtlfS4gRXhwaXJ5IG11c3QgYmUgYSBudW1iZXIgKGluIHNlY29uZHMpIGJldHdlZW4gJHtZaS5taW59IGFuZCAke1lpLm1heH1gKTt0aHJvdyBuZXcgRXJyb3Iocil9fX1jbGFzcyBVUyBleHRlbmRzIEJye2NvbnN0cnVjdG9yKGUscil7c3VwZXIoZSxyLFNmLFdpKSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yfX1jbGFzcyBDZiBleHRlbmRzIEJye2NvbnN0cnVjdG9yKGUscil7c3VwZXIoZSxyLElmLFdpKSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yfX1jbGFzcyBMUyBleHRlbmRzIEJye2NvbnN0cnVjdG9yKGUscil7c3VwZXIoZSxyLE9mLFdpLG49Pm4uaWQpLHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXJ9fWNsYXNzIGtTIGV4dGVuZHMgQnJ7Y29uc3RydWN0b3IoZSxyKXtzdXBlcihlLHIsTmYsTW4sKCk9Pmt0KSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yfX1jbGFzcyBNUyBleHRlbmRzIEJye2NvbnN0cnVjdG9yKGUscil7c3VwZXIoZSxyLFBmLE1uKSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yfX1jbGFzcyBGUyBleHRlbmRzIEJye2NvbnN0cnVjdG9yKGUscil7c3VwZXIoZSxyLCRmLE1uLG49Pm4uaWQpLHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXJ9fWNsYXNzIHFTe2NvbnN0cnVjdG9yKGUscil7dGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLmF1dGhLZXlzPW5ldyBrUyh0aGlzLmNvcmUsdGhpcy5sb2dnZXIpLHRoaXMucGFpcmluZ1RvcGljcz1uZXcgTVModGhpcy5jb3JlLHRoaXMubG9nZ2VyKSx0aGlzLnJlcXVlc3RzPW5ldyBGUyh0aGlzLmNvcmUsdGhpcy5sb2dnZXIpfWFzeW5jIGluaXQoKXthd2FpdCB0aGlzLmF1dGhLZXlzLmluaXQoKSxhd2FpdCB0aGlzLnBhaXJpbmdUb3BpY3MuaW5pdCgpLGF3YWl0IHRoaXMucmVxdWVzdHMuaW5pdCgpfX1sZXQgVWY9Y2xhc3MgVmYgZXh0ZW5kcyBvZ3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnByb3RvY29sPWxhLHRoaXMudmVyc2lvbj1oYSx0aGlzLm5hbWU9R2kubmFtZSx0aGlzLmV2ZW50cz1uZXcgWGUuRXZlbnRFbWl0dGVyLHRoaXMub249KG4saSk9PnRoaXMuZXZlbnRzLm9uKG4saSksdGhpcy5vbmNlPShuLGkpPT50aGlzLmV2ZW50cy5vbmNlKG4saSksdGhpcy5vZmY9KG4saSk9PnRoaXMuZXZlbnRzLm9mZihuLGkpLHRoaXMucmVtb3ZlTGlzdGVuZXI9KG4saSk9PnRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKG4saSksdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnM9bj0+dGhpcy5ldmVudHMucmVtb3ZlQWxsTGlzdGVuZXJzKG4pLHRoaXMuY29ubmVjdD1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5jb25uZWN0KG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMucGFpcj1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5wYWlyKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMuYXBwcm92ZT1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5hcHByb3ZlKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMucmVqZWN0PWFzeW5jIG49Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLnJlamVjdChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLnVwZGF0ZT1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS51cGRhdGUobil9Y2F0Y2goaSl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IoaS5tZXNzYWdlKSxpfX0sdGhpcy5leHRlbmQ9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUuZXh0ZW5kKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMucmVxdWVzdD1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5yZXF1ZXN0KG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMucmVzcG9uZD1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5yZXNwb25kKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMucGluZz1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5waW5nKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMuZW1pdD1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5lbWl0KG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMuZGlzY29ubmVjdD1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5kaXNjb25uZWN0KG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMuZmluZD1uPT57dHJ5e3JldHVybiB0aGlzLmVuZ2luZS5maW5kKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMuZ2V0UGVuZGluZ1Nlc3Npb25SZXF1ZXN0cz0oKT0+e3RyeXtyZXR1cm4gdGhpcy5lbmdpbmUuZ2V0UGVuZGluZ1Nlc3Npb25SZXF1ZXN0cygpfWNhdGNoKG4pe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKG4ubWVzc2FnZSksbn19LHRoaXMuYXV0aGVudGljYXRlPWFzeW5jKG4saSk9Pnt0cnl7cmV0dXJuIGNvbnNvbGUud2FybigiW1dhbGxldENvbm5lY3RdIGBhdXRoZW50aWNhdGVgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiBVc2UgYGNvbm5lY3QoKWAncyBgYXV0aGVudGljYXRpb25gIGluc3RlYWQgdG8gZXN0YWJsaXNoIGFuIGF1dGhlbnRpY2F0ZWQgc2Vzc2lvbi4iKSxhd2FpdCB0aGlzLmVuZ2luZS5hdXRoZW50aWNhdGUobixpKX1jYXRjaChzKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihzLm1lc3NhZ2UpLHN9fSx0aGlzLmZvcm1hdEF1dGhNZXNzYWdlPW49Pnt0cnl7cmV0dXJuIHRoaXMuZW5naW5lLmZvcm1hdEF1dGhNZXNzYWdlKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMuYXBwcm92ZVNlc3Npb25BdXRoZW50aWNhdGU9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUuYXBwcm92ZVNlc3Npb25BdXRoZW50aWNhdGUobil9Y2F0Y2goaSl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IoaS5tZXNzYWdlKSxpfX0sdGhpcy5yZWplY3RTZXNzaW9uQXV0aGVudGljYXRlPWFzeW5jIG49Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLnJlamVjdFNlc3Npb25BdXRoZW50aWNhdGUobil9Y2F0Y2goaSl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IoaS5tZXNzYWdlKSxpfX0sdGhpcy5uYW1lPWU/Lm5hbWV8fEdpLm5hbWUsdGhpcy5tZXRhZGF0YT1fdihlPy5tZXRhZGF0YSksdGhpcy5zaWduQ29uZmlnPWU/LnNpZ25Db25maWc7Y29uc3Qgcj1lZih7bG9nZ2VyOmU/LmxvZ2dlcnx8R2kubG9nZ2VyLG5hbWU6dGhpcy5uYW1lfSk7dGhpcy5sb2dnZXI9cix0aGlzLmNvcmU9ZT8uY29yZXx8bmV3IEFTKGUpLHRoaXMuc2Vzc2lvbj1uZXcgQ2YodGhpcy5jb3JlLHRoaXMubG9nZ2VyKSx0aGlzLnByb3Bvc2FsPW5ldyBVUyh0aGlzLmNvcmUsdGhpcy5sb2dnZXIpLHRoaXMucGVuZGluZ1JlcXVlc3Q9bmV3IExTKHRoaXMuY29yZSx0aGlzLmxvZ2dlciksdGhpcy5lbmdpbmU9bmV3IENTKHRoaXMpLHRoaXMuYXV0aD1uZXcgcVModGhpcy5jb3JlLHRoaXMubG9nZ2VyKX1zdGF0aWMgYXN5bmMgaW5pdChlKXtjb25zdCByPW5ldyBWZihlKTtyZXR1cm4gYXdhaXQgci5pbml0aWFsaXplKCkscn1nZXQgY29udGV4dCgpe3JldHVybiBOZSh0aGlzLmxvZ2dlcil9Z2V0IHBhaXJpbmcoKXtyZXR1cm4gdGhpcy5jb3JlLnBhaXJpbmcucGFpcmluZ3N9YXN5bmMgaW5pdGlhbGl6ZSgpe3RoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpO3RyeXthd2FpdCB0aGlzLmNvcmUuc3RhcnQoKSxhd2FpdCB0aGlzLnNlc3Npb24uaW5pdCgpLGF3YWl0IHRoaXMucHJvcG9zYWwuaW5pdCgpLGF3YWl0IHRoaXMucGVuZGluZ1JlcXVlc3QuaW5pdCgpLGF3YWl0IHRoaXMuYXV0aC5pbml0KCksYXdhaXQgdGhpcy5lbmdpbmUuaW5pdCgpLHRoaXMubG9nZ2VyLmluZm8oIlNpZ25DbGllbnQgSW5pdGlhbGl6YXRpb24gU3VjY2VzcyIpfWNhdGNoKGUpe3Rocm93IHRoaXMubG9nZ2VyLmluZm8oIlNpZ25DbGllbnQgSW5pdGlhbGl6YXRpb24gRmFpbHVyZSIpLHRoaXMubG9nZ2VyLmVycm9yKGUubWVzc2FnZSksZX19fTtjb25zdCB6Uz1DZixqUz1VZjtaLkFVVEhfQ09OVEVYVD1SZixaLkFVVEhfS0VZU19DT05URVhUPU5mLFouQVVUSF9QQUlSSU5HX1RPUElDX0NPTlRFWFQ9UGYsWi5BVVRIX1BST1RPQ09MPUJmLFouQVVUSF9QVUJMSUNfS0VZX05BTUU9a3QsWi5BVVRIX1JFUVVFU1RfQ09OVEVYVD0kZixaLkFVVEhfU1RPUkFHRV9QUkVGSVg9TW4sWi5BVVRIX1ZFUlNJT049JFMsWi5FTkdJTkVfQ09OVEVYVD1EZixaLkVOR0lORV9RVUVVRV9TVEFURVM9b3QsWi5FTkdJTkVfUlBDX09QVFM9eWUsWi5ISVNUT1JZX0NPTlRFWFQ9UlMsWi5ISVNUT1JZX0VWRU5UUz1CUyxaLkhJU1RPUllfU1RPUkFHRV9WRVJTSU9OPU5TLFouTUVUSE9EU19UT19WRVJJRlk9VGYsWi5QUk9QT1NBTF9DT05URVhUPVNmLFouUFJPUE9TQUxfRVhQSVJZPVBTLFouUFJPUE9TQUxfRVhQSVJZX01FU1NBR0U9cGEsWi5SRVFVRVNUX0NPTlRFWFQ9T2YsWi5TRVNTSU9OX0NPTlRFWFQ9SWYsWi5TRVNTSU9OX0VYUElSWT1ScixaLlNFU1NJT05fUkVRVUVTVF9FWFBJUllfQk9VTkRBUklFUz1ZaSxaLlNJR05fQ0xJRU5UX0NPTlRFWFQ9ZmEsWi5TSUdOX0NMSUVOVF9ERUZBVUxUPUdpLFouU0lHTl9DTElFTlRfRVZFTlRTPU9TLFouU0lHTl9DTElFTlRfUFJPVE9DT0w9bGEsWi5TSUdOX0NMSUVOVF9TVE9SQUdFX09QVElPTlM9VFMsWi5TSUdOX0NMSUVOVF9TVE9SQUdFX1BSRUZJWD1XaSxaLlNJR05fQ0xJRU5UX1ZFUlNJT049aGEsWi5TZXNzaW9uU3RvcmU9elMsWi5TaWduQ2xpZW50PWpTLFouVFZGX01FVEhPRFM9QWYsWi5XQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRT1kYSxaLmRlZmF1bHQ9VWYsT2JqZWN0LmRlZmluZVByb3BlcnR5KFosIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LnVtZC5qcy5tYXAK"}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":13,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/@tronweb3/tronwallet-adapter-ledger@1.1.8/lib/umd/index.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.467Z","timestamp":1785140382467,"http_version":"HTTP/3","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":"*.jsdelivr.net","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV R36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 22 Apr 2026 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"65:D9:C4:7E:04:4C:FD:DD:60:E0:CC:18:B5:B7:01:68:B4:2D:C7:34","sha256":"50:6C:A4:F6:ED:74:C7:E9:68:DB:32:56:5A:68:4C:98:ED:01:28:36:F8:13:BA:CC:19:A7:FD:7A:0A:6E:E7:D4"}}},"request":{"raw":"GET /npm/@tronweb3/tronwallet-adapter-ledger@1.1.8/lib/umd/index.min.js HTTP/1.1\r\nHost: cdn.jsdelivr.net\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 51295\r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=31536000, s-maxage=31536000, immutable\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-jsd-version: 1.1.8\r\nx-jsd-version-type: version\r\netag: W/\"2723c-ovhoagOrPu7QeSNF0jKxd4Hop3I\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\nx-served-by: cache-fra-eddf8230162-FRA, cache-ber1080044-BER\r\nx-cache: HIT, HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=3,i=?0\r\nage: 1557879\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=NSvD90YBKgNxvxvQGwHjrSfWLSFP2IIWp83gKkYlARAk0cK5tAYBcGT6o6vw8WyOq7c2cIHzRrw2p13sLTq1fGwLyVYMBqOXJJrlSSCTRGixLp2ypAtudvdN6B%2FKsgOFHTA%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: a21a387e6fe8b4f1-OSL\r\nserver-timing: cfExtPri\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":"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"]}],"data":{"size":160316,"size_decoded":52459,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"11343b667b97d3bfbc3d6eb9b65d97c8","sha1":"a2f8686a03ab3eeed0792345d232b17781e8a772","sha256":"4acce69f6f0af26517527af70044bf74a9bcf98cb0160edf336d071d35f23a8a","sha512":"3b621eb7e554131e696204841f74ba56c3887ea19141d3088a3a746b67659ee4f694cbb4a9690edc1424b90533de50624d9754fda4dfea84d9954e1e4c17a6e5","ssdeep":"1536:UYRcTahUzhYEiAoSFSFbfrAWFP8jW86603hHOHsEAHthWDL7bXHthhj:5Rc2ihY0oSQFL0sEjWa03rEVV","tlshash":"f9f33bc8b391b025539716f6407f100af3396e19f80c4468b364d8db7cf998a96abf79","first_seen":"2025-06-29T04:43:04.385454Z","last_seen":"2026-07-27T11:57:52.255038Z","times_seen":261,"resource_available":true,"data":"IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6ZXx8c2VsZilbIkB0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItbGVkZ2VyIl09dCgpfSh0aGlzLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9O2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImRlZmF1bHQiKT9lLmRlZmF1bHQ6ZX1mdW5jdGlvbiBuKGUpe2lmKGUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD1lLmRlZmF1bHQ7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBuPWZ1bmN0aW9uIGUoKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGU/UmVmbGVjdC5jb25zdHJ1Y3QodCxhcmd1bWVudHMsdGhpcy5jb25zdHJ1Y3Rvcik6dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O24ucHJvdG90eXBlPXQucHJvdG90eXBlfWVsc2Ugbj17fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5rZXlzKGUpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkobix0LHIuZ2V0P3I6e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGVbdF19fSl9KSksbn12YXIgcj17fSxvPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30saT1bXSxzPVtdLGE9InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksbD0hMTtmdW5jdGlvbiBjKCl7bD0hMDtmb3IodmFyIGU9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLHQ9MDt0PDY0OysrdClpW3RdPWVbdF0sc1tlLmNoYXJDb2RlQXQodCldPXQ7c1siLSIuY2hhckNvZGVBdCgwKV09NjIsc1siXyIuY2hhckNvZGVBdCgwKV09NjN9ZnVuY3Rpb24gdShlLHQsbil7Zm9yKHZhciByLG8scz1bXSxhPXQ7YTxuO2ErPTMpcj0oZVthXTw8MTYpKyhlW2ErMV08PDgpK2VbYSsyXSxzLnB1c2goaVsobz1yKT4+MTgmNjNdK2lbbz4+MTImNjNdK2lbbz4+NiY2M10raVs2MyZvXSk7cmV0dXJuIHMuam9pbigiIil9ZnVuY3Rpb24gaChlKXt2YXIgdDtsfHxjKCk7Zm9yKHZhciBuPWUubGVuZ3RoLHI9biUzLG89IiIscz1bXSxhPTE2MzgzLGg9MCxmPW4tcjtoPGY7aCs9YSlzLnB1c2godShlLGgsaCthPmY/ZjpoK2EpKTtyZXR1cm4gMT09PXI/KHQ9ZVtuLTFdLG8rPWlbdD4+Ml0sbys9aVt0PDw0JjYzXSxvKz0iPT0iKToyPT09ciYmKHQ9KGVbbi0yXTw8OCkrZVtuLTFdLG8rPWlbdD4+MTBdLG8rPWlbdD4+NCY2M10sbys9aVt0PDwyJjYzXSxvKz0iPSIpLHMucHVzaChvKSxzLmpvaW4oIiIpfWZ1bmN0aW9uIGYoZSx0LG4scixvKXt2YXIgaSxzLGE9OCpvLXItMSxsPSgxPDxhKS0xLGM9bD4+MSx1PS03LGg9bj9vLTE6MCxmPW4/LTE6MSxkPWVbdCtoXTtmb3IoaCs9ZixpPWQmKDE8PC11KS0xLGQ+Pj0tdSx1Kz1hO3U+MDtpPTI1NippK2VbdCtoXSxoKz1mLHUtPTgpO2ZvcihzPWkmKDE8PC11KS0xLGk+Pj0tdSx1Kz1yO3U+MDtzPTI1NipzK2VbdCtoXSxoKz1mLHUtPTgpO2lmKDA9PT1pKWk9MS1jO2Vsc2V7aWYoaT09PWwpcmV0dXJuIHM/TmFOOjEvMCooZD8tMToxKTtzKz1NYXRoLnBvdygyLHIpLGktPWN9cmV0dXJuKGQ/LTE6MSkqcypNYXRoLnBvdygyLGktcil9ZnVuY3Rpb24gZChlLHQsbixyLG8saSl7dmFyIHMsYSxsLGM9OCppLW8tMSx1PSgxPDxjKS0xLGg9dT4+MSxmPTIzPT09bz9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsZD1yPzA6aS0xLHA9cj8xOi0xLGc9dDwwfHwwPT09dCYmMS90PDA/MTowO2Zvcih0PU1hdGguYWJzKHQpLGlzTmFOKHQpfHx0PT09MS8wPyhhPWlzTmFOKHQpPzE6MCxzPXUpOihzPU1hdGguZmxvb3IoTWF0aC5sb2codCkvTWF0aC5MTjIpLHQqKGw9TWF0aC5wb3coMiwtcykpPDEmJihzLS0sbCo9MiksKHQrPXMraD49MT9mL2w6ZipNYXRoLnBvdygyLDEtaCkpKmw+PTImJihzKyssbC89MikscytoPj11PyhhPTAscz11KTpzK2g+PTE/KGE9KHQqbC0xKSpNYXRoLnBvdygyLG8pLHMrPWgpOihhPXQqTWF0aC5wb3coMixoLTEpKk1hdGgucG93KDIsbykscz0wKSk7bz49ODtlW24rZF09MjU1JmEsZCs9cCxhLz0yNTYsby09OCk7Zm9yKHM9czw8b3xhLGMrPW87Yz4wO2VbbitkXT0yNTUmcyxkKz1wLHMvPTI1NixjLT04KTtlW24rZC1wXXw9MTI4Kmd9dmFyIHA9e30udG9TdHJpbmcsZz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT1wLmNhbGwoZSl9O3kuVFlQRURfQVJSQVlfU1VQUE9SVD12b2lkIDA9PT1vLlRZUEVEX0FSUkFZX1NVUFBPUlR8fG8uVFlQRURfQVJSQVlfU1VQUE9SVDt2YXIgdj1fKCk7ZnVuY3Rpb24gXygpe3JldHVybiB5LlRZUEVEX0FSUkFZX1NVUFBPUlQ/MjE0NzQ4MzY0NzoxMDczNzQxODIzfWZ1bmN0aW9uIG0oZSx0KXtpZihfKCk8dCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgiKTtyZXR1cm4geS5UWVBFRF9BUlJBWV9TVVBQT1JUPyhlPW5ldyBVaW50OEFycmF5KHQpKS5fX3Byb3RvX189eS5wcm90b3R5cGU6KG51bGw9PT1lJiYoZT1uZXcgeSh0KSksZS5sZW5ndGg9dCksZX1mdW5jdGlvbiB5KGUsdCxuKXtpZighKHkuVFlQRURfQVJSQVlfU1VQUE9SVHx8dGhpcyBpbnN0YW5jZW9mIHkpKXJldHVybiBuZXcgeShlLHQsbik7aWYoIm51bWJlciI9PXR5cGVvZiBlKXtpZigic3RyaW5nIj09dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJJZiBlbmNvZGluZyBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybiBBKHRoaXMsZSl9cmV0dXJuIEUodGhpcyxlLHQsbil9ZnVuY3Rpb24gRShlLHQsbixyKXtpZigibnVtYmVyIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9mdW5jdGlvbihlLHQsbixyKXtpZih0LmJ5dGVMZW5ndGgsbjwwfHx0LmJ5dGVMZW5ndGg8bil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ29mZnNldCcgaXMgb3V0IG9mIGJvdW5kcyIpO2lmKHQuYnl0ZUxlbmd0aDxuKyhyfHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kcyIpO3Q9dm9pZCAwPT09biYmdm9pZCAwPT09cj9uZXcgVWludDhBcnJheSh0KTp2b2lkIDA9PT1yP25ldyBVaW50OEFycmF5KHQsbik6bmV3IFVpbnQ4QXJyYXkodCxuLHIpO3kuVFlQRURfQVJSQVlfU1VQUE9SVD8oZT10KS5fX3Byb3RvX189eS5wcm90b3R5cGU6ZT1iKGUsdCk7cmV0dXJuIGV9KGUsdCxuLHIpOiJzdHJpbmciPT10eXBlb2YgdD9mdW5jdGlvbihlLHQsbil7InN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fChuPSJ1dGY4Iik7aWYoIXkuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCciZW5jb2RpbmciIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgZW5jb2RpbmcnKTt2YXIgcj0wfFModCxuKTtlPW0oZSxyKTt2YXIgbz1lLndyaXRlKHQsbik7byE9PXImJihlPWUuc2xpY2UoMCxvKSk7cmV0dXJuIGV9KGUsdCxuKTpmdW5jdGlvbihlLHQpe2lmKHgodCkpe3ZhciBuPTB8SSh0Lmxlbmd0aCk7cmV0dXJuIDA9PT0oZT1tKGUsbikpLmxlbmd0aHx8dC5jb3B5KGUsMCwwLG4pLGV9aWYodCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdC5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8Imxlbmd0aCJpbiB0KXJldHVybiJudW1iZXIiIT10eXBlb2YgdC5sZW5ndGh8fChyPXQubGVuZ3RoKSE9cj9tKGUsMCk6YihlLHQpO2lmKCJCdWZmZXIiPT09dC50eXBlJiZnKHQuZGF0YSkpcmV0dXJuIGIoZSx0LmRhdGEpfXZhciByO3Rocm93IG5ldyBUeXBlRXJyb3IoIkZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBhcnJheS1saWtlIG9iamVjdC4iKX0oZSx0KX1mdW5jdGlvbiB3KGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpO2lmKGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInNpemUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG5lZ2F0aXZlJyl9ZnVuY3Rpb24gQShlLHQpe2lmKHcodCksZT1tKGUsdDwwPzA6MHxJKHQpKSwheS5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcih2YXIgbj0wO248dDsrK24pZVtuXT0wO3JldHVybiBlfWZ1bmN0aW9uIGIoZSx0KXt2YXIgbj10Lmxlbmd0aDwwPzA6MHxJKHQubGVuZ3RoKTtlPW0oZSxuKTtmb3IodmFyIHI9MDtyPG47cis9MSllW3JdPTI1NSZ0W3JdO3JldHVybiBlfWZ1bmN0aW9uIEkoZSl7aWYoZT49XygpKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4IitfKCkudG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gMHxlfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIShudWxsPT1lfHwhZS5faXNCdWZmZXIpfWZ1bmN0aW9uIFMoZSx0KXtpZih4KGUpKXJldHVybiBlLmxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3JiYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpfHxlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXJldHVybiBlLmJ5dGVMZW5ndGg7InN0cmluZyIhPXR5cGVvZiBlJiYoZT0iIitlKTt2YXIgbj1lLmxlbmd0aDtpZigwPT09bilyZXR1cm4gMDtmb3IodmFyIHI9ITE7Oylzd2l0Y2godCl7Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gbjtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2Ugdm9pZCAwOnJldHVybiBaKGUpLmxlbmd0aDtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIDIqbjtjYXNlImhleCI6cmV0dXJuIG4+Pj4xO2Nhc2UiYmFzZTY0IjpyZXR1cm4gZWUoZSkubGVuZ3RoO2RlZmF1bHQ6aWYocilyZXR1cm4gWihlKS5sZW5ndGg7dD0oIiIrdCkudG9Mb3dlckNhc2UoKSxyPSEwfX1mdW5jdGlvbiBMKGUsdCxuKXt2YXIgcj0hMTtpZigodm9pZCAwPT09dHx8dDwwKSYmKHQ9MCksdD50aGlzLmxlbmd0aClyZXR1cm4iIjtpZigodm9pZCAwPT09bnx8bj50aGlzLmxlbmd0aCkmJihuPXRoaXMubGVuZ3RoKSxuPD0wKXJldHVybiIiO2lmKChuPj4+PTApPD0odD4+Pj0wKSlyZXR1cm4iIjtmb3IoZXx8KGU9InV0ZjgiKTs7KXN3aXRjaChlKXtjYXNlImhleCI6cmV0dXJuIEcodGhpcyx0LG4pO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIFUodGhpcyx0LG4pO2Nhc2UiYXNjaWkiOnJldHVybiBGKHRoaXMsdCxuKTtjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiBIKHRoaXMsdCxuKTtjYXNlImJhc2U2NCI6cmV0dXJuIGoodGhpcyx0LG4pO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gVyh0aGlzLHQsbik7ZGVmYXVsdDppZihyKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrZSk7ZT0oZSsiIikudG9Mb3dlckNhc2UoKSxyPSEwfX1mdW5jdGlvbiBDKGUsdCxuKXt2YXIgcj1lW3RdO2VbdF09ZVtuXSxlW25dPXJ9ZnVuY3Rpb24gTihlLHQsbixyLG8pe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4tMTtpZigic3RyaW5nIj09dHlwZW9mIG4/KHI9bixuPTApOm4+MjE0NzQ4MzY0Nz9uPTIxNDc0ODM2NDc6bjwtMjE0NzQ4MzY0OCYmKG49LTIxNDc0ODM2NDgpLG49K24saXNOYU4obikmJihuPW8/MDplLmxlbmd0aC0xKSxuPDAmJihuPWUubGVuZ3RoK24pLG4+PWUubGVuZ3RoKXtpZihvKXJldHVybi0xO249ZS5sZW5ndGgtMX1lbHNlIGlmKG48MCl7aWYoIW8pcmV0dXJuLTE7bj0wfWlmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9eS5mcm9tKHQscikpLHgodCkpcmV0dXJuIDA9PT10Lmxlbmd0aD8tMTpPKGUsdCxuLHIsbyk7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0Jj0yNTUseS5UWVBFRF9BUlJBWV9TVVBQT1JUJiYiZnVuY3Rpb24iPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZj9vP1VpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChlLHQsbik6VWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChlLHQsbik6TyhlLFt0XSxuLHIsbyk7dGhyb3cgbmV3IFR5cGVFcnJvcigidmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyIil9ZnVuY3Rpb24gTyhlLHQsbixyLG8pe3ZhciBpLHM9MSxhPWUubGVuZ3RoLGw9dC5sZW5ndGg7aWYodm9pZCAwIT09ciYmKCJ1Y3MyIj09PShyPVN0cmluZyhyKS50b0xvd2VyQ2FzZSgpKXx8InVjcy0yIj09PXJ8fCJ1dGYxNmxlIj09PXJ8fCJ1dGYtMTZsZSI9PT1yKSl7aWYoZS5sZW5ndGg8Mnx8dC5sZW5ndGg8MilyZXR1cm4tMTtzPTIsYS89MixsLz0yLG4vPTJ9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiAxPT09cz9lW3RdOmUucmVhZFVJbnQxNkJFKHQqcyl9aWYobyl7dmFyIHU9LTE7Zm9yKGk9bjtpPGE7aSsrKWlmKGMoZSxpKT09PWModCwtMT09PXU/MDppLXUpKXtpZigtMT09PXUmJih1PWkpLGktdSsxPT09bClyZXR1cm4gdSpzfWVsc2UtMSE9PXUmJihpLT1pLXUpLHU9LTF9ZWxzZSBmb3IobitsPmEmJihuPWEtbCksaT1uO2k+PTA7aS0tKXtmb3IodmFyIGg9ITAsZj0wO2Y8bDtmKyspaWYoYyhlLGkrZikhPT1jKHQsZikpe2g9ITE7YnJlYWt9aWYoaClyZXR1cm4gaX1yZXR1cm4tMX1mdW5jdGlvbiBUKGUsdCxuLHIpe249TnVtYmVyKG4pfHwwO3ZhciBvPWUubGVuZ3RoLW47cj8ocj1OdW1iZXIocikpPm8mJihyPW8pOnI9bzt2YXIgaT10Lmxlbmd0aDtpZihpJTIhPTApdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBoZXggc3RyaW5nIik7cj5pLzImJihyPWkvMik7Zm9yKHZhciBzPTA7czxyOysrcyl7dmFyIGE9cGFyc2VJbnQodC5zdWJzdHIoMipzLDIpLDE2KTtpZihpc05hTihhKSlyZXR1cm4gcztlW24rc109YX1yZXR1cm4gc31mdW5jdGlvbiBSKGUsdCxuLHIpe3JldHVybiB0ZShaKHQsZS5sZW5ndGgtbiksZSxuLHIpfWZ1bmN0aW9uIFAoZSx0LG4scil7cmV0dXJuIHRlKGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDsrK24pdC5wdXNoKDI1NSZlLmNoYXJDb2RlQXQobikpO3JldHVybiB0fSh0KSxlLG4scil9ZnVuY3Rpb24gRChlLHQsbixyKXtyZXR1cm4gUChlLHQsbixyKX1mdW5jdGlvbiBNKGUsdCxuLHIpe3JldHVybiB0ZShlZSh0KSxlLG4scil9ZnVuY3Rpb24gayhlLHQsbixyKXtyZXR1cm4gdGUoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scixvLGk9W10scz0wO3M8ZS5sZW5ndGgmJiEoKHQtPTIpPDApOysrcylyPShuPWUuY2hhckNvZGVBdChzKSk+Pjgsbz1uJTI1NixpLnB1c2gobyksaS5wdXNoKHIpO3JldHVybiBpfSh0LGUubGVuZ3RoLW4pLGUsbixyKX1mdW5jdGlvbiBqKGUsdCxuKXtyZXR1cm4gMD09PXQmJm49PT1lLmxlbmd0aD9oKGUpOmgoZS5zbGljZSh0LG4pKX1mdW5jdGlvbiBVKGUsdCxuKXtuPU1hdGgubWluKGUubGVuZ3RoLG4pO2Zvcih2YXIgcj1bXSxvPXQ7bzxuOyl7dmFyIGkscyxhLGwsYz1lW29dLHU9bnVsbCxoPWM+MjM5PzQ6Yz4yMjM/MzpjPjE5MT8yOjE7aWYobytoPD1uKXN3aXRjaChoKXtjYXNlIDE6YzwxMjgmJih1PWMpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKGk9ZVtvKzFdKSkmJihsPSgzMSZjKTw8Nnw2MyZpKT4xMjcmJih1PWwpO2JyZWFrO2Nhc2UgMzppPWVbbysxXSxzPWVbbysyXSwxMjg9PSgxOTImaSkmJjEyOD09KDE5MiZzKSYmKGw9KDE1JmMpPDwxMnwoNjMmaSk8PDZ8NjMmcyk+MjA0NyYmKGw8NTUyOTZ8fGw+NTczNDMpJiYodT1sKTticmVhaztjYXNlIDQ6aT1lW28rMV0scz1lW28rMl0sYT1lW28rM10sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImcykmJjEyOD09KDE5MiZhKSYmKGw9KDE1JmMpPDwxOHwoNjMmaSk8PDEyfCg2MyZzKTw8Nnw2MyZhKT42NTUzNSYmbDwxMTE0MTEyJiYodT1sKX1udWxsPT09dT8odT02NTUzMyxoPTEpOnU+NjU1MzUmJih1LT02NTUzNixyLnB1c2godT4+PjEwJjEwMjN8NTUyOTYpLHU9NTYzMjB8MTAyMyZ1KSxyLnB1c2godSksbys9aH1yZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZS5sZW5ndGg7aWYodDw9QilyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsZSk7dmFyIG49IiIscj0wO2Zvcig7cjx0OyluKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlLnNsaWNlKHIscis9QikpO3JldHVybiBufShyKX15LnBvb2xTaXplPTgxOTIseS5fYXVnbWVudD1mdW5jdGlvbihlKXtyZXR1cm4gZS5fX3Byb3RvX189eS5wcm90b3R5cGUsZX0seS5mcm9tPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRShudWxsLGUsdCxuKX0seS5UWVBFRF9BUlJBWV9TVVBQT1JUJiYoeS5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLHkuX19wcm90b19fPVVpbnQ4QXJyYXksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5zcGVjaWVzJiZ5W1N5bWJvbC5zcGVjaWVzXSkseS5hbGxvYz1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB3KHQpLHQ8PTA/bShlLHQpOnZvaWQgMCE9PW4/InN0cmluZyI9PXR5cGVvZiByP20oZSx0KS5maWxsKG4scik6bShlLHQpLmZpbGwobik6bShlLHQpfShudWxsLGUsdCxuKX0seS5hbGxvY1Vuc2FmZT1mdW5jdGlvbihlKXtyZXR1cm4gQShudWxsLGUpfSx5LmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihlKXtyZXR1cm4gQShudWxsLGUpfSx5LmlzQnVmZmVyPW5lLHkuY29tcGFyZT1mdW5jdGlvbihlLHQpe2lmKCF4KGUpfHwheCh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudHMgbXVzdCBiZSBCdWZmZXJzIik7aWYoZT09PXQpcmV0dXJuIDA7Zm9yKHZhciBuPWUubGVuZ3RoLHI9dC5sZW5ndGgsbz0wLGk9TWF0aC5taW4obixyKTtvPGk7KytvKWlmKGVbb10hPT10W29dKXtuPWVbb10scj10W29dO2JyZWFrfXJldHVybiBuPHI/LTE6cjxuPzE6MH0seS5pc0VuY29kaW5nPWZ1bmN0aW9uKGUpe3N3aXRjaChTdHJpbmcoZSkudG9Mb3dlckNhc2UoKSl7Y2FzZSJoZXgiOmNhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpjYXNlImJhc2U2NCI6Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSx5LmNvbmNhdD1mdW5jdGlvbihlLHQpe2lmKCFnKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0IiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIHkuYWxsb2MoMCk7dmFyIG47aWYodm9pZCAwPT09dClmb3IodD0wLG49MDtuPGUubGVuZ3RoOysrbil0Kz1lW25dLmxlbmd0aDt2YXIgcj15LmFsbG9jVW5zYWZlKHQpLG89MDtmb3Iobj0wO248ZS5sZW5ndGg7KytuKXt2YXIgaT1lW25dO2lmKCF4KGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0IiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpLmNvcHkocixvKSxvKz1pLmxlbmd0aH1yZXR1cm4gcn0seS5ieXRlTGVuZ3RoPVMseS5wcm90b3R5cGUuX2lzQnVmZmVyPSEwLHkucHJvdG90eXBlLnN3YXAxNj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO2lmKGUlMiE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHMiKTtmb3IodmFyIHQ9MDt0PGU7dCs9MilDKHRoaXMsdCx0KzEpO3JldHVybiB0aGlzfSx5LnByb3RvdHlwZS5zd2FwMzI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlbmd0aDtpZihlJTQhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzIik7Zm9yKHZhciB0PTA7dDxlO3QrPTQpQyh0aGlzLHQsdCszKSxDKHRoaXMsdCsxLHQrMik7cmV0dXJuIHRoaXN9LHkucHJvdG90eXBlLnN3YXA2ND1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO2lmKGUlOCE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDY0LWJpdHMiKTtmb3IodmFyIHQ9MDt0PGU7dCs9OClDKHRoaXMsdCx0KzcpLEModGhpcyx0KzEsdCs2KSxDKHRoaXMsdCsyLHQrNSksQyh0aGlzLHQrMyx0KzQpO3JldHVybiB0aGlzfSx5LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBlPTB8dGhpcy5sZW5ndGg7cmV0dXJuIDA9PT1lPyIiOjA9PT1hcmd1bWVudHMubGVuZ3RoP1UodGhpcywwLGUpOkwuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx5LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oZSl7aWYoIXgoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciIpO3JldHVybiB0aGlzPT09ZXx8MD09PXkuY29tcGFyZSh0aGlzLGUpfSx5LnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7dmFyIGU9IiI7cmV0dXJuIHRoaXMubGVuZ3RoPjAmJihlPXRoaXMudG9TdHJpbmcoImhleCIsMCw1MCkubWF0Y2goLy57Mn0vZykuam9pbigiICIpLHRoaXMubGVuZ3RoPjUwJiYoZSs9IiAuLi4gIikpLCI8QnVmZmVyICIrZSsiPiJ9LHkucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24oZSx0LG4scixvKXtpZigheChlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7aWYodm9pZCAwPT09dCYmKHQ9MCksdm9pZCAwPT09biYmKG49ZT9lLmxlbmd0aDowKSx2b2lkIDA9PT1yJiYocj0wKSx2b2lkIDA9PT1vJiYobz10aGlzLmxlbmd0aCksdDwwfHxuPmUubGVuZ3RofHxyPDB8fG8+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm91dCBvZiByYW5nZSBpbmRleCIpO2lmKHI+PW8mJnQ+PW4pcmV0dXJuIDA7aWYocj49bylyZXR1cm4tMTtpZih0Pj1uKXJldHVybiAxO2lmKHRoaXM9PT1lKXJldHVybiAwO2Zvcih2YXIgaT0obz4+Pj0wKS0ocj4+Pj0wKSxzPShuPj4+PTApLSh0Pj4+PTApLGE9TWF0aC5taW4oaSxzKSxsPXRoaXMuc2xpY2UocixvKSxjPWUuc2xpY2UodCxuKSx1PTA7dTxhOysrdSlpZihsW3VdIT09Y1t1XSl7aT1sW3VdLHM9Y1t1XTticmVha31yZXR1cm4gaTxzPy0xOnM8aT8xOjB9LHkucHJvdG90eXBlLmluY2x1ZGVzPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4tMSE9PXRoaXMuaW5kZXhPZihlLHQsbil9LHkucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBOKHRoaXMsZSx0LG4sITApfSx5LnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIE4odGhpcyxlLHQsbiwhMSl9LHkucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxuLHIpe2lmKHZvaWQgMD09PXQpcj0idXRmOCIsbj10aGlzLmxlbmd0aCx0PTA7ZWxzZSBpZih2b2lkIDA9PT1uJiYic3RyaW5nIj09dHlwZW9mIHQpcj10LG49dGhpcy5sZW5ndGgsdD0wO2Vsc2V7aWYoIWlzRmluaXRlKHQpKXRocm93IG5ldyBFcnJvcigiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiKTt0fD0wLGlzRmluaXRlKG4pPyhufD0wLHZvaWQgMD09PXImJihyPSJ1dGY4IikpOihyPW4sbj12b2lkIDApfXZhciBvPXRoaXMubGVuZ3RoLXQ7aWYoKHZvaWQgMD09PW58fG4+bykmJihuPW8pLGUubGVuZ3RoPjAmJihuPDB8fHQ8MCl8fHQ+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzIik7cnx8KHI9InV0ZjgiKTtmb3IodmFyIGk9ITE7Oylzd2l0Y2gocil7Y2FzZSJoZXgiOnJldHVybiBUKHRoaXMsZSx0LG4pO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIFIodGhpcyxlLHQsbik7Y2FzZSJhc2NpaSI6cmV0dXJuIFAodGhpcyxlLHQsbik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gRCh0aGlzLGUsdCxuKTtjYXNlImJhc2U2NCI6cmV0dXJuIE0odGhpcyxlLHQsbik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBrKHRoaXMsZSx0LG4pO2RlZmF1bHQ6aWYoaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK3IpO3I9KCIiK3IpLnRvTG93ZXJDYXNlKCksaT0hMH19LHkucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIEI9NDA5NjtmdW5jdGlvbiBGKGUsdCxuKXt2YXIgcj0iIjtuPU1hdGgubWluKGUubGVuZ3RoLG4pO2Zvcih2YXIgbz10O288bjsrK28pcis9U3RyaW5nLmZyb21DaGFyQ29kZSgxMjcmZVtvXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gSChlLHQsbil7dmFyIHI9IiI7bj1NYXRoLm1pbihlLmxlbmd0aCxuKTtmb3IodmFyIG89dDtvPG47KytvKXIrPVN0cmluZy5mcm9tQ2hhckNvZGUoZVtvXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gRyhlLHQsbil7dmFyIHI9ZS5sZW5ndGg7KCF0fHx0PDApJiYodD0wKSwoIW58fG48MHx8bj5yKSYmKG49cik7Zm9yKHZhciBvPSIiLGk9dDtpPG47KytpKW8rPSQoZVtpXSk7cmV0dXJuIG99ZnVuY3Rpb24gVyhlLHQsbil7Zm9yKHZhciByPWUuc2xpY2UodCxuKSxvPSIiLGk9MDtpPHIubGVuZ3RoO2krPTIpbys9U3RyaW5nLmZyb21DaGFyQ29kZShyW2ldKzI1NipyW2krMV0pO3JldHVybiBvfWZ1bmN0aW9uIHooZSx0LG4pe2lmKGUlMSE9MHx8ZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgbm90IHVpbnQiKTtpZihlK3Q+bil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCIpfWZ1bmN0aW9uIFkoZSx0LG4scixvLGkpe2lmKCF4KGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWZmZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKTtpZih0Pm98fHQ8aSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInZhbHVlIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7aWYobityPmUubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBxKGUsdCxuLHIpe3Q8MCYmKHQ9NjU1MzUrdCsxKTtmb3IodmFyIG89MCxpPU1hdGgubWluKGUubGVuZ3RoLW4sMik7bzxpOysrbyllW24rb109KHQmMjU1PDw4KihyP286MS1vKSk+Pj44KihyP286MS1vKX1mdW5jdGlvbiBRKGUsdCxuLHIpe3Q8MCYmKHQ9NDI5NDk2NzI5NSt0KzEpO2Zvcih2YXIgbz0wLGk9TWF0aC5taW4oZS5sZW5ndGgtbiw0KTtvPGk7KytvKWVbbitvXT10Pj4+OCoocj9vOjMtbykmMjU1fWZ1bmN0aW9uIFgoZSx0LG4scixvLGkpe2lmKG4rcj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBKKGUsdCxuLHIsbyl7cmV0dXJuIG98fFgoZSwwLG4sNCksZChlLHQsbixyLDIzLDQpLG4rNH1mdW5jdGlvbiBWKGUsdCxuLHIsbyl7cmV0dXJuIG98fFgoZSwwLG4sOCksZChlLHQsbixyLDUyLDgpLG4rOH15LnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9dGhpcy5sZW5ndGg7aWYoKGU9fn5lKTwwPyhlKz1yKTwwJiYoZT0wKTplPnImJihlPXIpLCh0PXZvaWQgMD09PXQ/cjp+fnQpPDA/KHQrPXIpPDAmJih0PTApOnQ+ciYmKHQ9ciksdDxlJiYodD1lKSx5LlRZUEVEX0FSUkFZX1NVUFBPUlQpKG49dGhpcy5zdWJhcnJheShlLHQpKS5fX3Byb3RvX189eS5wcm90b3R5cGU7ZWxzZXt2YXIgbz10LWU7bj1uZXcgeShvLHZvaWQgMCk7Zm9yKHZhciBpPTA7aTxvOysraSluW2ldPXRoaXNbaStlXX1yZXR1cm4gbn0seS5wcm90b3R5cGUucmVhZFVJbnRMRT1mdW5jdGlvbihlLHQsbil7ZXw9MCx0fD0wLG58fHooZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIHI9dGhpc1tlXSxvPTEsaT0wOysraTx0JiYobyo9MjU2KTspcis9dGhpc1tlK2ldKm87cmV0dXJuIHJ9LHkucHJvdG90eXBlLnJlYWRVSW50QkU9ZnVuY3Rpb24oZSx0LG4pe2V8PTAsdHw9MCxufHx6KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciByPXRoaXNbZSstLXRdLG89MTt0PjAmJihvKj0yNTYpOylyKz10aGlzW2UrLS10XSpvO3JldHVybiByfSx5LnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8eihlLDEsdGhpcy5sZW5ndGgpLHRoaXNbZV19LHkucHJvdG90eXBlLnJlYWRVSW50MTZMRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHx6KGUsMix0aGlzLmxlbmd0aCksdGhpc1tlXXx0aGlzW2UrMV08PDh9LHkucHJvdG90eXBlLnJlYWRVSW50MTZCRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHx6KGUsMix0aGlzLmxlbmd0aCksdGhpc1tlXTw8OHx0aGlzW2UrMV19LHkucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHx6KGUsNCx0aGlzLmxlbmd0aCksKHRoaXNbZV18dGhpc1tlKzFdPDw4fHRoaXNbZSsyXTw8MTYpKzE2Nzc3MjE2KnRoaXNbZSszXX0seS5wcm90b3R5cGUucmVhZFVJbnQzMkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fHooZSw0LHRoaXMubGVuZ3RoKSwxNjc3NzIxNip0aGlzW2VdKyh0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM10pfSx5LnByb3RvdHlwZS5yZWFkSW50TEU9ZnVuY3Rpb24oZSx0LG4pe2V8PTAsdHw9MCxufHx6KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciByPXRoaXNbZV0sbz0xLGk9MDsrK2k8dCYmKG8qPTI1Nik7KXIrPXRoaXNbZStpXSpvO3JldHVybiByPj0obyo9MTI4KSYmKHItPU1hdGgucG93KDIsOCp0KSkscn0seS5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uKGUsdCxuKXtlfD0wLHR8PTAsbnx8eihlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgcj10LG89MSxpPXRoaXNbZSstLXJdO3I+MCYmKG8qPTI1Nik7KWkrPXRoaXNbZSstLXJdKm87cmV0dXJuIGk+PShvKj0xMjgpJiYoaS09TWF0aC5wb3coMiw4KnQpKSxpfSx5LnByb3RvdHlwZS5yZWFkSW50OD1mdW5jdGlvbihlLHQpe3JldHVybiB0fHx6KGUsMSx0aGlzLmxlbmd0aCksMTI4JnRoaXNbZV0/LTEqKDI1NS10aGlzW2VdKzEpOnRoaXNbZV19LHkucHJvdG90eXBlLnJlYWRJbnQxNkxFPWZ1bmN0aW9uKGUsdCl7dHx8eihlLDIsdGhpcy5sZW5ndGgpO3ZhciBuPXRoaXNbZV18dGhpc1tlKzFdPDw4O3JldHVybiAzMjc2OCZuPzQyOTQ5MDE3NjB8bjpufSx5LnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbihlLHQpe3R8fHooZSwyLHRoaXMubGVuZ3RoKTt2YXIgbj10aGlzW2UrMV18dGhpc1tlXTw8ODtyZXR1cm4gMzI3Njgmbj80Mjk0OTAxNzYwfG46bn0seS5wcm90b3R5cGUucmVhZEludDMyTEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8eihlLDQsdGhpcy5sZW5ndGgpLHRoaXNbZV18dGhpc1tlKzFdPDw4fHRoaXNbZSsyXTw8MTZ8dGhpc1tlKzNdPDwyNH0seS5wcm90b3R5cGUucmVhZEludDMyQkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8eihlLDQsdGhpcy5sZW5ndGgpLHRoaXNbZV08PDI0fHRoaXNbZSsxXTw8MTZ8dGhpc1tlKzJdPDw4fHRoaXNbZSszXX0seS5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8eihlLDQsdGhpcy5sZW5ndGgpLGYodGhpcyxlLCEwLDIzLDQpfSx5LnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHx6KGUsNCx0aGlzLmxlbmd0aCksZih0aGlzLGUsITEsMjMsNCl9LHkucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHx6KGUsOCx0aGlzLmxlbmd0aCksZih0aGlzLGUsITAsNTIsOCl9LHkucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHx6KGUsOCx0aGlzLmxlbmd0aCksZih0aGlzLGUsITEsNTIsOCl9LHkucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKGUsdCxuLHIpeyhlPStlLHR8PTAsbnw9MCxyKXx8WSh0aGlzLGUsdCxuLE1hdGgucG93KDIsOCpuKS0xLDApO3ZhciBvPTEsaT0wO2Zvcih0aGlzW3RdPTI1NSZlOysraTxuJiYobyo9MjU2KTspdGhpc1t0K2ldPWUvbyYyNTU7cmV0dXJuIHQrbn0seS5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24oZSx0LG4scil7KGU9K2UsdHw9MCxufD0wLHIpfHxZKHRoaXMsZSx0LG4sTWF0aC5wb3coMiw4Km4pLTEsMCk7dmFyIG89bi0xLGk9MTtmb3IodGhpc1t0K29dPTI1NSZlOy0tbz49MCYmKGkqPTI1Nik7KXRoaXNbdCtvXT1lL2kmMjU1O3JldHVybiB0K259LHkucHJvdG90eXBlLndyaXRlVUludDg9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPStlLHR8PTAsbnx8WSh0aGlzLGUsdCwxLDI1NSwwKSx5LlRZUEVEX0FSUkFZX1NVUFBPUlR8fChlPU1hdGguZmxvb3IoZSkpLHRoaXNbdF09MjU1JmUsdCsxfSx5LnByb3RvdHlwZS53cml0ZVVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT0rZSx0fD0wLG58fFkodGhpcyxlLHQsMiw2NTUzNSwwKSx5LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44KTpxKHRoaXMsZSx0LCEwKSx0KzJ9LHkucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPStlLHR8PTAsbnx8WSh0aGlzLGUsdCwyLDY1NTM1LDApLHkuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUpOnEodGhpcyxlLHQsITEpLHQrMn0seS5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxZKHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSx5LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdCszXT1lPj4+MjQsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrMV09ZT4+PjgsdGhpc1t0XT0yNTUmZSk6USh0aGlzLGUsdCwhMCksdCs0fSx5LnByb3RvdHlwZS53cml0ZVVJbnQzMkJFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT0rZSx0fD0wLG58fFkodGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLHkuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlKTpRKHRoaXMsZSx0LCExKSx0KzR9LHkucHJvdG90eXBlLndyaXRlSW50TEU9ZnVuY3Rpb24oZSx0LG4scil7aWYoZT0rZSx0fD0wLCFyKXt2YXIgbz1NYXRoLnBvdygyLDgqbi0xKTtZKHRoaXMsZSx0LG4sby0xLC1vKX12YXIgaT0wLHM9MSxhPTA7Zm9yKHRoaXNbdF09MjU1JmU7KytpPG4mJihzKj0yNTYpOyllPDAmJjA9PT1hJiYwIT09dGhpc1t0K2ktMV0mJihhPTEpLHRoaXNbdCtpXT0oZS9zPj4wKS1hJjI1NTtyZXR1cm4gdCtufSx5LnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKGUsdCxuLHIpe2lmKGU9K2UsdHw9MCwhcil7dmFyIG89TWF0aC5wb3coMiw4Km4tMSk7WSh0aGlzLGUsdCxuLG8tMSwtbyl9dmFyIGk9bi0xLHM9MSxhPTA7Zm9yKHRoaXNbdCtpXT0yNTUmZTstLWk+PTAmJihzKj0yNTYpOyllPDAmJjA9PT1hJiYwIT09dGhpc1t0K2krMV0mJihhPTEpLHRoaXNbdCtpXT0oZS9zPj4wKS1hJjI1NTtyZXR1cm4gdCtufSx5LnByb3RvdHlwZS53cml0ZUludDg9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPStlLHR8PTAsbnx8WSh0aGlzLGUsdCwxLDEyNywtMTI4KSx5LlRZUEVEX0FSUkFZX1NVUFBPUlR8fChlPU1hdGguZmxvb3IoZSkpLGU8MCYmKGU9MjU1K2UrMSksdGhpc1t0XT0yNTUmZSx0KzF9LHkucHJvdG90eXBlLndyaXRlSW50MTZMRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxZKHRoaXMsZSx0LDIsMzI3NjcsLTMyNzY4KSx5LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44KTpxKHRoaXMsZSx0LCEwKSx0KzJ9LHkucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxZKHRoaXMsZSx0LDIsMzI3NjcsLTMyNzY4KSx5LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09ZT4+PjgsdGhpc1t0KzFdPTI1NSZlKTpxKHRoaXMsZSx0LCExKSx0KzJ9LHkucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxZKHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCkseS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPTI1NSZlLHRoaXNbdCsxXT1lPj4+OCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCszXT1lPj4+MjQpOlEodGhpcyxlLHQsITApLHQrNH0seS5wcm90b3R5cGUud3JpdGVJbnQzMkJFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT0rZSx0fD0wLG58fFkodGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSxlPDAmJihlPTQyOTQ5NjcyOTUrZSsxKSx5LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09ZT4+PjI0LHRoaXNbdCsxXT1lPj4+MTYsdGhpc1t0KzJdPWU+Pj44LHRoaXNbdCszXT0yNTUmZSk6USh0aGlzLGUsdCwhMSksdCs0fSx5LnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBKKHRoaXMsZSx0LCEwLG4pfSx5LnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBKKHRoaXMsZSx0LCExLG4pfSx5LnByb3RvdHlwZS53cml0ZURvdWJsZUxFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVih0aGlzLGUsdCwhMCxuKX0seS5wcm90b3R5cGUud3JpdGVEb3VibGVCRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIFYodGhpcyxlLHQsITEsbil9LHkucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSx0LG4scil7aWYobnx8KG49MCkscnx8MD09PXJ8fChyPXRoaXMubGVuZ3RoKSx0Pj1lLmxlbmd0aCYmKHQ9ZS5sZW5ndGgpLHR8fCh0PTApLHI+MCYmcjxuJiYocj1uKSxyPT09bilyZXR1cm4gMDtpZigwPT09ZS5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZih0PDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDB8fG4+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VTdGFydCBvdXQgb2YgYm91bmRzIik7aWYocjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO3I+dGhpcy5sZW5ndGgmJihyPXRoaXMubGVuZ3RoKSxlLmxlbmd0aC10PHItbiYmKHI9ZS5sZW5ndGgtdCtuKTt2YXIgbyxpPXItbjtpZih0aGlzPT09ZSYmbjx0JiZ0PHIpZm9yKG89aS0xO28+PTA7LS1vKWVbbyt0XT10aGlzW28rbl07ZWxzZSBpZihpPDFlM3x8IXkuVFlQRURfQVJSQVlfU1VQUE9SVClmb3Iobz0wO288aTsrK28pZVtvK3RdPXRoaXNbbytuXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKGUsdGhpcy5zdWJhcnJheShuLG4raSksdCk7cmV0dXJuIGl9LHkucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oZSx0LG4scil7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZigic3RyaW5nIj09dHlwZW9mIHQ/KHI9dCx0PTAsbj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiBuJiYocj1uLG49dGhpcy5sZW5ndGgpLDE9PT1lLmxlbmd0aCl7dmFyIG89ZS5jaGFyQ29kZUF0KDApO288MjU2JiYoZT1vKX1pZih2b2lkIDAhPT1yJiYic3RyaW5nIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT10eXBlb2YgciYmIXkuaXNFbmNvZGluZyhyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK3IpfWVsc2UibnVtYmVyIj09dHlwZW9mIGUmJihlJj0yNTUpO2lmKHQ8MHx8dGhpcy5sZW5ndGg8dHx8dGhpcy5sZW5ndGg8bil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiT3V0IG9mIHJhbmdlIGluZGV4Iik7aWYobjw9dClyZXR1cm4gdGhpczt2YXIgaTtpZih0Pj4+PTAsbj12b2lkIDA9PT1uP3RoaXMubGVuZ3RoOm4+Pj4wLGV8fChlPTApLCJudW1iZXIiPT10eXBlb2YgZSlmb3IoaT10O2k8bjsrK2kpdGhpc1tpXT1lO2Vsc2V7dmFyIHM9eChlKT9lOloobmV3IHkoZSxyKS50b1N0cmluZygpKSxhPXMubGVuZ3RoO2ZvcihpPTA7aTxuLXQ7KytpKXRoaXNbaSt0XT1zW2klYV19cmV0dXJuIHRoaXN9O3ZhciBLPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uICQoZSl7cmV0dXJuIGU8MTY/IjAiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIFooZSx0KXt2YXIgbjt0PXR8fDEvMDtmb3IodmFyIHI9ZS5sZW5ndGgsbz1udWxsLGk9W10scz0wO3M8cjsrK3Mpe2lmKChuPWUuY2hhckNvZGVBdChzKSk+NTUyOTUmJm48NTczNDQpe2lmKCFvKXtpZihuPjU2MzE5KXsodC09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYocysxPT09cil7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfW89bjtjb250aW51ZX1pZihuPDU2MzIwKXsodC09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSksbz1uO2NvbnRpbnVlfW49NjU1MzYrKG8tNTUyOTY8PDEwfG4tNTYzMjApfWVsc2UgbyYmKHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2lmKG89bnVsbCxuPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7aS5wdXNoKG4pfWVsc2UgaWYobjwyMDQ4KXtpZigodC09Mik8MClicmVhaztpLnB1c2gobj4+NnwxOTIsNjMmbnwxMjgpfWVsc2UgaWYobjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7aS5wdXNoKG4+PjEyfDIyNCxuPj42JjYzfDEyOCw2MyZufDEyOCl9ZWxzZXtpZighKG48MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigodC09NCk8MClicmVhaztpLnB1c2gobj4+MTh8MjQwLG4+PjEyJjYzfDEyOCxuPj42JjYzfDEyOCw2MyZufDEyOCl9fXJldHVybiBpfWZ1bmN0aW9uIGVlKGUpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxpLHU7bHx8YygpO3ZhciBoPWUubGVuZ3RoO2lmKGglND4wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIpO2k9Ij0iPT09ZVtoLTJdPzI6Ij0iPT09ZVtoLTFdPzE6MCx1PW5ldyBhKDMqaC80LWkpLHI9aT4wP2gtNDpoO3ZhciBmPTA7Zm9yKHQ9MCxuPTA7dDxyO3QrPTQsbis9MylvPXNbZS5jaGFyQ29kZUF0KHQpXTw8MTh8c1tlLmNoYXJDb2RlQXQodCsxKV08PDEyfHNbZS5jaGFyQ29kZUF0KHQrMildPDw2fHNbZS5jaGFyQ29kZUF0KHQrMyldLHVbZisrXT1vPj4xNiYyNTUsdVtmKytdPW8+PjgmMjU1LHVbZisrXT0yNTUmbztyZXR1cm4gMj09PWk/KG89c1tlLmNoYXJDb2RlQXQodCldPDwyfHNbZS5jaGFyQ29kZUF0KHQrMSldPj40LHVbZisrXT0yNTUmbyk6MT09PWkmJihvPXNbZS5jaGFyQ29kZUF0KHQpXTw8MTB8c1tlLmNoYXJDb2RlQXQodCsxKV08PDR8c1tlLmNoYXJDb2RlQXQodCsyKV0+PjIsdVtmKytdPW8+PjgmMjU1LHVbZisrXT0yNTUmbyksdX0oZnVuY3Rpb24oZSl7aWYoKGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbT9lLnRyaW0oKTplLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0oZSkucmVwbGFjZShLLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDtlLmxlbmd0aCU0IT0wOyllKz0iPSI7cmV0dXJuIGV9KGUpKX1mdW5jdGlvbiB0ZShlLHQsbixyKXtmb3IodmFyIG89MDtvPHImJiEobytuPj10Lmxlbmd0aHx8bz49ZS5sZW5ndGgpOysrbyl0W28rbl09ZVtvXTtyZXR1cm4gb31mdW5jdGlvbiBuZShlKXtyZXR1cm4gbnVsbCE9ZSYmKCEhZS5faXNCdWZmZXJ8fHJlKGUpfHxmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZS5yZWFkRmxvYXRMRSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuc2xpY2UmJnJlKGUuc2xpY2UoMCwwKSl9KGUpKX1mdW5jdGlvbiByZShlKXtyZXR1cm4hIWUuY29uc3RydWN0b3ImJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZlLmNvbnN0cnVjdG9yLmlzQnVmZmVyKGUpfWNvbnN0IG9lPW4oT2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQnVmZmVyOnksSU5TUEVDVF9NQVhfQllURVM6NTAsU2xvd0J1ZmZlcjpmdW5jdGlvbihlKXtyZXR1cm4rZSE9ZSYmKGU9MCkseS5hbGxvYygrZSl9LGlzQnVmZmVyOm5lLGtNYXhMZW5ndGg6dn0pKTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwPT09d2luZG93LkJ1ZmZlciYmKHdpbmRvdy5CdWZmZXI9b2UuQnVmZmVyKTt2YXIgaWU9e30sc2U9e30sYWU9e30sbGU9e2V4cG9ydHM6e319OyFmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LG49In4iO2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyhlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBpKGUsdCxyLGkscyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBhPW5ldyBvKHIsaXx8ZSxzKSxsPW4/bit0OnQ7cmV0dXJuIGUuX2V2ZW50c1tsXT9lLl9ldmVudHNbbF0uZm4/ZS5fZXZlbnRzW2xdPVtlLl9ldmVudHNbbF0sYV06ZS5fZXZlbnRzW2xdLnB1c2goYSk6KGUuX2V2ZW50c1tsXT1hLGUuX2V2ZW50c0NvdW50KyspLGV9ZnVuY3Rpb24gcyhlLHQpezA9PS0tZS5fZXZlbnRzQ291bnQ/ZS5fZXZlbnRzPW5ldyByOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYSgpe3RoaXMuX2V2ZW50cz1uZXcgcix0aGlzLl9ldmVudHNDb3VudD0wfU9iamVjdC5jcmVhdGUmJihyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpLChuZXcgcikuX19wcm90b19ffHwobj0hMSkpLGEucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZSxyLG89W107aWYoMD09PXRoaXMuX2V2ZW50c0NvdW50KXJldHVybiBvO2ZvcihyIGluIGU9dGhpcy5fZXZlbnRzKXQuY2FsbChlLHIpJiZvLnB1c2gobj9yLnNsaWNlKDEpOnIpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP28uY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSkpOm99LGEucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1uP24rZTplLHI9dGhpcy5fZXZlbnRzW3RdO2lmKCFyKXJldHVybltdO2lmKHIuZm4pcmV0dXJuW3IuZm5dO2Zvcih2YXIgbz0wLGk9ci5sZW5ndGgscz1uZXcgQXJyYXkoaSk7bzxpO28rKylzW29dPXJbb10uZm47cmV0dXJuIHN9LGEucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bj9uK2U6ZSxyPXRoaXMuX2V2ZW50c1t0XTtyZXR1cm4gcj9yLmZuPzE6ci5sZW5ndGg6MH0sYS5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlLHQscixvLGkscyl7dmFyIGE9bj9uK2U6ZTtpZighdGhpcy5fZXZlbnRzW2FdKXJldHVybiExO3ZhciBsLGMsdT10aGlzLl9ldmVudHNbYV0saD1hcmd1bWVudHMubGVuZ3RoO2lmKHUuZm4pe3N3aXRjaCh1Lm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSx1LmZuLHZvaWQgMCwhMCksaCl7Y2FzZSAxOnJldHVybiB1LmZuLmNhbGwodS5jb250ZXh0KSwhMDtjYXNlIDI6cmV0dXJuIHUuZm4uY2FsbCh1LmNvbnRleHQsdCksITA7Y2FzZSAzOnJldHVybiB1LmZuLmNhbGwodS5jb250ZXh0LHQsciksITA7Y2FzZSA0OnJldHVybiB1LmZuLmNhbGwodS5jb250ZXh0LHQscixvKSwhMDtjYXNlIDU6cmV0dXJuIHUuZm4uY2FsbCh1LmNvbnRleHQsdCxyLG8saSksITA7Y2FzZSA2OnJldHVybiB1LmZuLmNhbGwodS5jb250ZXh0LHQscixvLGkscyksITB9Zm9yKGM9MSxsPW5ldyBBcnJheShoLTEpO2M8aDtjKyspbFtjLTFdPWFyZ3VtZW50c1tjXTt1LmZuLmFwcGx5KHUuY29udGV4dCxsKX1lbHNle3ZhciBmLGQ9dS5sZW5ndGg7Zm9yKGM9MDtjPGQ7YysrKXN3aXRjaCh1W2NdLm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSx1W2NdLmZuLHZvaWQgMCwhMCksaCl7Y2FzZSAxOnVbY10uZm4uY2FsbCh1W2NdLmNvbnRleHQpO2JyZWFrO2Nhc2UgMjp1W2NdLmZuLmNhbGwodVtjXS5jb250ZXh0LHQpO2JyZWFrO2Nhc2UgMzp1W2NdLmZuLmNhbGwodVtjXS5jb250ZXh0LHQscik7YnJlYWs7Y2FzZSA0OnVbY10uZm4uY2FsbCh1W2NdLmNvbnRleHQsdCxyLG8pO2JyZWFrO2RlZmF1bHQ6aWYoIWwpZm9yKGY9MSxsPW5ldyBBcnJheShoLTEpO2Y8aDtmKyspbFtmLTFdPWFyZ3VtZW50c1tmXTt1W2NdLmZuLmFwcGx5KHVbY10uY29udGV4dCxsKX19cmV0dXJuITB9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gaSh0aGlzLGUsdCxuLCExKX0sYS5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGkodGhpcyxlLHQsbiwhMCl9LGEucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxyLG8pe3ZhciBpPW4/bitlOmU7aWYoIXRoaXMuX2V2ZW50c1tpXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGkpLHRoaXM7dmFyIGE9dGhpcy5fZXZlbnRzW2ldO2lmKGEuZm4pYS5mbiE9PXR8fG8mJiFhLm9uY2V8fHImJmEuY29udGV4dCE9PXJ8fHModGhpcyxpKTtlbHNle2Zvcih2YXIgbD0wLGM9W10sdT1hLmxlbmd0aDtsPHU7bCsrKShhW2xdLmZuIT09dHx8byYmIWFbbF0ub25jZXx8ciYmYVtsXS5jb250ZXh0IT09cikmJmMucHVzaChhW2xdKTtjLmxlbmd0aD90aGlzLl9ldmVudHNbaV09MT09PWMubGVuZ3RoP2NbMF06YzpzKHRoaXMsaSl9cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gZT8odD1uP24rZTplLHRoaXMuX2V2ZW50c1t0XSYmcyh0aGlzLHQpKToodGhpcy5fZXZlbnRzPW5ldyByLHRoaXMuX2V2ZW50c0NvdW50PTApLHRoaXN9LGEucHJvdG90eXBlLm9mZj1hLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcixhLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1hLnByb3RvdHlwZS5vbixhLnByZWZpeGVkPW4sYS5FdmVudEVtaXR0ZXI9YSxlLmV4cG9ydHM9YX0obGUpO3ZhciBjZT1sZS5leHBvcnRzOyFmdW5jdGlvbih0KXt2YXIgbj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5BZGFwdGVyPXQuQWRhcHRlclN0YXRlPXQuV2FsbGV0UmVhZHlTdGF0ZT10LkV2ZW50RW1pdHRlcj12b2lkIDA7Y29uc3Qgcj1uKGNlKTt2YXIgbyxpO3QuRXZlbnRFbWl0dGVyPXIuZGVmYXVsdCwobz10LldhbGxldFJlYWR5U3RhdGV8fCh0LldhbGxldFJlYWR5U3RhdGU9e30pKS5Mb2FkaW5nPSJMb2FkaW5nIixvLk5vdEZvdW5kPSJOb3RGb3VuZCIsby5Gb3VuZD0iRm91bmQiLGZ1bmN0aW9uKGUpe2UuTG9hZGluZz0iTG9hZGluZyIsZS5Ob3RGb3VuZD0iTm90Rm91bmQiLGUuRGlzY29ubmVjdD0iRGlzY29ubmVjdGVkIixlLkNvbm5lY3RlZD0iQ29ubmVjdGVkIn0oaT10LkFkYXB0ZXJTdGF0ZXx8KHQuQWRhcHRlclN0YXRlPXt9KSk7Y2xhc3MgcyBleHRlbmRzIHIuZGVmYXVsdHtnZXQgY29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT1pLkNvbm5lY3RlZH1kaXNjb25uZWN0KCl7cmV0dXJuIGNvbnNvbGUuaW5mbygiVGhlIGN1cnJlbnQgYWRhcHRlciBkb2Vzbid0IHN1cHBvcnQgZGlzY29ubmVjdCBieSBEQXBwLiIpLFByb21pc2UucmVzb2x2ZSgpfW11bHRpU2lnbiguLi5lKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoIlRoZSBjdXJyZW50IHdhbGxldCBkb2Vzbid0IHN1cHBvcnQgbXVsdGlTaWduLiIpfXN3aXRjaENoYWluKGUpe3JldHVybiBQcm9taXNlLnJlamVjdCgiVGhlIGN1cnJlbnQgd2FsbGV0IGRvZXNuJ3Qgc3VwcG9ydCBzd2l0Y2ggY2hhaW4uIil9fXQuQWRhcHRlcj1zfShhZSk7dmFyIHVlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh1ZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdWUuV2FsbGV0R2V0TmV0d29ya0Vycm9yPXVlLldhbGxldFN3aXRjaENoYWluRXJyb3I9dWUuV2FsbGV0V2luZG93Q2xvc2VkRXJyb3I9dWUuV2FsbGV0V2FsbGV0TG9hZEVycm9yPXVlLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yPXVlLldhbGxldFNpZ25NZXNzYWdlRXJyb3I9dWUuV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yPXVlLldhbGxldENvbm5lY3Rpb25FcnJvcj11ZS5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcj11ZS5XYWxsZXROb3RTZWxlY3RlZEVycm9yPXVlLldhbGxldE5vdEZvdW5kRXJyb3I9dWUuV2FsbGV0RXJyb3I9dm9pZCAwO2NsYXNzIGhlIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlKSx0aGlzLmVycm9yPXR9fXVlLldhbGxldEVycm9yPWhlO3VlLldhbGxldE5vdEZvdW5kRXJyb3I9Y2xhc3MgZXh0ZW5kcyBoZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXROb3RGb3VuZEVycm9yIix0aGlzLm1lc3NhZ2U9IlRoZSB3YWxsZXQgaXMgbm90IGZvdW5kLiJ9fTt1ZS5XYWxsZXROb3RTZWxlY3RlZEVycm9yPWNsYXNzIGV4dGVuZHMgaGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0Tm90U2VsZWN0ZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJObyB3YWxsZXQgaXMgc2VsZWN0ZWQuIFBsZWFzZSBzZWxlY3QgYSB3YWxsZXQuIn19O3VlLldhbGxldERpc2Nvbm5lY3RlZEVycm9yPWNsYXNzIGV4dGVuZHMgaGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0RGlzY29ubmVjdGVkRXJyb3IiLHRoaXMubWVzc2FnZT0iVGhlIHdhbGxldCBpcyBkaXNjb25uZWN0ZWQuIFBsZWFzZSBjb25uZWN0IGZpcnN0LiJ9fTt1ZS5XYWxsZXRDb25uZWN0aW9uRXJyb3I9Y2xhc3MgZXh0ZW5kcyBoZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRDb25uZWN0aW9uRXJyb3IifX07dWUuV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yPWNsYXNzIGV4dGVuZHMgaGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yIn19O3VlLldhbGxldFNpZ25NZXNzYWdlRXJyb3I9Y2xhc3MgZXh0ZW5kcyBoZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRTaWduTWVzc2FnZUVycm9yIn19O3VlLldhbGxldFNpZ25UcmFuc2FjdGlvbkVycm9yPWNsYXNzIGV4dGVuZHMgaGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IifX07dWUuV2FsbGV0V2FsbGV0TG9hZEVycm9yPWNsYXNzIGV4dGVuZHMgaGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0V2FsbGV0TG9hZEVycm9yIn19O3VlLldhbGxldFdpbmRvd0Nsb3NlZEVycm9yPWNsYXNzIGV4dGVuZHMgaGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0V2luZG93Q2xvc2VkRXJyb3IiLHRoaXMubWVzc2FnZT0iVGhlIFFSIHdpbmRvdyBpcyBjbG9zZWQuIn19O3VlLldhbGxldFN3aXRjaENoYWluRXJyb3I9Y2xhc3MgZXh0ZW5kcyBoZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRTd2l0Y2hDaGFpbkVycm9yIn19O3VlLldhbGxldEdldE5ldHdvcmtFcnJvcj1jbGFzcyBleHRlbmRzIGhle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldEdldE5ldHdvcmtFcnJvciJ9fTt2YXIgZmU9e307IWZ1bmN0aW9uKGUpe3ZhciB0LG47T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuQ2hhaW5OZXR3b3JrPWUuTmV0d29ya1R5cGU9dm9pZCAwLCh0PWUuTmV0d29ya1R5cGV8fChlLk5ldHdvcmtUeXBlPXt9KSkuTWFpbm5ldD0iTWFpbm5ldCIsdC5TaGFzdGE9IlNoYXN0YSIsdC5OaWxlPSJOaWxlIix0LlVua25vd249IlVua25vd24iLChuPWUuQ2hhaW5OZXR3b3JrfHwoZS5DaGFpbk5ldHdvcms9e30pKS5NYWlubmV0PSJNYWlubmV0IixuLlNoYXN0YT0iU2hhc3RhIixuLk5pbGU9Ik5pbGUifShmZSk7dmFyIGRlPXt9O2Z1bmN0aW9uIHBlKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZGUuaXNJbk1vYmlsZUJyb3dzZXI9ZGUuY2hlY2tBZGFwdGVyU3RhdGU9ZGUuaXNJbkJyb3dzZXI9dm9pZCAwLGRlLmlzSW5Ccm93c2VyPXBlLGRlLmNoZWNrQWRhcHRlclN0YXRlPWZ1bmN0aW9uKGUpe2lmKCFwZSgpKXJldHVybjtjb25zdCB0PVtdO2Z1bmN0aW9uIG4oKXtmb3IoY29uc3QgZSBvZiB0KWUoKX1mdW5jdGlvbiByKCl7ZSgpJiZuKCl9Y29uc3Qgbz1zZXRJbnRlcnZhbChyLDUwMCk7dC5wdXNoKCgoKT0+Y2xlYXJJbnRlcnZhbChvKSkpLCJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGUmJihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyLHtvbmNlOiEwfSksdC5wdXNoKCgoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscikpKSksImNvbXBsZXRlIiE9PWRvY3VtZW50LnJlYWR5U3RhdGUmJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIscix7b25jZTohMH0pLHQucHVzaCgoKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixyKSkpKSxyKCksc2V0VGltZW91dChuLDZlNCl9LGRlLmlzSW5Nb2JpbGVCcm93c2VyPWZ1bmN0aW9uKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fFdpbmRvd3MgUGhvbmUvaSl9LGZ1bmN0aW9uKHQpe3ZhciBuPWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQsbixyKXt2b2lkIDA9PT1yJiYocj1uKTt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7byYmISgiZ2V0ImluIG8/IXQuX19lc01vZHVsZTpvLndyaXRhYmxlfHxvLmNvbmZpZ3VyYWJsZSl8fChvPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsbyl9OmZ1bmN0aW9uKGUsdCxuLHIpe3ZvaWQgMD09PXImJihyPW4pLGVbcl09dFtuXX0pLHI9ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIGUpImRlZmF1bHQiPT09cnx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscil8fG4odCxlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscihhZSx0KSxyKHVlLHQpLHIoZmUsdCkscihkZSx0KX0oc2UpO3ZhciBnZT17fTtmdW5jdGlvbiB2ZShlKXt2YXIgdD1bXTtyZXR1cm4gZS5zcGxpdCgiLyIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPXBhcnNlSW50KGUsMTApO2lzTmFOKG4pfHwoZS5sZW5ndGg+MSYmIiciPT09ZVtlLmxlbmd0aC0xXSYmKG4rPTIxNDc0ODM2NDgpLHQucHVzaChuKSl9KSksdH1mdW5jdGlvbiBfZShlLHQpe2Z1bmN0aW9uIG4oZSxyLG8pe3JldHVybiBlPj1yLmxlbmd0aD9vOnQocltlXSxlKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gby5wdXNoKHQpLG4oZSsxLHIsbyl9KSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIG4oMCxlLFtdKX0pKX1mdW5jdGlvbiBtZShlLHQpe2Zvcih2YXIgbj0wLHI9MCxvPXQ7cjw2NDspe3ZhciBpPWVbb107aWYobnw9KDEyNyZpKTw8cixvKz0xLCEoMTI4JmkpKXJldHVybnt2YWx1ZTpuJj00Mjk0OTY3Mjk1LHBvczpvfTtyKz03fXRocm93IG5ldyBFcnJvcigiVG9vIG1hbnkgYnl0ZXMgd2hlbiBkZWNvZGluZyB2YXJpbnQuIil9dmFyIHllPTIyNCxFZT0yNTAsd2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dm9pZCAwPT09dCYmKHQ9IlRSWCIpLHRoaXMudHJhbnNwb3J0PWUsZS5kZWNvcmF0ZUFwcEFQSU1ldGhvZHModGhpcyxbImdldEFkZHJlc3MiLCJnZXRFQ0RIUGFpcktleSIsInNpZ25UcmFuc2FjdGlvbiIsInNpZ25UcmFuc2FjdGlvbkhhc2giLCJzaWduUGVyc29uYWxNZXNzYWdlIiwiZ2V0QXBwQ29uZmlndXJhdGlvbiJdLHQpfXJldHVybiBlLnByb3RvdHlwZS5nZXRBZGRyZXNzPWZ1bmN0aW9uKGUsdCl7dmFyIG49dmUoZSkscj1CdWZmZXIuYWxsb2MoMSs0Km4ubGVuZ3RoKTtyZXR1cm4gclswXT1uLmxlbmd0aCxuLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7ci53cml0ZVVJbnQzMkJFKGUsMSs0KnQpfSkpLHRoaXMudHJhbnNwb3J0LnNlbmQoeWUsMix0PzE6MCwwLHIpLnRoZW4oKGZ1bmN0aW9uKGUpe3ZhciB0PWVbMF0sbj1lWzErdF07cmV0dXJue3B1YmxpY0tleTplLnNsaWNlKDEsMSt0KS50b1N0cmluZygiaGV4IiksYWRkcmVzczplLnNsaWNlKDErdCsxLDErdCsxK24pLnRvU3RyaW5nKCJhc2NpaSIpfX0pKX0sZS5wcm90b3R5cGUuZ2V0TmV4dExlbmd0aD1mdW5jdGlvbihlKXt2YXIgdD1tZShlLDApLG49bWUoZSx0LnBvcyk7cmV0dXJuIDA9PSg3JnQudmFsdWUpP24ucG9zOm4udmFsdWUrbi5wb3N9LGUucHJvdG90eXBlLnNpZ25UcmFuc2FjdGlvbj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcyxvPXZlKGUpLGk9QnVmZmVyLmZyb20odCwiaGV4Iikscz1bXSxhPUJ1ZmZlci5hbGxvYygxKzQqby5sZW5ndGgpO2ZvcihhWzBdPW8ubGVuZ3RoLG8uZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXthLndyaXRlVUludDMyQkUoZSwxKzQqdCl9KSk7aS5sZW5ndGg+MDspe3ZhciBsPXRoaXMuZ2V0TmV4dExlbmd0aChpKTtpZihsPkVlKXRocm93IG5ldyBFcnJvcigiVG9vIG1hbnkgYnl0ZXMgdG8gZW5jb2RlLiIpO2EubGVuZ3RoK2w+RWU/KHMucHVzaChhKSxhPUJ1ZmZlci5hbGxvYygwKSk6KGE9QnVmZmVyLmNvbmNhdChbYSxpLnNsaWNlKDAsbCldKSxpPWkuc2xpY2UobCxpLmxlbmd0aCkpfXMucHVzaChhKTt2YXIgYyx1PVtdLGg9cy5sZW5ndGg7aWYodm9pZCAwIT09bilmb3IodmFyIGY9MDtmPG4ubGVuZ3RoO2YrPTEpe3ZhciBkPUJ1ZmZlci5mcm9tKG5bZl0sImhleCIpO3MucHVzaChkKX1pZigxPT09cy5sZW5ndGgpdS5wdXNoKDE2KTtlbHNle3UucHVzaCgwKTtmb3IoZj0xO2Y8cy5sZW5ndGgtMTtmKz0xKWY+PWg/dS5wdXNoKDE2MHxmLWgpOnUucHVzaCgxMjgpO3ZvaWQgMCE9PW4mJm4ubGVuZ3RoP3UucHVzaCgxNjh8bi5sZW5ndGgtMSk6dS5wdXNoKDE0NCl9cmV0dXJuIF9lKHMsKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIudHJhbnNwb3J0LnNlbmQoeWUsNCx1W3RdLDAsZSkudGhlbigoZnVuY3Rpb24oZSl7Yz1lfSkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIGMuc2xpY2UoMCw2NSkudG9TdHJpbmcoImhleCIpfSksKGZ1bmN0aW9uKGUpe3Rocm93IGZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLnN0YXR1c0NvZGUsZX0oZSl9KSl9LGUucHJvdG90eXBlLnNpZ25UcmFuc2FjdGlvbkhhc2g9ZnVuY3Rpb24oZSx0KXt2YXIgbj12ZShlKSxyPUJ1ZmZlci5hbGxvYygxKzQqbi5sZW5ndGgpO3JldHVybiByWzBdPW4ubGVuZ3RoLG4uZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtyLndyaXRlVUludDMyQkUoZSwxKzQqdCl9KSkscj1CdWZmZXIuY29uY2F0KFtyLEJ1ZmZlci5mcm9tKHQsImhleCIpXSksdGhpcy50cmFuc3BvcnQuc2VuZCh5ZSw1LDAsMCxyKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zbGljZSgwLDY1KS50b1N0cmluZygiaGV4Iil9KSl9LGUucHJvdG90eXBlLmdldEFwcENvbmZpZ3VyYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc3BvcnQuc2VuZCh5ZSw2LDAsMCkudGhlbigoZnVuY3Rpb24oZSl7dmFyIHQ9KDgmZVswXSk+MCxuPSg0JmVbMF0pPjAscj0oMiZlWzBdKT4wLG89KDEmZVswXSk+MDtyZXR1cm4gMD09PWVbMV0mJjE9PT1lWzJdJiZlWzNdPDImJihvPSEwLHI9ITEpLDA9PT1lWzFdJiYxPT09ZVsyXSYmZVszXTw1JiYobj0hMSkse3ZlcnNpb246IiIuY29uY2F0KGVbMV0sIi4iKS5jb25jYXQoZVsyXSwiLiIpLmNvbmNhdChlWzNdKSx2ZXJzaW9uTjoxZTQqZVsxXSsxMDAqZVsyXStlWzNdLGFsbG93RGF0YTpvLGFsbG93Q29udHJhY3Q6cix0cnVuY2F0ZUFkZHJlc3M6bixzaWduQnlIYXNoOnR9fSkpfSxlLnByb3RvdHlwZS5zaWduUGVyc29uYWxNZXNzYWdlPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuLHI9dGhpcyxvPXZlKGUpLGk9QnVmZmVyLmZyb20odCwiaGV4Iikscz0wLGE9W10sbD1pLmxlbmd0aC50b1N0cmluZygxNiksYz0iMDAwMDAwMDAiLnN1YnN0cihsLmxlbmd0aCkrbCx1PUJ1ZmZlci5jb25jYXQoW0J1ZmZlci5mcm9tKGMsImhleCIpLGldKSxoPWZ1bmN0aW9uKCl7dmFyIGU9MD09PXM/MjQ5LTQqby5sZW5ndGg6RWUsdD1zK2U+dS5sZW5ndGg/dS5sZW5ndGgtczplLG49QnVmZmVyLmFsbG9jKDA9PT1zPzErNCpvLmxlbmd0aCt0OnQpOzA9PT1zPyhuWzBdPW8ubGVuZ3RoLG8uZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtuLndyaXRlVUludDMyQkUoZSwxKzQqdCl9KSksdS5jb3B5KG4sMSs0Km8ubGVuZ3RoLHMscyt0KSk6dS5jb3B5KG4sMCxzLHMrdCksYS5wdXNoKG4pLHMrPXR9O3M8dS5sZW5ndGg7KWgoKTtyZXR1cm4gX2UoYSwoZnVuY3Rpb24oZSx0KXtyZXR1cm4gci50cmFuc3BvcnQuc2VuZCh5ZSw4LDA9PT10PzA6MTI4LDAsZSkudGhlbigoZnVuY3Rpb24oZSl7bj1lfSkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIG4uc2xpY2UoMCw2NSkudG9TdHJpbmcoImhleCIpfSkpfSxlLnByb3RvdHlwZS5nZXRFQ0RIUGFpcktleT1mdW5jdGlvbihlLHQpe3ZhciBuPXZlKGUpLHI9QnVmZmVyLmZyb20odCwiaGV4Iiksbz1CdWZmZXIuYWxsb2MoMSs0Km4ubGVuZ3RoK3IubGVuZ3RoKTtyZXR1cm4gb1swXT1uLmxlbmd0aCxuLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7by53cml0ZVVJbnQzMkJFKGUsMSs0KnQpfSkpLHIuY29weShvLDErNCpuLmxlbmd0aCwwLHIubGVuZ3RoKSx0aGlzLnRyYW5zcG9ydC5zZW5kKHllLDEwLDAsMSxvKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zbGljZSgwLDY1KS50b1N0cmluZygiaGV4Iil9KSl9LGV9KCksQWU9bihPYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxkZWZhdWx0OndlfSkpO2Z1bmN0aW9uIGJlKCl7fWZ1bmN0aW9uIEllKCl7SWUuaW5pdC5jYWxsKHRoaXMpfWZ1bmN0aW9uIHhlKGUpe3JldHVybiB2b2lkIDA9PT1lLl9tYXhMaXN0ZW5lcnM/SWUuZGVmYXVsdE1heExpc3RlbmVyczplLl9tYXhMaXN0ZW5lcnN9ZnVuY3Rpb24gU2UoZSx0LG4scil7dmFyIG8saSxzO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7aWYoKGk9ZS5fZXZlbnRzKT8oaS5uZXdMaXN0ZW5lciYmKGUuZW1pdCgibmV3TGlzdGVuZXIiLHQsbi5saXN0ZW5lcj9uLmxpc3RlbmVyOm4pLGk9ZS5fZXZlbnRzKSxzPWlbdF0pOihpPWUuX2V2ZW50cz1uZXcgYmUsZS5fZXZlbnRzQ291bnQ9MCkscyl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHM/cz1pW3RdPXI/W24sc106W3Msbl06cj9zLnVuc2hpZnQobik6cy5wdXNoKG4pLCFzLndhcm5lZCYmKG89eGUoZSkpJiZvPjAmJnMubGVuZ3RoPm8pe3Mud2FybmVkPSEwO3ZhciBhPW5ldyBFcnJvcigiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAiK3MubGVuZ3RoKyIgIit0KyIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdCIpO2EubmFtZT0iTWF4TGlzdGVuZXJzRXhjZWVkZWRXYXJuaW5nIixhLmVtaXR0ZXI9ZSxhLnR5cGU9dCxhLmNvdW50PXMubGVuZ3RoLGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBjb25zb2xlLndhcm4/Y29uc29sZS53YXJuKGUpOmNvbnNvbGUubG9nKGUpfShhKX19ZWxzZSBzPWlbdF09biwrK2UuX2V2ZW50c0NvdW50O3JldHVybiBlfWZ1bmN0aW9uIExlKGUsdCxuKXt2YXIgcj0hMTtmdW5jdGlvbiBvKCl7ZS5yZW1vdmVMaXN0ZW5lcih0LG8pLHJ8fChyPSEwLG4uYXBwbHkoZSxhcmd1bWVudHMpKX1yZXR1cm4gby5saXN0ZW5lcj1uLG99ZnVuY3Rpb24gQ2UoZSl7dmFyIHQ9dGhpcy5fZXZlbnRzO2lmKHQpe3ZhciBuPXRbZV07aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIDE7aWYobilyZXR1cm4gbi5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gTmUoZSx0KXtmb3IodmFyIG49bmV3IEFycmF5KHQpO3QtLTspblt0XT1lW3RdO3JldHVybiBufWJlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpLEllLkV2ZW50RW1pdHRlcj1JZSxJZS51c2luZ0RvbWFpbnM9ITEsSWUucHJvdG90eXBlLmRvbWFpbj12b2lkIDAsSWUucHJvdG90eXBlLl9ldmVudHM9dm9pZCAwLEllLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMCxJZS5kZWZhdWx0TWF4TGlzdGVuZXJzPTEwLEllLmluaXQ9ZnVuY3Rpb24oKXt0aGlzLmRvbWFpbj1udWxsLEllLnVzaW5nRG9tYWlucyYmdW5kZWZpbmVkLmFjdGl2ZSx0aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50cyE9PU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPW5ldyBiZSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LEllLnByb3RvdHlwZS5zZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7aWYoIm51bWJlciIhPXR5cGVvZiBlfHxlPDB8fGlzTmFOKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJuIiBhcmd1bWVudCBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyJyk7cmV0dXJuIHRoaXMuX21heExpc3RlbmVycz1lLHRoaXN9LEllLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4geGUodGhpcyl9LEllLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGkscyxhLGw9ImVycm9yIj09PWU7aWYocz10aGlzLl9ldmVudHMpbD1sJiZudWxsPT1zLmVycm9yO2Vsc2UgaWYoIWwpcmV0dXJuITE7aWYoYT10aGlzLmRvbWFpbixsKXtpZih0PWFyZ3VtZW50c1sxXSwhYSl7aWYodCBpbnN0YW5jZW9mIEVycm9yKXRocm93IHQ7dmFyIGM9bmV3IEVycm9yKCdVbmNhdWdodCwgdW5zcGVjaWZpZWQgImVycm9yIiBldmVudC4gKCcrdCsiKSIpO3Rocm93IGMuY29udGV4dD10LGN9cmV0dXJuIHR8fCh0PW5ldyBFcnJvcignVW5jYXVnaHQsIHVuc3BlY2lmaWVkICJlcnJvciIgZXZlbnQnKSksdC5kb21haW5FbWl0dGVyPXRoaXMsdC5kb21haW49YSx0LmRvbWFpblRocm93bj0hMSxhLmVtaXQoImVycm9yIix0KSwhMX1pZighKG49c1tlXSkpcmV0dXJuITE7dmFyIHU9ImZ1bmN0aW9uIj09dHlwZW9mIG47c3dpdGNoKHI9YXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOiFmdW5jdGlvbihlLHQsbil7aWYodCllLmNhbGwobik7ZWxzZSBmb3IodmFyIHI9ZS5sZW5ndGgsbz1OZShlLHIpLGk9MDtpPHI7KytpKW9baV0uY2FsbChuKX0obix1LHRoaXMpO2JyZWFrO2Nhc2UgMjohZnVuY3Rpb24oZSx0LG4scil7aWYodCllLmNhbGwobixyKTtlbHNlIGZvcih2YXIgbz1lLmxlbmd0aCxpPU5lKGUsbykscz0wO3M8bzsrK3MpaVtzXS5jYWxsKG4scil9KG4sdSx0aGlzLGFyZ3VtZW50c1sxXSk7YnJlYWs7Y2FzZSAzOiFmdW5jdGlvbihlLHQsbixyLG8pe2lmKHQpZS5jYWxsKG4scixvKTtlbHNlIGZvcih2YXIgaT1lLmxlbmd0aCxzPU5lKGUsaSksYT0wO2E8aTsrK2Epc1thXS5jYWxsKG4scixvKX0obix1LHRoaXMsYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSk7YnJlYWs7Y2FzZSA0OiFmdW5jdGlvbihlLHQsbixyLG8saSl7aWYodCllLmNhbGwobixyLG8saSk7ZWxzZSBmb3IodmFyIHM9ZS5sZW5ndGgsYT1OZShlLHMpLGw9MDtsPHM7KytsKWFbbF0uY2FsbChuLHIsbyxpKX0obix1LHRoaXMsYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSxhcmd1bWVudHNbM10pO2JyZWFrO2RlZmF1bHQ6Zm9yKG89bmV3IEFycmF5KHItMSksaT0xO2k8cjtpKyspb1tpLTFdPWFyZ3VtZW50c1tpXTshZnVuY3Rpb24oZSx0LG4scil7aWYodCllLmFwcGx5KG4scik7ZWxzZSBmb3IodmFyIG89ZS5sZW5ndGgsaT1OZShlLG8pLHM9MDtzPG87KytzKWlbc10uYXBwbHkobixyKX0obix1LHRoaXMsbyl9cmV0dXJuITB9LEllLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBTZSh0aGlzLGUsdCwhMSl9LEllLnByb3RvdHlwZS5vbj1JZS5wcm90b3R5cGUuYWRkTGlzdGVuZXIsSWUucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBTZSh0aGlzLGUsdCwhMCl9LEllLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3RlbmVyIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTtyZXR1cm4gdGhpcy5vbihlLExlKHRoaXMsZSx0KSksdGhpc30sSWUucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO3JldHVybiB0aGlzLnByZXBlbmRMaXN0ZW5lcihlLExlKHRoaXMsZSx0KSksdGhpc30sSWUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvLGkscztpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKCEocj10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKCEobj1yW2VdKSlyZXR1cm4gdGhpcztpZihuPT09dHx8bi5saXN0ZW5lciYmbi5saXN0ZW5lcj09PXQpMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9bmV3IGJlOihkZWxldGUgcltlXSxyLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIixlLG4ubGlzdGVuZXJ8fHQpKTtlbHNlIGlmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXtmb3Iobz0tMSxpPW4ubGVuZ3RoO2ktLSA+MDspaWYobltpXT09PXR8fG5baV0ubGlzdGVuZXImJm5baV0ubGlzdGVuZXI9PT10KXtzPW5baV0ubGlzdGVuZXIsbz1pO2JyZWFrfWlmKG88MClyZXR1cm4gdGhpcztpZigxPT09bi5sZW5ndGgpe2lmKG5bMF09dm9pZCAwLDA9PS0tdGhpcy5fZXZlbnRzQ291bnQpcmV0dXJuIHRoaXMuX2V2ZW50cz1uZXcgYmUsdGhpcztkZWxldGUgcltlXX1lbHNlIWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPXQscj1uKzEsbz1lLmxlbmd0aDtyPG87bis9MSxyKz0xKWVbbl09ZVtyXTtlLnBvcCgpfShuLG8pO3IucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdCgicmVtb3ZlTGlzdGVuZXIiLGUsc3x8dCl9cmV0dXJuIHRoaXN9LEllLnByb3RvdHlwZS5vZmY9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5yZW1vdmVMaXN0ZW5lcihlLHQpfSxJZS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LG47aWYoIShuPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYoIW4ucmVtb3ZlTGlzdGVuZXIpcmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9ldmVudHM9bmV3IGJlLHRoaXMuX2V2ZW50c0NvdW50PTApOm5bZV0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1uZXcgYmU6ZGVsZXRlIG5bZV0pLHRoaXM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpe2Zvcih2YXIgcixvPU9iamVjdC5rZXlzKG4pLGk9MDtpPG8ubGVuZ3RoOysraSkicmVtb3ZlTGlzdGVuZXIiIT09KHI9b1tpXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKHIpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygicmVtb3ZlTGlzdGVuZXIiKSx0aGlzLl9ldmVudHM9bmV3IGJlLHRoaXMuX2V2ZW50c0NvdW50PTAsdGhpc31pZigiZnVuY3Rpb24iPT10eXBlb2YodD1uW2VdKSl0aGlzLnJlbW92ZUxpc3RlbmVyKGUsdCk7ZWxzZSBpZih0KWRve3RoaXMucmVtb3ZlTGlzdGVuZXIoZSx0W3QubGVuZ3RoLTFdKX13aGlsZSh0WzBdKTtyZXR1cm4gdGhpc30sSWUucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcy5fZXZlbnRzO3JldHVybiBuPXImJih0PXJbZV0pPyJmdW5jdGlvbiI9PXR5cGVvZiB0P1t0Lmxpc3RlbmVyfHx0XTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDsrK24pdFtuXT1lW25dLmxpc3RlbmVyfHxlW25dO3JldHVybiB0fSh0KTpbXSxufSxJZS5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUubGlzdGVuZXJDb3VudD9lLmxpc3RlbmVyQ291bnQodCk6Q2UuY2FsbChlLHQpfSxJZS5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1DZSxJZS5wcm90b3R5cGUuZXZlbnROYW1lcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9ldmVudHNDb3VudD4wP1JlZmxlY3Qub3duS2V5cyh0aGlzLl9ldmVudHMpOltdfTt2YXIgT2UsVGU9KE9lPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9lPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0sT2UoZSx0KX0sZnVuY3Rpb24oZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmbnVsbCE9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyh0KSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfU9lKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KToobi5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IG4pfSksUmU9ZnVuY3Rpb24oZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLG49dCYmZVt0XSxyPTA7aWYobilyZXR1cm4gbi5jYWxsKGUpO2lmKGUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpcmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSYmcj49ZS5sZW5ndGgmJihlPXZvaWQgMCkse3ZhbHVlOmUmJmVbcisrXSxkb25lOiFlfX19O3Rocm93IG5ldyBUeXBlRXJyb3IodD8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9LFBlPXt9LERlPXt9LE1lPWZ1bmN0aW9uKGUsdCl7RGVbZV09dH0sa2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihyLG8saSl7dmFyIHM9dC5jYWxsKHRoaXMscnx8ZSxpKXx8dGhpcztpZihPYmplY3Quc2V0UHJvdG90eXBlT2YocyxuLnByb3RvdHlwZSkscy5uYW1lPWUsbylmb3IodmFyIGEgaW4gbylzW2FdPW9bYV07aWYoaSYmIm9iamVjdCI9PXR5cGVvZiBpJiYiY2F1c2UiaW4gaSYmISgiY2F1c2UiaW4gcykpe3ZhciBsPWkuY2F1c2U7cy5jYXVzZT1sLCJzdGFjayJpbiBsJiYocy5zdGFjaz1zLnN0YWNrKyJcbkNBVVNFOiAiK2wuc3RhY2spfXJldHVybiBzfXJldHVybiBUZShuLHQpLG59KEVycm9yKTtyZXR1cm4gUGVbZV09dCx0fTt2YXIgamU9ZnVuY3Rpb24oZSl7aWYoZSYmIm9iamVjdCI9PXR5cGVvZiBlKXt0cnl7aWYoInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2Upe3ZhciB0PUpTT04ucGFyc2UoZS5tZXNzYWdlKTt0Lm1lc3NhZ2UmJnQubmFtZSYmKGU9dCl9fWNhdGNoKGUpe312YXIgbj12b2lkIDA7aWYoInN0cmluZyI9PXR5cGVvZiBlLm5hbWUpe3ZhciByPWUubmFtZSxvPURlW3JdO2lmKG8pbj1vKGUpO2Vsc2V7dmFyIGk9IkVycm9yIj09PXI/RXJyb3I6UGVbcl07aXx8KGNvbnNvbGUud2FybigiZGVzZXJpYWxpemluZyBhbiB1bmtub3duIGNsYXNzICciK3IrIiciKSxpPWtlKHIpKSxuPU9iamVjdC5jcmVhdGUoaS5wcm90b3R5cGUpO3RyeXtmb3IodmFyIHMgaW4gZSllLmhhc093blByb3BlcnR5KHMpJiYobltzXT1lW3NdKX1jYXRjaChlKXt9fX1lbHNlInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2UmJihuPW5ldyBFcnJvcihlLm1lc3NhZ2UpKTtyZXR1cm4gbiYmIW4uc3RhY2smJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShuLGplKSxufXJldHVybiBuZXcgRXJyb3IoU3RyaW5nKGUpKX07ZnVuY3Rpb24gVWUoZSx0KXt2YXIgbixyLG89e307dC5wdXNoKGUpO3RyeXtmb3IodmFyIGk9UmUoT2JqZWN0LmtleXMoZSkpLHM9aS5uZXh0KCk7IXMuZG9uZTtzPWkubmV4dCgpKXt2YXIgYT1zLnZhbHVlLGw9ZVthXTsiZnVuY3Rpb24iIT10eXBlb2YgbCYmKGwmJiJvYmplY3QiPT10eXBlb2YgbD8tMSE9PXQuaW5kZXhPZihlW2FdKT9vW2FdPSJbQ2lyY3VsYXJdIjpvW2FdPVVlKGVbYV0sdC5zbGljZSgwKSk6b1thXT1sKX19Y2F0Y2goZSl7bj17ZXJyb3I6ZX19ZmluYWxseXt0cnl7cyYmIXMuZG9uZSYmKHI9aS5yZXR1cm4pJiZyLmNhbGwoaSl9ZmluYWxseXtpZihuKXRocm93IG4uZXJyb3J9fXJldHVybiJzdHJpbmciPT10eXBlb2YgZS5uYW1lJiYoby5uYW1lPWUubmFtZSksInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2UmJihvLm1lc3NhZ2U9ZS5tZXNzYWdlKSwic3RyaW5nIj09dHlwZW9mIGUuc3RhY2smJihvLnN0YWNrPWUuc3RhY2spLG99dmFyIEJlLEZlPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZT1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKGVbbl09dFtuXSl9LGUodCxuKX07cmV0dXJuIGZ1bmN0aW9uKHQsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4mJm51bGwhPT1uKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcobikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1lKHQsbiksdC5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0oKSxIZT1rZSgiQWNjb3VudE5hbWVSZXF1aXJlZCIpLEdlPWtlKCJBY2NvdW50Tm90U3VwcG9ydGVkIiksV2U9a2UoIkFtb3VudFJlcXVpcmVkIiksemU9a2UoIkJsdWV0b290aFJlcXVpcmVkIiksWWU9a2UoIkJ0Y1VubWF0Y2hlZEFwcCIpLHFlPWtlKCJDYW50T3BlbkRldmljZSIpLFFlPWtlKCJDYXNoQWRkck5vdFN1cHBvcnRlZCIpLFhlPWtlKCJDdXJyZW5jeU5vdFN1cHBvcnRlZCIpLEplPWtlKCJEZXZpY2VBcHBWZXJpZnlOb3RTdXBwb3J0ZWQiKSxWZT1rZSgiRGV2aWNlR2VudWluZVNvY2tldEVhcmx5Q2xvc2UiKSxLZT1rZSgiRGV2aWNlTm90R2VudWluZSIpLCRlPWtlKCJEZXZpY2VPbkRhc2hib2FyZEV4cGVjdGVkIiksWmU9a2UoIkRldmljZU9uRGFzaGJvYXJkVW5leHBlY3RlZCIpLGV0PWtlKCJEZXZpY2VJbk9TVUV4cGVjdGVkIiksdHQ9a2UoIkRldmljZUhhbHRlZCIpLG50PWtlKCJEZXZpY2VOYW1lSW52YWxpZCIpLHJ0PWtlKCJEZXZpY2VTb2NrZXRGYWlsIiksb3Q9a2UoIkRldmljZVNvY2tldE5vQnVsa1N0YXR1cyIpLGl0PWtlKCJMb2NrZWREZXZpY2VFcnJvciIpLHN0PWtlKCJEaXNjb25uZWN0ZWREZXZpY2UiKSxhdD1rZSgiRGlzY29ubmVjdGVkRGV2aWNlRHVyaW5nT3BlcmF0aW9uIiksbHQ9a2UoIkRldmljZUV4dHJhY3RPbmJvYXJkaW5nU3RhdGVFcnJvciIpLGN0PWtlKCJEZXZpY2VPbmJvYXJkaW5nU3RhdGVQb2xsaW5nRXJyb3IiKSx1dD1rZSgiRW5wb2ludENvbmZpZyIpLGh0PWtlKCJFdGhBcHBQbGVhc2VFbmFibGVDb250cmFjdERhdGEiKSxmdD1rZSgiRmVlRXN0aW1hdGlvbkZhaWxlZCIpLGR0PWtlKCJGaXJtd2FyZU5vdFJlY29nbml6ZWQiKSxwdD1rZSgiSGFyZFJlc2V0RmFpbCIpLGd0PWtlKCJJbnZhbGlkWFJQVGFnIiksdnQ9a2UoIkludmFsaWRBZGRyZXNzIiksX3Q9a2UoIkludmFsaWRBZGRyZXNzQmVjYXVzZURlc3RpbmF0aW9uSXNBbHNvU291cmNlIiksbXQ9a2UoIkxhdGVzdE1DVUluc3RhbGxlZEVycm9yIikseXQ9a2UoIlVua25vd25NQ1UiKSxFdD1rZSgiTGVkZ2VyQVBJRXJyb3IiKSx3dD1rZSgiTGVkZ2VyQVBJRXJyb3JXaXRoTWVzc2FnZSIpLEF0PWtlKCJMZWRnZXJBUElOb3RBdmFpbGFibGUiKSxidD1rZSgiTWFuYWdlckFwcEFscmVhZHlJbnN0YWxsZWQiKSxJdD1rZSgiTWFuYWdlckFwcFJlbHlPbkJUQyIpLHh0PWtlKCJNYW5hZ2VyQXBwRGVwSW5zdGFsbFJlcXVpcmVkIiksU3Q9a2UoIk1hbmFnZXJBcHBEZXBVbmluc3RhbGxSZXF1aXJlZCIpLEx0PWtlKCJNYW5hZ2VyRGV2aWNlTG9ja2VkIiksQ3Q9a2UoIk1hbmFnZXJGaXJtd2FyZU5vdEVub3VnaFNwYWNlIiksTnQ9a2UoIk1hbmFnZXJOb3RFbm91Z2hTcGFjZSIpLE90PWtlKCJNYW5hZ2VyVW5pbnN0YWxsQlRDRGVwIiksVHQ9a2UoIk5ldHdvcmtEb3duIiksUnQ9a2UoIk5vQWRkcmVzc2VzRm91bmQiKSxQdD1rZSgiTm90RW5vdWdoQmFsYW5jZSIpLER0PWtlKCJOb3RFbm91Z2hCYWxhbmNlVG9EZWxlZ2F0ZSIpLE10PWtlKCJOb3RFbm91Z2hCYWxhbmNlSW5QYXJlbnRBY2NvdW50Iiksa3Q9a2UoIk5vdEVub3VnaFNwZW5kYWJsZUJhbGFuY2UiKSxqdD1rZSgiTm90RW5vdWdoQmFsYW5jZUJlY2F1c2VEZXN0aW5hdGlvbk5vdENyZWF0ZWQiKSxVdD1rZSgiTm9BY2Nlc3NUb0NhbWVyYSIpLEJ0PWtlKCJOb3RFbm91Z2hHYXMiKSxGdD1rZSgiTm90U3VwcG9ydGVkTGVnYWN5QWRkcmVzcyIpLEh0PWtlKCJHYXNMZXNzVGhhbkVzdGltYXRlIiksR3Q9a2UoIlByaW9yaXR5RmVlVG9vTG93IiksV3Q9a2UoIlByaW9yaXR5RmVlVG9vSGlnaCIpLHp0PWtlKCJQcmlvcml0eUZlZUhpZ2hlclRoYW5NYXhGZWUiKSxZdD1rZSgiTWF4RmVlVG9vTG93IikscXQ9a2UoIlBhc3N3b3Jkc0RvbnRNYXRjaCIpLFF0PWtlKCJQYXNzd29yZEluY29ycmVjdCIpLFh0PWtlKCJSZWNvbW1lbmRTdWJBY2NvdW50c1RvRW1wdHkiKSxKdD1rZSgiUmVjb21tZW5kVW5kZWxlZ2F0aW9uIiksVnQ9a2UoIlRpbWVvdXRUYWdnZWQiKSxLdD1rZSgiVW5leHBlY3RlZEJvb3Rsb2FkZXIiKSwkdD1rZSgiTUNVTm90R2VudWluZVRvRGFzaGJvYXJkIiksWnQ9a2UoIlJlY2lwaWVudFJlcXVpcmVkIiksZW49a2UoIlVuYXZhaWxhYmxlVGV6b3NPcmlnaW5hdGVkQWNjb3VudFJlY2VpdmUiKSx0bj1rZSgiVW5hdmFpbGFibGVUZXpvc09yaWdpbmF0ZWRBY2NvdW50U2VuZCIpLG5uPWtlKCJVcGRhdGVGZXRjaEZpbGVGYWlsIikscm49a2UoIlVwZGF0ZUluY29ycmVjdEhhc2giKSxvbj1rZSgiVXBkYXRlSW5jb3JyZWN0U2lnIiksc249a2UoIlVwZGF0ZVlvdXJBcHAiKSxhbj1rZSgiVXNlclJlZnVzZWREZXZpY2VOYW1lQ2hhbmdlIiksbG49a2UoIlVzZXJSZWZ1c2VkQWRkcmVzcyIpLGNuPWtlKCJVc2VyUmVmdXNlZEZpcm13YXJlVXBkYXRlIiksdW49a2UoIlVzZXJSZWZ1c2VkQWxsb3dNYW5hZ2VyIiksaG49a2UoIlVzZXJSZWZ1c2VkT25EZXZpY2UiKSxmbj1rZSgiVHJhbnNwb3J0T3BlblVzZXJDYW5jZWxsZWQiKSxkbj1rZSgiVHJhbnNwb3J0SW50ZXJmYWNlTm90QXZhaWxhYmxlIikscG49a2UoIlRyYW5zcG9ydFJhY2VDb25kaXRpb24iKSxnbj1rZSgiVHJhbnNwb3J0V2ViVVNCR2VzdHVyZVJlcXVpcmVkIiksdm49a2UoIkRldmljZVNob3VsZFN0YXlJbkFwcCIpLF9uPWtlKCJXZWJzb2NrZXRDb25uZWN0aW9uRXJyb3IiKSxtbj1rZSgiV2Vic29ja2V0Q29ubmVjdGlvbkZhaWxlZCIpLHluPWtlKCJXcm9uZ0RldmljZUZvckFjY291bnQiKSxFbj1rZSgiV3JvbmdBcHBGb3JDdXJyZW5jeSIpLHduPWtlKCJFVEhBZGRyZXNzTm9uRUlQIiksQW49a2UoIkNhbnRTY2FuUVJDb2RlIiksYm49a2UoIkZlZU5vdExvYWRlZCIpLEluPWtlKCJGZWVSZXF1aXJlZCIpLHhuPWtlKCJGZWVUb29IaWdoIiksU249a2UoIkR1c3RMaW1pdCIpLExuPWtlKCJQZW5kaW5nT3BlcmF0aW9uIiksQ249a2UoIlN5bmNFcnJvciIpLE5uPWtlKCJQYWlyaW5nRmFpbGVkIiksT249a2UoIkdlbnVpbmVDaGVja0ZhaWxlZCIpLFRuPWtlKCJMZWRnZXJBUEk0eHgiKSxSbj1rZSgiTGVkZ2VyQVBJNXh4IiksUG49a2UoIkZpcm13YXJlT3JBcHBVcGRhdGVSZXF1aXJlZCIpLERuPWtlKCJMYW5ndWFnZU5vdEZvdW5kIiksTW49a2UoIk5vREJQYXRoR2l2ZW4iKSxrbj1rZSgiREJXcm9uZ1Bhc3N3b3JkIiksam49a2UoIkRCTm90UmVzZXQiKTshZnVuY3Rpb24oZSl7ZVtlLlVua25vd249MF09IlVua25vd24iLGVbZS5CbGVMb2NhdGlvblNlcnZpY2VzRGlzYWJsZWQ9MV09IkJsZUxvY2F0aW9uU2VydmljZXNEaXNhYmxlZCIsZVtlLkJsZUJsdWV0b290aFVuYXV0aG9yaXplZD0yXT0iQmxlQmx1ZXRvb3RoVW5hdXRob3JpemVkIixlW2UuQmxlU2NhblN0YXJ0RmFpbGVkPTNdPSJCbGVTY2FuU3RhcnRGYWlsZWQifShCZXx8KEJlPXt9KSk7dmFyIFVuPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobixyKXt2YXIgbz1lLmNhbGwodGhpcyxyKXx8dGhpcztyZXR1cm4gby5uYW1lPSJId1RyYW5zcG9ydEVycm9yIixvLnR5cGU9bixPYmplY3Quc2V0UHJvdG90eXBlT2Yobyx0LnByb3RvdHlwZSksb31yZXR1cm4gRmUodCxlKSx0fShFcnJvciksQm49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0LG4pe3ZhciByPXRoaXMsbz0iVHJhbnNwb3J0RXJyb3IiO3JldHVybihyPWUuY2FsbCh0aGlzLHR8fG8pfHx0aGlzKS5uYW1lPW8sci5tZXNzYWdlPXQsci5zdGFjaz0obmV3IEVycm9yKS5zdGFjayxyLmlkPW4scn1yZXR1cm4gRmUodCxlKSx0fShFcnJvcik7TWUoIlRyYW5zcG9ydEVycm9yIiwoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBCbihlLm1lc3NhZ2UsZS5pZCl9KSk7dmFyIEZuPXtBQ0NFU1NfQ09ORElUSU9OX05PVF9GVUxGSUxMRUQ6Mzg5MTYsQUxHT1JJVEhNX05PVF9TVVBQT1JURUQ6MzgwMjAsQ0xBX05PVF9TVVBQT1JURUQ6MjgxNjAsQ09ERV9CTE9DS0VEOjM4OTc2LENPREVfTk9UX0lOSVRJQUxJWkVEOjM4OTE0LENPTU1BTkRfSU5DT01QQVRJQkxFX0ZJTEVfU1RSVUNUVVJFOjI3MDA5LENPTkRJVElPTlNfT0ZfVVNFX05PVF9TQVRJU0ZJRUQ6MjcwMTMsQ09OVFJBRElDVElPTl9JTlZBTElEQVRJT046Mzg5MjgsQ09OVFJBRElDVElPTl9TRUNSRVRfQ09ERV9TVEFUVVM6Mzg5MjAsQ1VTVE9NX0lNQUdFX0JPT1RMT0FERVI6MjYxNTksQ1VTVE9NX0lNQUdFX0VNUFRZOjI2MTU4LEZJTEVfQUxSRUFEWV9FWElTVFM6MjcyNzMsRklMRV9OT1RfRk9VTkQ6Mzc4OTIsR1BfQVVUSF9GQUlMRUQ6MjUzNDQsSEFMVEVEOjI4NTg2LElOQ09OU0lTVEVOVF9GSUxFOjM3ODk2LElOQ09SUkVDVF9EQVRBOjI3MjY0LElOQ09SUkVDVF9MRU5HVEg6MjYzNjgsSU5DT1JSRUNUX1AxX1AyOjI3MzkyLElOU19OT1RfU1VQUE9SVEVEOjI3OTA0LElOVkFMSURfS0NWOjM4MDIxLElOVkFMSURfT0ZGU0VUOjM3ODkwLExJQ0VOU0lORzoyODQ4MixMT0NLRURfREVWSUNFOjIxNzgxLE1BWF9WQUxVRV9SRUFDSEVEOjM4OTkyLE1FTU9SWV9QUk9CTEVNOjM3NDQwLE1JU1NJTkdfQ1JJVElDQUxfUEFSQU1FVEVSOjI2NjI0LE5PX0VGX1NFTEVDVEVEOjM3ODg4LE5PVF9FTk9VR0hfTUVNT1JZX1NQQUNFOjI3MjY4LE9LOjM2ODY0LFBJTl9SRU1BSU5JTkdfQVRURU1QVFM6MjU1MzYsUkVGRVJFTkNFRF9EQVRBX05PVF9GT1VORDoyNzI3MixTRUNVUklUWV9TVEFUVVNfTk9UX1NBVElTRklFRDoyNzAxMCxURUNITklDQUxfUFJPQkxFTToyODQxNixVTktOT1dOX0FQRFU6Mjc5MDYsVVNFUl9SRUZVU0VEX09OX0RFVklDRToyMTc2MX07ZnVuY3Rpb24gSG4oZSl7c3dpdGNoKGUpe2Nhc2UgMjYzNjg6cmV0dXJuIkluY29ycmVjdCBsZW5ndGgiO2Nhc2UgMjY2MjQ6cmV0dXJuIk1pc3NpbmcgY3JpdGljYWwgcGFyYW1ldGVyIjtjYXNlIDI3MDEwOnJldHVybiJTZWN1cml0eSBub3Qgc2F0aXNmaWVkIChkb25nbGUgbG9ja2VkIG9yIGhhdmUgaW52YWxpZCBhY2Nlc3MgcmlnaHRzKSI7Y2FzZSAyNzAxMzpyZXR1cm4iQ29uZGl0aW9uIG9mIHVzZSBub3Qgc2F0aXNmaWVkIChkZW5pZWQgYnkgdGhlIHVzZXI/KSI7Y2FzZSAyNzI2NDpyZXR1cm4iSW52YWxpZCBkYXRhIHJlY2VpdmVkIjtjYXNlIDI3MzkyOnJldHVybiJJbnZhbGlkIHBhcmFtZXRlciByZWNlaXZlZCI7Y2FzZSAyMTc4MTpyZXR1cm4iTG9ja2VkIGRldmljZSJ9aWYoMjg0MTY8PWUmJmU8PTI4NjcxKXJldHVybiJJbnRlcm5hbCBlcnJvciwgcGxlYXNlIHJlcG9ydCJ9ZnVuY3Rpb24gR24oZSl7dmFyIHQ9T2JqZWN0LmtleXMoRm4pLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiBGblt0XT09PWV9KSl8fCJVTktOT1dOX0VSUk9SIixuPUhuKGUpfHx0LHI9ZS50b1N0cmluZygxNiksbz0iTGVkZ2VyIGRldmljZTogIi5jb25jYXQobiwiICgweCIpLmNvbmNhdChyLCIpIik7aWYoZT09PUZuLkxPQ0tFRF9ERVZJQ0UpdGhyb3cgbmV3IGl0KG8pO3RoaXMubmFtZT0iVHJhbnNwb3J0U3RhdHVzRXJyb3IiLHRoaXMubWVzc2FnZT1vLHRoaXMuc3RhY2s9KG5ldyBFcnJvcikuc3RhY2ssdGhpcy5zdGF0dXNDb2RlPWUsdGhpcy5zdGF0dXNUZXh0PXR9R24ucHJvdG90eXBlPW5ldyBFcnJvcixNZSgiVHJhbnNwb3J0U3RhdHVzRXJyb3IiLChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IEduKGUuc3RhdHVzQ29kZSl9KSk7dmFyIFduPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEFjY291bnROYW1lUmVxdWlyZWRFcnJvcjpIZSxBY2NvdW50Tm90U3VwcG9ydGVkOkdlLEFtb3VudFJlcXVpcmVkOldlLEJsdWV0b290aFJlcXVpcmVkOnplLEJ0Y1VubWF0Y2hlZEFwcDpZZSxDYW50T3BlbkRldmljZTpxZSxDYW50U2NhblFSQ29kZTpBbixDYXNoQWRkck5vdFN1cHBvcnRlZDpRZSxDdXJyZW5jeU5vdFN1cHBvcnRlZDpYZSxEQk5vdFJlc2V0OmpuLERCV3JvbmdQYXNzd29yZDprbixEZXZpY2VBcHBWZXJpZnlOb3RTdXBwb3J0ZWQ6SmUsRGV2aWNlRXh0cmFjdE9uYm9hcmRpbmdTdGF0ZUVycm9yOmx0LERldmljZUdlbnVpbmVTb2NrZXRFYXJseUNsb3NlOlZlLERldmljZUhhbHRlZDp0dCxEZXZpY2VJbk9TVUV4cGVjdGVkOmV0LERldmljZU5hbWVJbnZhbGlkOm50LERldmljZU5vdEdlbnVpbmVFcnJvcjpLZSxEZXZpY2VPbkRhc2hib2FyZEV4cGVjdGVkOiRlLERldmljZU9uRGFzaGJvYXJkVW5leHBlY3RlZDpaZSxEZXZpY2VPbmJvYXJkaW5nU3RhdGVQb2xsaW5nRXJyb3I6Y3QsRGV2aWNlU2hvdWxkU3RheUluQXBwOnZuLERldmljZVNvY2tldEZhaWw6cnQsRGV2aWNlU29ja2V0Tm9CdWxrU3RhdHVzOm90LERpc2Nvbm5lY3RlZERldmljZTpzdCxEaXNjb25uZWN0ZWREZXZpY2VEdXJpbmdPcGVyYXRpb246YXQsRHVzdExpbWl0OlNuLEVUSEFkZHJlc3NOb25FSVA6d24sRW5wb2ludENvbmZpZ0Vycm9yOnV0LEV0aEFwcFBsZWFzZUVuYWJsZUNvbnRyYWN0RGF0YTpodCxGZWVFc3RpbWF0aW9uRmFpbGVkOmZ0LEZlZU5vdExvYWRlZDpibixGZWVSZXF1aXJlZDpJbixGZWVUb29IaWdoOnhuLEZpcm13YXJlTm90UmVjb2duaXplZDpkdCxGaXJtd2FyZU9yQXBwVXBkYXRlUmVxdWlyZWQ6UG4sR2FzTGVzc1RoYW5Fc3RpbWF0ZTpIdCxHZW51aW5lQ2hlY2tGYWlsZWQ6T24sSGFyZFJlc2V0RmFpbDpwdCxId1RyYW5zcG9ydEVycm9yOlVuLGdldCBId1RyYW5zcG9ydEVycm9yVHlwZSgpe3JldHVybiBCZX0sSW52YWxpZEFkZHJlc3M6dnQsSW52YWxpZEFkZHJlc3NCZWNhdXNlRGVzdGluYXRpb25Jc0Fsc29Tb3VyY2U6X3QsSW52YWxpZFhSUFRhZzpndCxMYW5ndWFnZU5vdEZvdW5kOkRuLExhdGVzdE1DVUluc3RhbGxlZEVycm9yOm10LExlZGdlckFQSTR4eDpUbixMZWRnZXJBUEk1eHg6Um4sTGVkZ2VyQVBJRXJyb3I6RXQsTGVkZ2VyQVBJRXJyb3JXaXRoTWVzc2FnZTp3dCxMZWRnZXJBUElOb3RBdmFpbGFibGU6QXQsTG9ja2VkRGV2aWNlRXJyb3I6aXQsTUNVTm90R2VudWluZVRvRGFzaGJvYXJkOiR0LE1hbmFnZXJBcHBBbHJlYWR5SW5zdGFsbGVkRXJyb3I6YnQsTWFuYWdlckFwcERlcEluc3RhbGxSZXF1aXJlZDp4dCxNYW5hZ2VyQXBwRGVwVW5pbnN0YWxsUmVxdWlyZWQ6U3QsTWFuYWdlckFwcFJlbHlPbkJUQ0Vycm9yOkl0LE1hbmFnZXJEZXZpY2VMb2NrZWRFcnJvcjpMdCxNYW5hZ2VyRmlybXdhcmVOb3RFbm91Z2hTcGFjZUVycm9yOkN0LE1hbmFnZXJOb3RFbm91Z2hTcGFjZUVycm9yOk50LE1hbmFnZXJVbmluc3RhbGxCVENEZXA6T3QsTWF4RmVlVG9vTG93Oll0LE5ldHdvcmtEb3duOlR0LE5vQWNjZXNzVG9DYW1lcmE6VXQsTm9BZGRyZXNzZXNGb3VuZDpSdCxOb0RCUGF0aEdpdmVuOk1uLE5vdEVub3VnaEJhbGFuY2U6UHQsTm90RW5vdWdoQmFsYW5jZUJlY2F1c2VEZXN0aW5hdGlvbk5vdENyZWF0ZWQ6anQsTm90RW5vdWdoQmFsYW5jZUluUGFyZW50QWNjb3VudDpNdCxOb3RFbm91Z2hCYWxhbmNlVG9EZWxlZ2F0ZTpEdCxOb3RFbm91Z2hHYXM6QnQsTm90RW5vdWdoU3BlbmRhYmxlQmFsYW5jZTprdCxOb3RTdXBwb3J0ZWRMZWdhY3lBZGRyZXNzOkZ0LFBhaXJpbmdGYWlsZWQ6Tm4sUGFzc3dvcmRJbmNvcnJlY3RFcnJvcjpRdCxQYXNzd29yZHNEb250TWF0Y2hFcnJvcjpxdCxQZW5kaW5nT3BlcmF0aW9uOkxuLFByaW9yaXR5RmVlSGlnaGVyVGhhbk1heEZlZTp6dCxQcmlvcml0eUZlZVRvb0hpZ2g6V3QsUHJpb3JpdHlGZWVUb29Mb3c6R3QsUmVjaXBpZW50UmVxdWlyZWQ6WnQsUmVjb21tZW5kU3ViQWNjb3VudHNUb0VtcHR5Olh0LFJlY29tbWVuZFVuZGVsZWdhdGlvbjpKdCxTdGF0dXNDb2RlczpGbixTeW5jRXJyb3I6Q24sVGltZW91dFRhZ2dlZDpWdCxUcmFuc3BvcnRFcnJvcjpCbixUcmFuc3BvcnRJbnRlcmZhY2VOb3RBdmFpbGFibGU6ZG4sVHJhbnNwb3J0T3BlblVzZXJDYW5jZWxsZWQ6Zm4sVHJhbnNwb3J0UmFjZUNvbmRpdGlvbjpwbixUcmFuc3BvcnRTdGF0dXNFcnJvcjpHbixUcmFuc3BvcnRXZWJVU0JHZXN0dXJlUmVxdWlyZWQ6Z24sVW5hdmFpbGFibGVUZXpvc09yaWdpbmF0ZWRBY2NvdW50UmVjZWl2ZTplbixVbmF2YWlsYWJsZVRlem9zT3JpZ2luYXRlZEFjY291bnRTZW5kOnRuLFVuZXhwZWN0ZWRCb290bG9hZGVyOkt0LFVua25vd25NQ1U6eXQsVXBkYXRlRmV0Y2hGaWxlRmFpbDpubixVcGRhdGVJbmNvcnJlY3RIYXNoOnJuLFVwZGF0ZUluY29ycmVjdFNpZzpvbixVcGRhdGVZb3VyQXBwOnNuLFVzZXJSZWZ1c2VkQWRkcmVzczpsbixVc2VyUmVmdXNlZEFsbG93TWFuYWdlcjp1bixVc2VyUmVmdXNlZERldmljZU5hbWVDaGFuZ2U6YW4sVXNlclJlZnVzZWRGaXJtd2FyZVVwZGF0ZTpjbixVc2VyUmVmdXNlZE9uRGV2aWNlOmhuLFdlYnNvY2tldENvbm5lY3Rpb25FcnJvcjpfbixXZWJzb2NrZXRDb25uZWN0aW9uRmFpbGVkOm1uLFdyb25nQXBwRm9yQ3VycmVuY3k6RW4sV3JvbmdEZXZpY2VGb3JBY2NvdW50OnluLGFkZEN1c3RvbUVycm9yRGVzZXJpYWxpemVyOk1lLGNyZWF0ZUN1c3RvbUVycm9yQ2xhc3M6a2UsZGVzZXJpYWxpemVFcnJvcjpqZSxnZXRBbHRTdGF0dXNNZXNzYWdlOkhuLHNlcmlhbGl6ZUVycm9yOmZ1bmN0aW9uKGUpe3JldHVybiBlPyJvYmplY3QiPT10eXBlb2YgZT9VZShlLFtdKToiZnVuY3Rpb24iPT10eXBlb2YgZT8iW0Z1bmN0aW9uOiAiLmNvbmNhdChlLm5hbWV8fCJhbm9ueW1vdXMiLCJdIik6ZTplfX0pLHpuPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKChmdW5jdGlvbihvLGkpe2Z1bmN0aW9uIHMoZSl7dHJ5e2woci5uZXh0KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBhKGUpe3RyeXtsKHIudGhyb3coZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIGwoZSl7dmFyIHQ7ZS5kb25lP28oZS52YWx1ZSk6KHQ9ZS52YWx1ZSx0IGluc3RhbmNlb2Ygbj90Om5ldyBuKChmdW5jdGlvbihlKXtlKHQpfSkpKS50aGVuKHMsYSl9bCgocj1yLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpfSxZbj1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoaSl7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihpKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO3M7KXRyeXtpZihuPTEsciYmKG89MiZpWzBdP3IucmV0dXJuOmlbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixpWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihpPVsyJmlbMF0sby52YWx1ZV0pLGlbMF0pe2Nhc2UgMDpjYXNlIDE6bz1pO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTppWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1pWzFdLGk9WzBdO2NvbnRpbnVlO2Nhc2UgNzppPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEobz1zLnRyeXMsKG89by5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1pWzBdJiYyIT09aVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09aVswXSYmKCFvfHxpWzFdPm9bMF0mJmlbMV08b1szXSkpe3MubGFiZWw9aVsxXTticmVha31pZig2PT09aVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1pO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goaSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWk9dC5jYWxsKGUscyl9Y2F0Y2goZSl7aT1bNixlXSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmlbMF0pdGhyb3cgaVsxXTtyZXR1cm57dmFsdWU6aVswXT9pWzFdOnZvaWQgMCxkb25lOiEwfX0oW2ksYV0pfX19LHFuPWZ1bmN0aW9uKGUsdCl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFuKXJldHVybiBlO3ZhciByLG8saT1uLmNhbGwoZSkscz1bXTt0cnl7Zm9yKDsodm9pZCAwPT09dHx8dC0tID4wKSYmIShyPWkubmV4dCgpKS5kb25lOylzLnB1c2goci52YWx1ZSl9Y2F0Y2goZSl7bz17ZXJyb3I6ZX19ZmluYWxseXt0cnl7ciYmIXIuZG9uZSYmKG49aS5yZXR1cm4pJiZuLmNhbGwoaSl9ZmluYWxseXtpZihvKXRocm93IG8uZXJyb3J9fXJldHVybiBzfSxRbj1mdW5jdGlvbihlLHQsbil7aWYobnx8Mj09PWFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciByLG89MCxpPXQubGVuZ3RoO288aTtvKyspIXImJm8gaW4gdHx8KHJ8fChyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQsMCxvKSkscltvXT10W29dKTtyZXR1cm4gZS5jb25jYXQocnx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCkpfSxYbj1mdW5jdGlvbihlKXt2YXIgdD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3Isbj10JiZlW3RdLHI9MDtpZihuKXJldHVybiBuLmNhbGwoZSk7aWYoZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aClyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiBlJiZyPj1lLmxlbmd0aCYmKGU9dm9pZCAwKSx7dmFsdWU6ZSYmZVtyKytdLGRvbmU6IWV9fX07dGhyb3cgbmV3IFR5cGVFcnJvcih0PyJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLiI6IlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKX0sSm49ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dmFyIGU9dGhpczt0aGlzLmV4Y2hhbmdlVGltZW91dD0zZTQsdGhpcy51bnJlc3BvbnNpdmVUaW1lb3V0PTE1ZTMsdGhpcy5kZXZpY2VNb2RlbD1udWxsLHRoaXMuX2V2ZW50cz1uZXcgSWUsdGhpcy5zZW5kPWZ1bmN0aW9uKHQsbixyLG8saSxzKXtyZXR1cm4gdm9pZCAwPT09aSYmKGk9QnVmZmVyLmFsbG9jKDApKSx2b2lkIDA9PT1zJiYocz1bRm4uT0tdKSx6bihlLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIGUsYTtyZXR1cm4gWW4odGhpcywoZnVuY3Rpb24obCl7c3dpdGNoKGwubGFiZWwpe2Nhc2UgMDppZihpLmxlbmd0aD49MjU2KXRocm93IG5ldyBCbigiZGF0YS5sZW5ndGggZXhjZWVkIDI1NiBieXRlcyBsaW1pdC4gR290OiAiK2kubGVuZ3RoLCJEYXRhTGVuZ3RoVG9vQmlnIik7cmV0dXJuWzQsdGhpcy5leGNoYW5nZShCdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbShbdCxuLHIsb10pLEJ1ZmZlci5mcm9tKFtpLmxlbmd0aF0pLGldKSldO2Nhc2UgMTppZihlPWwuc2VudCgpLGE9ZS5yZWFkVUludDE2QkUoZS5sZW5ndGgtMiksIXMuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1hfSkpKXRocm93IG5ldyBHbihhKTtyZXR1cm5bMixlXX19KSl9KSl9LHRoaXMuZXhjaGFuZ2VBdG9taWNJbXBsPWZ1bmN0aW9uKHQpe3JldHVybiB6bihlLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIGUsbixyLG8saSxzPXRoaXM7cmV0dXJuIFluKHRoaXMsKGZ1bmN0aW9uKGEpe3N3aXRjaChhLmxhYmVsKXtjYXNlIDA6aWYodGhpcy5leGNoYW5nZUJ1c3lQcm9taXNlKXRocm93IG5ldyBwbigiQW4gYWN0aW9uIHdhcyBhbHJlYWR5IHBlbmRpbmcgb24gdGhlIExlZGdlciBkZXZpY2UuIFBsZWFzZSBkZW55IG9yIHJlY29ubmVjdC4iKTtuPW5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtlPXR9KSksdGhpcy5leGNoYW5nZUJ1c3lQcm9taXNlPW4scj0hMSxvPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cj0hMCxzLmVtaXQoInVucmVzcG9uc2l2ZSIpfSksdGhpcy51bnJlc3BvbnNpdmVUaW1lb3V0KSxhLmxhYmVsPTE7Y2FzZSAxOnJldHVybiBhLnRyeXMucHVzaChbMSwsMyw0XSksWzQsdCgpXTtjYXNlIDI6cmV0dXJuIGk9YS5zZW50KCksciYmdGhpcy5lbWl0KCJyZXNwb25zaXZlIiksWzIsaV07Y2FzZSAzOnJldHVybiBjbGVhclRpbWVvdXQobyksZSYmZSgpLHRoaXMuZXhjaGFuZ2VCdXN5UHJvbWlzZT1udWxsLFs3XTtjYXNlIDQ6cmV0dXJuWzJdfX0pKX0pKX0sdGhpcy5fYXBwQVBJbG9jaz1udWxsfXJldHVybiBlLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoImV4Y2hhbmdlIG5vdCBpbXBsZW1lbnRlZCIpfSxlLnByb3RvdHlwZS5zZXRTY3JhbWJsZUtleT1mdW5jdGlvbihlKXt9LGUucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfSxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihlLHQpe3RoaXMuX2V2ZW50cy5vbihlLHQpfSxlLnByb3RvdHlwZS5vZmY9ZnVuY3Rpb24oZSx0KXt0aGlzLl9ldmVudHMucmVtb3ZlTGlzdGVuZXIoZSx0KX0sZS5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXtmb3IodmFyIHQsbj1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyluW3ItMV09YXJndW1lbnRzW3JdOyh0PXRoaXMuX2V2ZW50cykuZW1pdC5hcHBseSh0LFFuKFtlXSxxbihuKSwhMSkpfSxlLnByb3RvdHlwZS5zZXREZWJ1Z01vZGU9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oInNldERlYnVnTW9kZSBpcyBkZXByZWNhdGVkLiB1c2UgQGxlZGdlcmhxL2xvZ3MgaW5zdGVhZC4gTm8gbG9ncyBhcmUgZW1pdHRlZCBpbiB0aGlzIGFueW1vcmUuIil9LGUucHJvdG90eXBlLnNldEV4Y2hhbmdlVGltZW91dD1mdW5jdGlvbihlKXt0aGlzLmV4Y2hhbmdlVGltZW91dD1lfSxlLnByb3RvdHlwZS5zZXRFeGNoYW5nZVVucmVzcG9uc2l2ZVRpbWVvdXQ9ZnVuY3Rpb24oZSl7dGhpcy51bnJlc3BvbnNpdmVUaW1lb3V0PWV9LGUuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gdm9pZCAwPT09ZSYmKGU9M2UzKSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24ocixvKXt2YXIgaT0hMSxzPW4ubGlzdGVuKHtuZXh0OmZ1bmN0aW9uKHQpe2k9ITAscyYmcy51bnN1YnNjcmliZSgpLGEmJmNsZWFyVGltZW91dChhKSxuLm9wZW4odC5kZXNjcmlwdG9yLGUpLnRoZW4ocixvKX0sZXJyb3I6ZnVuY3Rpb24oZSl7YSYmY2xlYXJUaW1lb3V0KGEpLG8oZSl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7YSYmY2xlYXJUaW1lb3V0KGEpLGl8fG8obmV3IEJuKG4uRXJyb3JNZXNzYWdlX05vRGV2aWNlRm91bmQsIk5vRGV2aWNlRm91bmQiKSl9fSksYT10P3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cy51bnN1YnNjcmliZSgpLG8obmV3IEJuKG4uRXJyb3JNZXNzYWdlX0xpc3RlblRpbWVvdXQsIkxpc3RlblRpbWVvdXQiKSl9KSx0KTpudWxsfSkpfSxlLnByb3RvdHlwZS5kZWNvcmF0ZUFwcEFQSU1ldGhvZHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG87dHJ5e2Zvcih2YXIgaT1Ybih0KSxzPWkubmV4dCgpOyFzLmRvbmU7cz1pLm5leHQoKSl7dmFyIGE9cy52YWx1ZTtlW2FdPXRoaXMuZGVjb3JhdGVBcHBBUElNZXRob2QoYSxlW2FdLGUsbil9fWNhdGNoKGUpe3I9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e3MmJiFzLmRvbmUmJihvPWkucmV0dXJuKSYmby5jYWxsKGkpfWZpbmFsbHl7aWYocil0aHJvdyByLmVycm9yfX19LGUucHJvdG90eXBlLmRlY29yYXRlQXBwQVBJTWV0aG9kPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBpPVtdLHM9MDtzPGFyZ3VtZW50cy5sZW5ndGg7cysrKWlbc109YXJndW1lbnRzW3NdO3JldHVybiB6bihvLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIG87cmV0dXJuIFluKHRoaXMsKGZ1bmN0aW9uKHMpe3N3aXRjaChzLmxhYmVsKXtjYXNlIDA6aWYobz10aGlzLl9hcHBBUElsb2NrKXJldHVyblsyLFByb21pc2UucmVqZWN0KG5ldyBCbigiTGVkZ2VyIERldmljZSBpcyBidXN5IChsb2NrICIrbysiKSIsIlRyYW5zcG9ydExvY2tlZCIpKV07cy5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gcy50cnlzLnB1c2goWzEsLDMsNF0pLHRoaXMuX2FwcEFQSWxvY2s9ZSx0aGlzLnNldFNjcmFtYmxlS2V5KHIpLFs0LHQuYXBwbHkobixpKV07Y2FzZSAyOnJldHVyblsyLHMuc2VudCgpXTtjYXNlIDM6cmV0dXJuIHRoaXMuX2FwcEFQSWxvY2s9bnVsbCxbN107Y2FzZSA0OnJldHVyblsyXX19KSl9KSl9fSxlLkVycm9yTWVzc2FnZV9MaXN0ZW5UaW1lb3V0PSJObyBMZWRnZXIgZGV2aWNlIGZvdW5kICh0aW1lb3V0KSIsZS5FcnJvck1lc3NhZ2VfTm9EZXZpY2VGb3VuZD0iTm8gTGVkZ2VyIGRldmljZSBmb3VuZCIsZX0oKSxWbj17fSxLbj1uKFduKTshZnVuY3Rpb24oZSl7ZS5fX2VzTW9kdWxlPSEwO3ZhciB0PUtuO2Z1bmN0aW9uIG4oZSl7dmFyIHQ9QnVmZmVyLmFsbG9jKDIpO3JldHVybiB0LndyaXRlVUludDE2QkUoZSwwKSx0fXZhciByPXtkYXRhOkJ1ZmZlci5hbGxvYygwKSxkYXRhTGVuZ3RoOjAsc2VxdWVuY2U6MH07ZS5kZWZhdWx0PWZ1bmN0aW9uKGUsbyl7cmV0dXJue21ha2VCbG9ja3M6ZnVuY3Rpb24odCl7dmFyIHI9QnVmZmVyLmNvbmNhdChbbih0Lmxlbmd0aCksdF0pLGk9by01LHM9TWF0aC5jZWlsKHIubGVuZ3RoL2kpO3I9QnVmZmVyLmNvbmNhdChbcixCdWZmZXIuYWxsb2MocyppLXIubGVuZ3RoKzEpLmZpbGwoMCldKTtmb3IodmFyIGE9W10sbD0wO2w8cztsKyspe3ZhciBjPUJ1ZmZlci5hbGxvYyg1KTtjLndyaXRlVUludDE2QkUoZSwwKSxjLndyaXRlVUludDgoNSwyKSxjLndyaXRlVUludDE2QkUobCwzKTt2YXIgdT1yLnNsaWNlKGwqaSwobCsxKSppKTthLnB1c2goQnVmZmVyLmNvbmNhdChbYyx1XSkpfXJldHVybiBhfSxyZWR1Y2VSZXNwb25zZTpmdW5jdGlvbihuLG8pe3ZhciBpPW58fHIscz1pLmRhdGEsYT1pLmRhdGFMZW5ndGgsbD1pLnNlcXVlbmNlO2lmKG8ucmVhZFVJbnQxNkJFKDApIT09ZSl0aHJvdyBuZXcgdC5UcmFuc3BvcnRFcnJvcigiSW52YWxpZCBjaGFubmVsIiwiSW52YWxpZENoYW5uZWwiKTtpZig1IT09by5yZWFkVUludDgoMikpdGhyb3cgbmV3IHQuVHJhbnNwb3J0RXJyb3IoIkludmFsaWQgdGFnIiwiSW52YWxpZFRhZyIpO2lmKG8ucmVhZFVJbnQxNkJFKDMpIT09bCl0aHJvdyBuZXcgdC5UcmFuc3BvcnRFcnJvcigiSW52YWxpZCBzZXF1ZW5jZSIsIkludmFsaWRTZXF1ZW5jZSIpO258fChhPW8ucmVhZFVJbnQxNkJFKDUpKSxsKys7dmFyIGM9by5zbGljZShuPzU6Nyk7cmV0dXJuKHM9QnVmZmVyLmNvbmNhdChbcyxjXSkpLmxlbmd0aD5hJiYocz1zLnNsaWNlKDAsYSkpLHtkYXRhOnMsZGF0YUxlbmd0aDphLHNlcXVlbmNlOmx9fSxnZXRSZWR1Y2VkUmVzdWx0OmZ1bmN0aW9uKGUpe2lmKGUmJmUuZGF0YUxlbmd0aD09PWUuZGF0YS5sZW5ndGgpcmV0dXJuIGUuZGF0YX19fX0oVm4pO3ZhciAkbj10KFZuKSxabj17ZXhwb3J0czp7fX07dmFyIGVyPXtTRU1WRVJfU1BFQ19WRVJTSU9OOiIyLjAuMCIsTUFYX0xFTkdUSDoyNTYsTUFYX1NBRkVfSU5URUdFUjpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUnx8OTAwNzE5OTI1NDc0MDk5MSxNQVhfU0FGRV9DT01QT05FTlRfTEVOR1RIOjE2fTt2YXIgdHI9Im9iamVjdCI9PXR5cGVvZiBwcm9jZXNzJiZwcm9jZXNzLmVudiYmcHJvY2Vzcy5lbnYuTk9ERV9ERUJVRyYmL1xic2VtdmVyXGIvaS50ZXN0KHByb2Nlc3MuZW52Lk5PREVfREVCVUcpPyguLi5lKT0+Y29uc29sZS5lcnJvcigiU0VNVkVSIiwuLi5lKTooKT0+e307IWZ1bmN0aW9uKGUsdCl7Y29uc3R7TUFYX1NBRkVfQ09NUE9ORU5UX0xFTkdUSDpufT1lcixyPXRyLG89KHQ9ZS5leHBvcnRzPXt9KS5yZT1bXSxpPXQuc3JjPVtdLHM9dC50PXt9O2xldCBhPTA7Y29uc3QgbD0oZSx0LG4pPT57Y29uc3QgbD1hKys7cihlLGwsdCksc1tlXT1sLGlbbF09dCxvW2xdPW5ldyBSZWdFeHAodCxuPyJnIjp2b2lkIDApfTtsKCJOVU1FUklDSURFTlRJRklFUiIsIjB8WzEtOV1cXGQqIiksbCgiTlVNRVJJQ0lERU5USUZJRVJMT09TRSIsIlswLTldKyIpLGwoIk5PTk5VTUVSSUNJREVOVElGSUVSIiwiXFxkKlthLXpBLVotXVthLXpBLVowLTktXSoiKSxsKCJNQUlOVkVSU0lPTiIsYCgke2lbcy5OVU1FUklDSURFTlRJRklFUl19KVxcLigke2lbcy5OVU1FUklDSURFTlRJRklFUl19KVxcLigke2lbcy5OVU1FUklDSURFTlRJRklFUl19KWApLGwoIk1BSU5WRVJTSU9OTE9PU0UiLGAoJHtpW3MuTlVNRVJJQ0lERU5USUZJRVJMT09TRV19KVxcLigke2lbcy5OVU1FUklDSURFTlRJRklFUkxPT1NFXX0pXFwuKCR7aVtzLk5VTUVSSUNJREVOVElGSUVSTE9PU0VdfSlgKSxsKCJQUkVSRUxFQVNFSURFTlRJRklFUiIsYCg/OiR7aVtzLk5VTUVSSUNJREVOVElGSUVSXX18JHtpW3MuTk9OTlVNRVJJQ0lERU5USUZJRVJdfSlgKSxsKCJQUkVSRUxFQVNFSURFTlRJRklFUkxPT1NFIixgKD86JHtpW3MuTlVNRVJJQ0lERU5USUZJRVJMT09TRV19fCR7aVtzLk5PTk5VTUVSSUNJREVOVElGSUVSXX0pYCksbCgiUFJFUkVMRUFTRSIsYCg/Oi0oJHtpW3MuUFJFUkVMRUFTRUlERU5USUZJRVJdfSg/OlxcLiR7aVtzLlBSRVJFTEVBU0VJREVOVElGSUVSXX0pKikpYCksbCgiUFJFUkVMRUFTRUxPT1NFIixgKD86LT8oJHtpW3MuUFJFUkVMRUFTRUlERU5USUZJRVJMT09TRV19KD86XFwuJHtpW3MuUFJFUkVMRUFTRUlERU5USUZJRVJMT09TRV19KSopKWApLGwoIkJVSUxESURFTlRJRklFUiIsIlswLTlBLVphLXotXSsiKSxsKCJCVUlMRCIsYCg/OlxcKygke2lbcy5CVUlMRElERU5USUZJRVJdfSg/OlxcLiR7aVtzLkJVSUxESURFTlRJRklFUl19KSopKWApLGwoIkZVTExQTEFJTiIsYHY/JHtpW3MuTUFJTlZFUlNJT05dfSR7aVtzLlBSRVJFTEVBU0VdfT8ke2lbcy5CVUlMRF19P2ApLGwoIkZVTEwiLGBeJHtpW3MuRlVMTFBMQUlOXX0kYCksbCgiTE9PU0VQTEFJTiIsYFt2PVxcc10qJHtpW3MuTUFJTlZFUlNJT05MT09TRV19JHtpW3MuUFJFUkVMRUFTRUxPT1NFXX0/JHtpW3MuQlVJTERdfT9gKSxsKCJMT09TRSIsYF4ke2lbcy5MT09TRVBMQUlOXX0kYCksbCgiR1RMVCIsIigoPzo8fD4pPz0/KSIpLGwoIlhSQU5HRUlERU5USUZJRVJMT09TRSIsYCR7aVtzLk5VTUVSSUNJREVOVElGSUVSTE9PU0VdfXx4fFh8XFwqYCksbCgiWFJBTkdFSURFTlRJRklFUiIsYCR7aVtzLk5VTUVSSUNJREVOVElGSUVSXX18eHxYfFxcKmApLGwoIlhSQU5HRVBMQUlOIixgW3Y9XFxzXSooJHtpW3MuWFJBTkdFSURFTlRJRklFUl19KSg/OlxcLigke2lbcy5YUkFOR0VJREVOVElGSUVSXX0pKD86XFwuKCR7aVtzLlhSQU5HRUlERU5USUZJRVJdfSkoPzoke2lbcy5QUkVSRUxFQVNFXX0pPyR7aVtzLkJVSUxEXX0/KT8pP2ApLGwoIlhSQU5HRVBMQUlOTE9PU0UiLGBbdj1cXHNdKigke2lbcy5YUkFOR0VJREVOVElGSUVSTE9PU0VdfSkoPzpcXC4oJHtpW3MuWFJBTkdFSURFTlRJRklFUkxPT1NFXX0pKD86XFwuKCR7aVtzLlhSQU5HRUlERU5USUZJRVJMT09TRV19KSg/OiR7aVtzLlBSRVJFTEVBU0VMT09TRV19KT8ke2lbcy5CVUlMRF19Pyk/KT9gKSxsKCJYUkFOR0UiLGBeJHtpW3MuR1RMVF19XFxzKiR7aVtzLlhSQU5HRVBMQUlOXX0kYCksbCgiWFJBTkdFTE9PU0UiLGBeJHtpW3MuR1RMVF19XFxzKiR7aVtzLlhSQU5HRVBMQUlOTE9PU0VdfSRgKSxsKCJDT0VSQ0UiLGAoXnxbXlxcZF0pKFxcZHsxLCR7bn19KSg/OlxcLihcXGR7MSwke259fSkpPyg/OlxcLihcXGR7MSwke259fSkpPyg/OiR8W15cXGRdKWApLGwoIkNPRVJDRVJUTCIsaVtzLkNPRVJDRV0sITApLGwoIkxPTkVUSUxERSIsIig/On4+PykiKSxsKCJUSUxERVRSSU0iLGAoXFxzKikke2lbcy5MT05FVElMREVdfVxccytgLCEwKSx0LnRpbGRlVHJpbVJlcGxhY2U9IiQxfiIsbCgiVElMREUiLGBeJHtpW3MuTE9ORVRJTERFXX0ke2lbcy5YUkFOR0VQTEFJTl19JGApLGwoIlRJTERFTE9PU0UiLGBeJHtpW3MuTE9ORVRJTERFXX0ke2lbcy5YUkFOR0VQTEFJTkxPT1NFXX0kYCksbCgiTE9ORUNBUkVUIiwiKD86XFxeKSIpLGwoIkNBUkVUVFJJTSIsYChcXHMqKSR7aVtzLkxPTkVDQVJFVF19XFxzK2AsITApLHQuY2FyZXRUcmltUmVwbGFjZT0iJDFeIixsKCJDQVJFVCIsYF4ke2lbcy5MT05FQ0FSRVRdfSR7aVtzLlhSQU5HRVBMQUlOXX0kYCksbCgiQ0FSRVRMT09TRSIsYF4ke2lbcy5MT05FQ0FSRVRdfSR7aVtzLlhSQU5HRVBMQUlOTE9PU0VdfSRgKSxsKCJDT01QQVJBVE9STE9PU0UiLGBeJHtpW3MuR1RMVF19XFxzKigke2lbcy5MT09TRVBMQUlOXX0pJHxeJGApLGwoIkNPTVBBUkFUT1IiLGBeJHtpW3MuR1RMVF19XFxzKigke2lbcy5GVUxMUExBSU5dfSkkfF4kYCksbCgiQ09NUEFSQVRPUlRSSU0iLGAoXFxzKikke2lbcy5HVExUXX1cXHMqKCR7aVtzLkxPT1NFUExBSU5dfXwke2lbcy5YUkFOR0VQTEFJTl19KWAsITApLHQuY29tcGFyYXRvclRyaW1SZXBsYWNlPSIkMSQyJDMiLGwoIkhZUEhFTlJBTkdFIixgXlxccyooJHtpW3MuWFJBTkdFUExBSU5dfSlcXHMrLVxccysoJHtpW3MuWFJBTkdFUExBSU5dfSlcXHMqJGApLGwoIkhZUEhFTlJBTkdFTE9PU0UiLGBeXFxzKigke2lbcy5YUkFOR0VQTEFJTkxPT1NFXX0pXFxzKy1cXHMrKCR7aVtzLlhSQU5HRVBMQUlOTE9PU0VdfSlcXHMqJGApLGwoIlNUQVIiLCIoPHw+KT89P1xccypcXCoiKSxsKCJHVEUwIiwiXlxccyo+PVxccyowXFwuMFxcLjBcXHMqJCIpLGwoIkdURTBQUkUiLCJeXFxzKj49XFxzKjBcXC4wXFwuMC0wXFxzKiQiKX0oWm4sWm4uZXhwb3J0cyk7dmFyIG5yPVpuLmV4cG9ydHM7Y29uc3QgcnI9WyJpbmNsdWRlUHJlcmVsZWFzZSIsImxvb3NlIiwicnRsIl07dmFyIG9yPWU9PmU/Im9iamVjdCIhPXR5cGVvZiBlP3tsb29zZTohMH06cnIuZmlsdGVyKCh0PT5lW3RdKSkucmVkdWNlKCgoZSx0KT0+KGVbdF09ITAsZSkpLHt9KTp7fTtjb25zdCBpcj0vXlswLTldKyQvLHNyPShlLHQpPT57Y29uc3Qgbj1pci50ZXN0KGUpLHI9aXIudGVzdCh0KTtyZXR1cm4gbiYmciYmKGU9K2UsdD0rdCksZT09PXQ/MDpuJiYhcj8tMTpyJiYhbj8xOmU8dD8tMToxfTt2YXIgYXI9e2NvbXBhcmVJZGVudGlmaWVyczpzcixyY29tcGFyZUlkZW50aWZpZXJzOihlLHQpPT5zcih0LGUpfTtjb25zdCBscj10cix7TUFYX0xFTkdUSDpjcixNQVhfU0FGRV9JTlRFR0VSOnVyfT1lcix7cmU6aHIsdDpmcn09bnIsZHI9b3Ise2NvbXBhcmVJZGVudGlmaWVyczpwcn09YXI7dmFyIGdyPWNsYXNzIGV7Y29uc3RydWN0b3IodCxuKXtpZihuPWRyKG4pLHQgaW5zdGFuY2VvZiBlKXtpZih0Lmxvb3NlPT09ISFuLmxvb3NlJiZ0LmluY2x1ZGVQcmVyZWxlYXNlPT09ISFuLmluY2x1ZGVQcmVyZWxlYXNlKXJldHVybiB0O3Q9dC52ZXJzaW9ufWVsc2UgaWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgVmVyc2lvbjogJHt0fWApO2lmKHQubGVuZ3RoPmNyKXRocm93IG5ldyBUeXBlRXJyb3IoYHZlcnNpb24gaXMgbG9uZ2VyIHRoYW4gJHtjcn0gY2hhcmFjdGVyc2ApO2xyKCJTZW1WZXIiLHQsbiksdGhpcy5vcHRpb25zPW4sdGhpcy5sb29zZT0hIW4ubG9vc2UsdGhpcy5pbmNsdWRlUHJlcmVsZWFzZT0hIW4uaW5jbHVkZVByZXJlbGVhc2U7Y29uc3Qgcj10LnRyaW0oKS5tYXRjaChuLmxvb3NlP2hyW2ZyLkxPT1NFXTpocltmci5GVUxMXSk7aWYoIXIpdGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBWZXJzaW9uOiAke3R9YCk7aWYodGhpcy5yYXc9dCx0aGlzLm1ham9yPStyWzFdLHRoaXMubWlub3I9K3JbMl0sdGhpcy5wYXRjaD0rclszXSx0aGlzLm1ham9yPnVyfHx0aGlzLm1ham9yPDApdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBtYWpvciB2ZXJzaW9uIik7aWYodGhpcy5taW5vcj51cnx8dGhpcy5taW5vcjwwKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgbWlub3IgdmVyc2lvbiIpO2lmKHRoaXMucGF0Y2g+dXJ8fHRoaXMucGF0Y2g8MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIHBhdGNoIHZlcnNpb24iKTtyWzRdP3RoaXMucHJlcmVsZWFzZT1yWzRdLnNwbGl0KCIuIikubWFwKChlPT57aWYoL15bMC05XSskLy50ZXN0KGUpKXtjb25zdCB0PStlO2lmKHQ+PTAmJnQ8dXIpcmV0dXJuIHR9cmV0dXJuIGV9KSk6dGhpcy5wcmVyZWxlYXNlPVtdLHRoaXMuYnVpbGQ9cls1XT9yWzVdLnNwbGl0KCIuIik6W10sdGhpcy5mb3JtYXQoKX1mb3JtYXQoKXtyZXR1cm4gdGhpcy52ZXJzaW9uPWAke3RoaXMubWFqb3J9LiR7dGhpcy5taW5vcn0uJHt0aGlzLnBhdGNofWAsdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCYmKHRoaXMudmVyc2lvbis9YC0ke3RoaXMucHJlcmVsZWFzZS5qb2luKCIuIil9YCksdGhpcy52ZXJzaW9ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudmVyc2lvbn1jb21wYXJlKHQpe2lmKGxyKCJTZW1WZXIuY29tcGFyZSIsdGhpcy52ZXJzaW9uLHRoaXMub3B0aW9ucyx0KSwhKHQgaW5zdGFuY2VvZiBlKSl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0PT09dGhpcy52ZXJzaW9uKXJldHVybiAwO3Q9bmV3IGUodCx0aGlzLm9wdGlvbnMpfXJldHVybiB0LnZlcnNpb249PT10aGlzLnZlcnNpb24/MDp0aGlzLmNvbXBhcmVNYWluKHQpfHx0aGlzLmNvbXBhcmVQcmUodCl9Y29tcGFyZU1haW4odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBlfHwodD1uZXcgZSh0LHRoaXMub3B0aW9ucykpLHByKHRoaXMubWFqb3IsdC5tYWpvcil8fHByKHRoaXMubWlub3IsdC5taW5vcil8fHByKHRoaXMucGF0Y2gsdC5wYXRjaCl9Y29tcGFyZVByZSh0KXtpZih0IGluc3RhbmNlb2YgZXx8KHQ9bmV3IGUodCx0aGlzLm9wdGlvbnMpKSx0aGlzLnByZXJlbGVhc2UubGVuZ3RoJiYhdC5wcmVyZWxlYXNlLmxlbmd0aClyZXR1cm4tMTtpZighdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCYmdC5wcmVyZWxlYXNlLmxlbmd0aClyZXR1cm4gMTtpZighdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCYmIXQucHJlcmVsZWFzZS5sZW5ndGgpcmV0dXJuIDA7bGV0IG49MDtkb3tjb25zdCBlPXRoaXMucHJlcmVsZWFzZVtuXSxyPXQucHJlcmVsZWFzZVtuXTtpZihscigicHJlcmVsZWFzZSBjb21wYXJlIixuLGUsciksdm9pZCAwPT09ZSYmdm9pZCAwPT09cilyZXR1cm4gMDtpZih2b2lkIDA9PT1yKXJldHVybiAxO2lmKHZvaWQgMD09PWUpcmV0dXJuLTE7aWYoZSE9PXIpcmV0dXJuIHByKGUscil9d2hpbGUoKytuKX1jb21wYXJlQnVpbGQodCl7dCBpbnN0YW5jZW9mIGV8fCh0PW5ldyBlKHQsdGhpcy5vcHRpb25zKSk7bGV0IG49MDtkb3tjb25zdCBlPXRoaXMuYnVpbGRbbl0scj10LmJ1aWxkW25dO2lmKGxyKCJwcmVyZWxlYXNlIGNvbXBhcmUiLG4sZSxyKSx2b2lkIDA9PT1lJiZ2b2lkIDA9PT1yKXJldHVybiAwO2lmKHZvaWQgMD09PXIpcmV0dXJuIDE7aWYodm9pZCAwPT09ZSlyZXR1cm4tMTtpZihlIT09cilyZXR1cm4gcHIoZSxyKX13aGlsZSgrK24pfWluYyhlLHQpe3N3aXRjaChlKXtjYXNlInByZW1ham9yIjp0aGlzLnByZXJlbGVhc2UubGVuZ3RoPTAsdGhpcy5wYXRjaD0wLHRoaXMubWlub3I9MCx0aGlzLm1ham9yKyssdGhpcy5pbmMoInByZSIsdCk7YnJlYWs7Y2FzZSJwcmVtaW5vciI6dGhpcy5wcmVyZWxlYXNlLmxlbmd0aD0wLHRoaXMucGF0Y2g9MCx0aGlzLm1pbm9yKyssdGhpcy5pbmMoInByZSIsdCk7YnJlYWs7Y2FzZSJwcmVwYXRjaCI6dGhpcy5wcmVyZWxlYXNlLmxlbmd0aD0wLHRoaXMuaW5jKCJwYXRjaCIsdCksdGhpcy5pbmMoInByZSIsdCk7YnJlYWs7Y2FzZSJwcmVyZWxlYXNlIjowPT09dGhpcy5wcmVyZWxlYXNlLmxlbmd0aCYmdGhpcy5pbmMoInBhdGNoIix0KSx0aGlzLmluYygicHJlIix0KTticmVhaztjYXNlIm1ham9yIjowPT09dGhpcy5taW5vciYmMD09PXRoaXMucGF0Y2gmJjAhPT10aGlzLnByZXJlbGVhc2UubGVuZ3RofHx0aGlzLm1ham9yKyssdGhpcy5taW5vcj0wLHRoaXMucGF0Y2g9MCx0aGlzLnByZXJlbGVhc2U9W107YnJlYWs7Y2FzZSJtaW5vciI6MD09PXRoaXMucGF0Y2gmJjAhPT10aGlzLnByZXJlbGVhc2UubGVuZ3RofHx0aGlzLm1pbm9yKyssdGhpcy5wYXRjaD0wLHRoaXMucHJlcmVsZWFzZT1bXTticmVhaztjYXNlInBhdGNoIjowPT09dGhpcy5wcmVyZWxlYXNlLmxlbmd0aCYmdGhpcy5wYXRjaCsrLHRoaXMucHJlcmVsZWFzZT1bXTticmVhaztjYXNlInByZSI6aWYoMD09PXRoaXMucHJlcmVsZWFzZS5sZW5ndGgpdGhpcy5wcmVyZWxlYXNlPVswXTtlbHNle2xldCBlPXRoaXMucHJlcmVsZWFzZS5sZW5ndGg7Zm9yKDstLWU+PTA7KSJudW1iZXIiPT10eXBlb2YgdGhpcy5wcmVyZWxlYXNlW2VdJiYodGhpcy5wcmVyZWxlYXNlW2VdKyssZT0tMik7LTE9PT1lJiZ0aGlzLnByZXJlbGVhc2UucHVzaCgwKX10JiYoMD09PXByKHRoaXMucHJlcmVsZWFzZVswXSx0KT9pc05hTih0aGlzLnByZXJlbGVhc2VbMV0pJiYodGhpcy5wcmVyZWxlYXNlPVt0LDBdKTp0aGlzLnByZXJlbGVhc2U9W3QsMF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGluY3JlbWVudCBhcmd1bWVudDogJHtlfWApfXJldHVybiB0aGlzLmZvcm1hdCgpLHRoaXMucmF3PXRoaXMudmVyc2lvbix0aGlzfX07Y29uc3R7TUFYX0xFTkdUSDp2cn09ZXIse3JlOl9yLHQ6bXJ9PW5yLHlyPWdyLEVyPW9yO3ZhciB3cj0oZSx0KT0+e2lmKHQ9RXIodCksZSBpbnN0YW5jZW9mIHlyKXJldHVybiBlO2lmKCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbnVsbDtpZihlLmxlbmd0aD52cilyZXR1cm4gbnVsbDtpZighKHQubG9vc2U/X3JbbXIuTE9PU0VdOl9yW21yLkZVTExdKS50ZXN0KGUpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gbmV3IHlyKGUsdCl9Y2F0Y2goZSl7cmV0dXJuIG51bGx9fTtjb25zdCBBcj13cjt2YXIgYnI9KGUsdCk9Pntjb25zdCBuPUFyKGUsdCk7cmV0dXJuIG4/bi52ZXJzaW9uOm51bGx9O2NvbnN0IElyPXdyO3ZhciB4cj0oZSx0KT0+e2NvbnN0IG49SXIoZS50cmltKCkucmVwbGFjZSgvXls9dl0rLywiIiksdCk7cmV0dXJuIG4/bi52ZXJzaW9uOm51bGx9O2NvbnN0IFNyPWdyO3ZhciBMcj0oZSx0LG4scik9Pnsic3RyaW5nIj09dHlwZW9mIG4mJihyPW4sbj12b2lkIDApO3RyeXtyZXR1cm4gbmV3IFNyKGUgaW5zdGFuY2VvZiBTcj9lLnZlcnNpb246ZSxuKS5pbmModCxyKS52ZXJzaW9ufWNhdGNoKGUpe3JldHVybiBudWxsfX07Y29uc3QgQ3I9Z3I7dmFyIE5yPShlLHQsbik9Pm5ldyBDcihlLG4pLmNvbXBhcmUobmV3IENyKHQsbikpO2NvbnN0IE9yPU5yO3ZhciBUcj0oZSx0LG4pPT4wPT09T3IoZSx0LG4pO2NvbnN0IFJyPXdyLFByPVRyO3ZhciBEcj0oZSx0KT0+e2lmKFByKGUsdCkpcmV0dXJuIG51bGw7e2NvbnN0IG49UnIoZSkscj1Scih0KSxvPW4ucHJlcmVsZWFzZS5sZW5ndGh8fHIucHJlcmVsZWFzZS5sZW5ndGgsaT1vPyJwcmUiOiIiLHM9bz8icHJlcmVsZWFzZSI6IiI7Zm9yKGNvbnN0IGUgaW4gbilpZigoIm1ham9yIj09PWV8fCJtaW5vciI9PT1lfHwicGF0Y2giPT09ZSkmJm5bZV0hPT1yW2VdKXJldHVybiBpK2U7cmV0dXJuIHN9fTtjb25zdCBNcj1ncjt2YXIga3I9KGUsdCk9Pm5ldyBNcihlLHQpLm1ham9yO2NvbnN0IGpyPWdyO3ZhciBVcj0oZSx0KT0+bmV3IGpyKGUsdCkubWlub3I7Y29uc3QgQnI9Z3I7dmFyIEZyPShlLHQpPT5uZXcgQnIoZSx0KS5wYXRjaDtjb25zdCBIcj13cjt2YXIgR3I9KGUsdCk9Pntjb25zdCBuPUhyKGUsdCk7cmV0dXJuIG4mJm4ucHJlcmVsZWFzZS5sZW5ndGg/bi5wcmVyZWxlYXNlOm51bGx9O2NvbnN0IFdyPU5yO3ZhciB6cj0oZSx0LG4pPT5Xcih0LGUsbik7Y29uc3QgWXI9TnI7dmFyIHFyPShlLHQpPT5ZcihlLHQsITApO2NvbnN0IFFyPWdyO3ZhciBYcj0oZSx0LG4pPT57Y29uc3Qgcj1uZXcgUXIoZSxuKSxvPW5ldyBRcih0LG4pO3JldHVybiByLmNvbXBhcmUobyl8fHIuY29tcGFyZUJ1aWxkKG8pfTtjb25zdCBKcj1Ycjt2YXIgVnI9KGUsdCk9PmUuc29ydCgoKGUsbik9PkpyKGUsbix0KSkpO2NvbnN0IEtyPVhyO3ZhciAkcj0oZSx0KT0+ZS5zb3J0KCgoZSxuKT0+S3IobixlLHQpKSk7Y29uc3QgWnI9TnI7dmFyIGVvPShlLHQsbik9PlpyKGUsdCxuKT4wO2NvbnN0IHRvPU5yO3ZhciBubz0oZSx0LG4pPT50byhlLHQsbik8MDtjb25zdCBybz1Ocjt2YXIgb289KGUsdCxuKT0+MCE9PXJvKGUsdCxuKTtjb25zdCBpbz1Ocjt2YXIgc289KGUsdCxuKT0+aW8oZSx0LG4pPj0wO2NvbnN0IGFvPU5yO3ZhciBsbz0oZSx0LG4pPT5hbyhlLHQsbik8PTA7Y29uc3QgY289VHIsdW89b28saG89ZW8sZm89c28scG89bm8sZ289bG87dmFyIHZvPShlLHQsbixyKT0+e3N3aXRjaCh0KXtjYXNlIj09PSI6cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYoZT1lLnZlcnNpb24pLCJvYmplY3QiPT10eXBlb2YgbiYmKG49bi52ZXJzaW9uKSxlPT09bjtjYXNlIiE9PSI6cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYoZT1lLnZlcnNpb24pLCJvYmplY3QiPT10eXBlb2YgbiYmKG49bi52ZXJzaW9uKSxlIT09bjtjYXNlIiI6Y2FzZSI9IjpjYXNlIj09IjpyZXR1cm4gY28oZSxuLHIpO2Nhc2UiIT0iOnJldHVybiB1byhlLG4scik7Y2FzZSI+IjpyZXR1cm4gaG8oZSxuLHIpO2Nhc2UiPj0iOnJldHVybiBmbyhlLG4scik7Y2FzZSI8IjpyZXR1cm4gcG8oZSxuLHIpO2Nhc2UiPD0iOnJldHVybiBnbyhlLG4scik7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIG9wZXJhdG9yOiAke3R9YCl9fTtjb25zdCBfbz1ncixtbz13cix7cmU6eW8sdDpFb309bnI7dmFyIHdvLEFvLGJvLElvLHhvLFNvLExvLENvLE5vLE9vLFRvPShlLHQpPT57aWYoZSBpbnN0YW5jZW9mIF9vKXJldHVybiBlO2lmKCJudW1iZXIiPT10eXBlb2YgZSYmKGU9U3RyaW5nKGUpKSwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7bGV0IG49bnVsbDtpZigodD10fHx7fSkucnRsKXtsZXQgdDtmb3IoOyh0PXlvW0VvLkNPRVJDRVJUTF0uZXhlYyhlKSkmJighbnx8bi5pbmRleCtuWzBdLmxlbmd0aCE9PWUubGVuZ3RoKTspbiYmdC5pbmRleCt0WzBdLmxlbmd0aD09PW4uaW5kZXgrblswXS5sZW5ndGh8fChuPXQpLHlvW0VvLkNPRVJDRVJUTF0ubGFzdEluZGV4PXQuaW5kZXgrdFsxXS5sZW5ndGgrdFsyXS5sZW5ndGg7eW9bRW8uQ09FUkNFUlRMXS5sYXN0SW5kZXg9LTF9ZWxzZSBuPWUubWF0Y2goeW9bRW8uQ09FUkNFXSk7cmV0dXJuIG51bGw9PT1uP251bGw6bW8oYCR7blsyXX0uJHtuWzNdfHwiMCJ9LiR7bls0XXx8IjAifWAsdCl9O2Z1bmN0aW9uIFJvKCl7aWYoSW8pcmV0dXJuIGJvO2Z1bmN0aW9uIGUodCl7dmFyIG49dGhpcztpZihuIGluc3RhbmNlb2YgZXx8KG49bmV3IGUpLG4udGFpbD1udWxsLG4uaGVhZD1udWxsLG4ubGVuZ3RoPTAsdCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuZm9yRWFjaCl0LmZvckVhY2goKGZ1bmN0aW9uKGUpe24ucHVzaChlKX0pKTtlbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGg+MClmb3IodmFyIHI9MCxvPWFyZ3VtZW50cy5sZW5ndGg7cjxvO3IrKyluLnB1c2goYXJndW1lbnRzW3JdKTtyZXR1cm4gbn1mdW5jdGlvbiB0KGUsdCxuKXt2YXIgcj10PT09ZS5oZWFkP25ldyBvKG4sbnVsbCx0LGUpOm5ldyBvKG4sdCx0Lm5leHQsZSk7cmV0dXJuIG51bGw9PT1yLm5leHQmJihlLnRhaWw9ciksbnVsbD09PXIucHJldiYmKGUuaGVhZD1yKSxlLmxlbmd0aCsrLHJ9ZnVuY3Rpb24gbihlLHQpe2UudGFpbD1uZXcgbyh0LGUudGFpbCxudWxsLGUpLGUuaGVhZHx8KGUuaGVhZD1lLnRhaWwpLGUubGVuZ3RoKyt9ZnVuY3Rpb24gcihlLHQpe2UuaGVhZD1uZXcgbyh0LG51bGwsZS5oZWFkLGUpLGUudGFpbHx8KGUudGFpbD1lLmhlYWQpLGUubGVuZ3RoKyt9ZnVuY3Rpb24gbyhlLHQsbixyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBvKSlyZXR1cm4gbmV3IG8oZSx0LG4scik7dGhpcy5saXN0PXIsdGhpcy52YWx1ZT1lLHQ/KHQubmV4dD10aGlzLHRoaXMucHJldj10KTp0aGlzLnByZXY9bnVsbCxuPyhuLnByZXY9dGhpcyx0aGlzLm5leHQ9bik6dGhpcy5uZXh0PW51bGx9SW89MSxibz1lLGUuTm9kZT1vLGUuY3JlYXRlPWUsZS5wcm90b3R5cGUucmVtb3ZlTm9kZT1mdW5jdGlvbihlKXtpZihlLmxpc3QhPT10aGlzKXRocm93IG5ldyBFcnJvcigicmVtb3Zpbmcgbm9kZSB3aGljaCBkb2VzIG5vdCBiZWxvbmcgdG8gdGhpcyBsaXN0Iik7dmFyIHQ9ZS5uZXh0LG49ZS5wcmV2O3JldHVybiB0JiYodC5wcmV2PW4pLG4mJihuLm5leHQ9dCksZT09PXRoaXMuaGVhZCYmKHRoaXMuaGVhZD10KSxlPT09dGhpcy50YWlsJiYodGhpcy50YWlsPW4pLGUubGlzdC5sZW5ndGgtLSxlLm5leHQ9bnVsbCxlLnByZXY9bnVsbCxlLmxpc3Q9bnVsbCx0fSxlLnByb3RvdHlwZS51bnNoaWZ0Tm9kZT1mdW5jdGlvbihlKXtpZihlIT09dGhpcy5oZWFkKXtlLmxpc3QmJmUubGlzdC5yZW1vdmVOb2RlKGUpO3ZhciB0PXRoaXMuaGVhZDtlLmxpc3Q9dGhpcyxlLm5leHQ9dCx0JiYodC5wcmV2PWUpLHRoaXMuaGVhZD1lLHRoaXMudGFpbHx8KHRoaXMudGFpbD1lKSx0aGlzLmxlbmd0aCsrfX0sZS5wcm90b3R5cGUucHVzaE5vZGU9ZnVuY3Rpb24oZSl7aWYoZSE9PXRoaXMudGFpbCl7ZS5saXN0JiZlLmxpc3QucmVtb3ZlTm9kZShlKTt2YXIgdD10aGlzLnRhaWw7ZS5saXN0PXRoaXMsZS5wcmV2PXQsdCYmKHQubmV4dD1lKSx0aGlzLnRhaWw9ZSx0aGlzLmhlYWR8fCh0aGlzLmhlYWQ9ZSksdGhpcy5sZW5ndGgrK319LGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oKXtmb3IodmFyIGU9MCx0PWFyZ3VtZW50cy5sZW5ndGg7ZTx0O2UrKyluKHRoaXMsYXJndW1lbnRzW2VdKTtyZXR1cm4gdGhpcy5sZW5ndGh9LGUucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oKXtmb3IodmFyIGU9MCx0PWFyZ3VtZW50cy5sZW5ndGg7ZTx0O2UrKylyKHRoaXMsYXJndW1lbnRzW2VdKTtyZXR1cm4gdGhpcy5sZW5ndGh9LGUucHJvdG90eXBlLnBvcD1mdW5jdGlvbigpe2lmKHRoaXMudGFpbCl7dmFyIGU9dGhpcy50YWlsLnZhbHVlO3JldHVybiB0aGlzLnRhaWw9dGhpcy50YWlsLnByZXYsdGhpcy50YWlsP3RoaXMudGFpbC5uZXh0PW51bGw6dGhpcy5oZWFkPW51bGwsdGhpcy5sZW5ndGgtLSxlfX0sZS5wcm90b3R5cGUuc2hpZnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmhlYWQpe3ZhciBlPXRoaXMuaGVhZC52YWx1ZTtyZXR1cm4gdGhpcy5oZWFkPXRoaXMuaGVhZC5uZXh0LHRoaXMuaGVhZD90aGlzLmhlYWQucHJldj1udWxsOnRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoLS0sZX19LGUucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZSx0KXt0PXR8fHRoaXM7Zm9yKHZhciBuPXRoaXMuaGVhZCxyPTA7bnVsbCE9PW47cisrKWUuY2FsbCh0LG4udmFsdWUscix0aGlzKSxuPW4ubmV4dH0sZS5wcm90b3R5cGUuZm9yRWFjaFJldmVyc2U9ZnVuY3Rpb24oZSx0KXt0PXR8fHRoaXM7Zm9yKHZhciBuPXRoaXMudGFpbCxyPXRoaXMubGVuZ3RoLTE7bnVsbCE9PW47ci0tKWUuY2FsbCh0LG4udmFsdWUscix0aGlzKSxuPW4ucHJldn0sZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49dGhpcy5oZWFkO251bGwhPT1uJiZ0PGU7dCsrKW49bi5uZXh0O2lmKHQ9PT1lJiZudWxsIT09bilyZXR1cm4gbi52YWx1ZX0sZS5wcm90b3R5cGUuZ2V0UmV2ZXJzZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPXRoaXMudGFpbDtudWxsIT09biYmdDxlO3QrKyluPW4ucHJldjtpZih0PT09ZSYmbnVsbCE9PW4pcmV0dXJuIG4udmFsdWV9LGUucHJvdG90eXBlLm1hcD1mdW5jdGlvbih0LG4pe249bnx8dGhpcztmb3IodmFyIHI9bmV3IGUsbz10aGlzLmhlYWQ7bnVsbCE9PW87KXIucHVzaCh0LmNhbGwobixvLnZhbHVlLHRoaXMpKSxvPW8ubmV4dDtyZXR1cm4gcn0sZS5wcm90b3R5cGUubWFwUmV2ZXJzZT1mdW5jdGlvbih0LG4pe249bnx8dGhpcztmb3IodmFyIHI9bmV3IGUsbz10aGlzLnRhaWw7bnVsbCE9PW87KXIucHVzaCh0LmNhbGwobixvLnZhbHVlLHRoaXMpKSxvPW8ucHJldjtyZXR1cm4gcn0sZS5wcm90b3R5cGUucmVkdWNlPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj10aGlzLmhlYWQ7aWYoYXJndW1lbnRzLmxlbmd0aD4xKW49dDtlbHNle2lmKCF0aGlzLmhlYWQpdGhyb3cgbmV3IFR5cGVFcnJvcigiUmVkdWNlIG9mIGVtcHR5IGxpc3Qgd2l0aCBubyBpbml0aWFsIHZhbHVlIik7cj10aGlzLmhlYWQubmV4dCxuPXRoaXMuaGVhZC52YWx1ZX1mb3IodmFyIG89MDtudWxsIT09cjtvKyspbj1lKG4sci52YWx1ZSxvKSxyPXIubmV4dDtyZXR1cm4gbn0sZS5wcm90b3R5cGUucmVkdWNlUmV2ZXJzZT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9dGhpcy50YWlsO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSluPXQ7ZWxzZXtpZighdGhpcy50YWlsKXRocm93IG5ldyBUeXBlRXJyb3IoIlJlZHVjZSBvZiBlbXB0eSBsaXN0IHdpdGggbm8gaW5pdGlhbCB2YWx1ZSIpO3I9dGhpcy50YWlsLnByZXYsbj10aGlzLnRhaWwudmFsdWV9Zm9yKHZhciBvPXRoaXMubGVuZ3RoLTE7bnVsbCE9PXI7by0tKW49ZShuLHIudmFsdWUsbykscj1yLnByZXY7cmV0dXJuIG59LGUucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24oKXtmb3IodmFyIGU9bmV3IEFycmF5KHRoaXMubGVuZ3RoKSx0PTAsbj10aGlzLmhlYWQ7bnVsbCE9PW47dCsrKWVbdF09bi52YWx1ZSxuPW4ubmV4dDtyZXR1cm4gZX0sZS5wcm90b3R5cGUudG9BcnJheVJldmVyc2U9ZnVuY3Rpb24oKXtmb3IodmFyIGU9bmV3IEFycmF5KHRoaXMubGVuZ3RoKSx0PTAsbj10aGlzLnRhaWw7bnVsbCE9PW47dCsrKWVbdF09bi52YWx1ZSxuPW4ucHJldjtyZXR1cm4gZX0sZS5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxuKXsobj1ufHx0aGlzLmxlbmd0aCk8MCYmKG4rPXRoaXMubGVuZ3RoKSwodD10fHwwKTwwJiYodCs9dGhpcy5sZW5ndGgpO3ZhciByPW5ldyBlO2lmKG48dHx8bjwwKXJldHVybiByO3Q8MCYmKHQ9MCksbj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpO2Zvcih2YXIgbz0wLGk9dGhpcy5oZWFkO251bGwhPT1pJiZvPHQ7bysrKWk9aS5uZXh0O2Zvcig7bnVsbCE9PWkmJm88bjtvKyssaT1pLm5leHQpci5wdXNoKGkudmFsdWUpO3JldHVybiByfSxlLnByb3RvdHlwZS5zbGljZVJldmVyc2U9ZnVuY3Rpb24odCxuKXsobj1ufHx0aGlzLmxlbmd0aCk8MCYmKG4rPXRoaXMubGVuZ3RoKSwodD10fHwwKTwwJiYodCs9dGhpcy5sZW5ndGgpO3ZhciByPW5ldyBlO2lmKG48dHx8bjwwKXJldHVybiByO3Q8MCYmKHQ9MCksbj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpO2Zvcih2YXIgbz10aGlzLmxlbmd0aCxpPXRoaXMudGFpbDtudWxsIT09aSYmbz5uO28tLSlpPWkucHJldjtmb3IoO251bGwhPT1pJiZvPnQ7by0tLGk9aS5wcmV2KXIucHVzaChpLnZhbHVlKTtyZXR1cm4gcn0sZS5wcm90b3R5cGUuc3BsaWNlPWZ1bmN0aW9uKGUsbiwuLi5yKXtlPnRoaXMubGVuZ3RoJiYoZT10aGlzLmxlbmd0aC0xKSxlPDAmJihlPXRoaXMubGVuZ3RoK2UpO2Zvcih2YXIgbz0wLGk9dGhpcy5oZWFkO251bGwhPT1pJiZvPGU7bysrKWk9aS5uZXh0O3ZhciBzPVtdO2ZvcihvPTA7aSYmbzxuO28rKylzLnB1c2goaS52YWx1ZSksaT10aGlzLnJlbW92ZU5vZGUoaSk7bnVsbD09PWkmJihpPXRoaXMudGFpbCksaSE9PXRoaXMuaGVhZCYmaSE9PXRoaXMudGFpbCYmKGk9aS5wcmV2KTtmb3Iobz0wO288ci5sZW5ndGg7bysrKWk9dCh0aGlzLGkscltvXSk7cmV0dXJuIHN9LGUucHJvdG90eXBlLnJldmVyc2U9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5oZWFkLHQ9dGhpcy50YWlsLG49ZTtudWxsIT09bjtuPW4ucHJldil7dmFyIHI9bi5wcmV2O24ucHJldj1uLm5leHQsbi5uZXh0PXJ9cmV0dXJuIHRoaXMuaGVhZD10LHRoaXMudGFpbD1lLHRoaXN9O3RyeXsoQW8/d286KEFvPTEsd289ZnVuY3Rpb24oZSl7ZS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbiooKXtmb3IobGV0IGU9dGhpcy5oZWFkO2U7ZT1lLm5leHQpeWllbGQgZS52YWx1ZX19KSkoZSl9Y2F0Y2goZSl7fXJldHVybiBib31mdW5jdGlvbiBQbygpe2lmKENvKXJldHVybiBMbztDbz0xO2NsYXNzIGV7Y29uc3RydWN0b3IodCxuKXtpZihuPXIobiksdCBpbnN0YW5jZW9mIGUpcmV0dXJuIHQubG9vc2U9PT0hIW4ubG9vc2UmJnQuaW5jbHVkZVByZXJlbGVhc2U9PT0hIW4uaW5jbHVkZVByZXJlbGVhc2U/dDpuZXcgZSh0LnJhdyxuKTtpZih0IGluc3RhbmNlb2YgbylyZXR1cm4gdGhpcy5yYXc9dC52YWx1ZSx0aGlzLnNldD1bW3RdXSx0aGlzLmZvcm1hdCgpLHRoaXM7aWYodGhpcy5vcHRpb25zPW4sdGhpcy5sb29zZT0hIW4ubG9vc2UsdGhpcy5pbmNsdWRlUHJlcmVsZWFzZT0hIW4uaW5jbHVkZVByZXJlbGVhc2UsdGhpcy5yYXc9dCx0aGlzLnNldD10LnNwbGl0KCJ8fCIpLm1hcCgoZT0+dGhpcy5wYXJzZVJhbmdlKGUudHJpbSgpKSkpLmZpbHRlcigoZT0+ZS5sZW5ndGgpKSwhdGhpcy5zZXQubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgU2VtVmVyIFJhbmdlOiAke3R9YCk7aWYodGhpcy5zZXQubGVuZ3RoPjEpe2NvbnN0IGU9dGhpcy5zZXRbMF07aWYodGhpcy5zZXQ9dGhpcy5zZXQuZmlsdGVyKChlPT4hZihlWzBdKSkpLDA9PT10aGlzLnNldC5sZW5ndGgpdGhpcy5zZXQ9W2VdO2Vsc2UgaWYodGhpcy5zZXQubGVuZ3RoPjEpZm9yKGNvbnN0IGUgb2YgdGhpcy5zZXQpaWYoMT09PWUubGVuZ3RoJiZkKGVbMF0pKXt0aGlzLnNldD1bZV07YnJlYWt9fXRoaXMuZm9ybWF0KCl9Zm9ybWF0KCl7cmV0dXJuIHRoaXMucmFuZ2U9dGhpcy5zZXQubWFwKChlPT5lLmpvaW4oIiAiKS50cmltKCkpKS5qb2luKCJ8fCIpLnRyaW0oKSx0aGlzLnJhbmdlfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucmFuZ2V9cGFyc2VSYW5nZShlKXtlPWUudHJpbSgpO2NvbnN0IHQ9YHBhcnNlUmFuZ2U6JHtPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpLmpvaW4oIiwiKX06JHtlfWAscj1uLmdldCh0KTtpZihyKXJldHVybiByO2NvbnN0IHM9dGhpcy5vcHRpb25zLmxvb3NlLGQ9cz9hW2wuSFlQSEVOUkFOR0VMT09TRV06YVtsLkhZUEhFTlJBTkdFXTtlPWUucmVwbGFjZShkLHgodGhpcy5vcHRpb25zLmluY2x1ZGVQcmVyZWxlYXNlKSksaSgiaHlwaGVuIHJlcGxhY2UiLGUpLGU9ZS5yZXBsYWNlKGFbbC5DT01QQVJBVE9SVFJJTV0sYyksaSgiY29tcGFyYXRvciB0cmltIixlKTtsZXQgcD0oZT0oZT0oZT1lLnJlcGxhY2UoYVtsLlRJTERFVFJJTV0sdSkpLnJlcGxhY2UoYVtsLkNBUkVUVFJJTV0saCkpLnNwbGl0KC9ccysvKS5qb2luKCIgIikpLnNwbGl0KCIgIikubWFwKChlPT5nKGUsdGhpcy5vcHRpb25zKSkpLmpvaW4oIiAiKS5zcGxpdCgvXHMrLykubWFwKChlPT5JKGUsdGhpcy5vcHRpb25zKSkpO3MmJihwPXAuZmlsdGVyKChlPT4oaSgibG9vc2UgaW52YWxpZCBmaWx0ZXIiLGUsdGhpcy5vcHRpb25zKSwhIWUubWF0Y2goYVtsLkNPTVBBUkFUT1JMT09TRV0pKSkpKSxpKCJyYW5nZSBsaXN0IixwKTtjb25zdCB2PW5ldyBNYXAsXz1wLm1hcCgoZT0+bmV3IG8oZSx0aGlzLm9wdGlvbnMpKSk7Zm9yKGNvbnN0IGUgb2YgXyl7aWYoZihlKSlyZXR1cm5bZV07di5zZXQoZS52YWx1ZSxlKX12LnNpemU+MSYmdi5oYXMoIiIpJiZ2LmRlbGV0ZSgiIik7Y29uc3QgbT1bLi4udi52YWx1ZXMoKV07cmV0dXJuIG4uc2V0KHQsbSksbX1pbnRlcnNlY3RzKHQsbil7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiYSBSYW5nZSBpcyByZXF1aXJlZCIpO3JldHVybiB0aGlzLnNldC5zb21lKChlPT5wKGUsbikmJnQuc2V0LnNvbWUoKHQ9PnAodCxuKSYmZS5ldmVyeSgoZT0+dC5ldmVyeSgodD0+ZS5pbnRlcnNlY3RzKHQsbikpKSkpKSkpKX10ZXN0KGUpe2lmKCFlKXJldHVybiExO2lmKCJzdHJpbmciPT10eXBlb2YgZSl0cnl7ZT1uZXcgcyhlLHRoaXMub3B0aW9ucyl9Y2F0Y2goZSl7cmV0dXJuITF9Zm9yKGxldCB0PTA7dDx0aGlzLnNldC5sZW5ndGg7dCsrKWlmKFModGhpcy5zZXRbdF0sZSx0aGlzLm9wdGlvbnMpKXJldHVybiEwO3JldHVybiExfX1Mbz1lO2NvbnN0IHQ9ZnVuY3Rpb24oKXtpZihTbylyZXR1cm4geG87U289MTtjb25zdCBlPVJvKCksdD1TeW1ib2woIm1heCIpLG49U3ltYm9sKCJsZW5ndGgiKSxyPVN5bWJvbCgibGVuZ3RoQ2FsY3VsYXRvciIpLG89U3ltYm9sKCJhbGxvd1N0YWxlIiksaT1TeW1ib2woIm1heEFnZSIpLHM9U3ltYm9sKCJkaXNwb3NlIiksYT1TeW1ib2woIm5vRGlzcG9zZU9uU2V0IiksbD1TeW1ib2woImxydUxpc3QiKSxjPVN5bWJvbCgiY2FjaGUiKSx1PVN5bWJvbCgidXBkYXRlQWdlT25HZXQiKSxoPSgpPT4xLGY9KGUsdCxuKT0+e2NvbnN0IHI9ZVtjXS5nZXQodCk7aWYocil7Y29uc3QgdD1yLnZhbHVlO2lmKGQoZSx0KSl7aWYoZyhlLHIpLCFlW29dKXJldHVybn1lbHNlIG4mJihlW3VdJiYoci52YWx1ZS5ub3c9RGF0ZS5ub3coKSksZVtsXS51bnNoaWZ0Tm9kZShyKSk7cmV0dXJuIHQudmFsdWV9fSxkPShlLHQpPT57aWYoIXR8fCF0Lm1heEFnZSYmIWVbaV0pcmV0dXJuITE7Y29uc3Qgbj1EYXRlLm5vdygpLXQubm93O3JldHVybiB0Lm1heEFnZT9uPnQubWF4QWdlOmVbaV0mJm4+ZVtpXX0scD1lPT57aWYoZVtuXT5lW3RdKWZvcihsZXQgcj1lW2xdLnRhaWw7ZVtuXT5lW3RdJiZudWxsIT09cjspe2NvbnN0IHQ9ci5wcmV2O2coZSxyKSxyPXR9fSxnPShlLHQpPT57aWYodCl7Y29uc3Qgcj10LnZhbHVlO2Vbc10mJmVbc10oci5rZXksci52YWx1ZSksZVtuXS09ci5sZW5ndGgsZVtjXS5kZWxldGUoci5rZXkpLGVbbF0ucmVtb3ZlTm9kZSh0KX19O2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LG4scixvKXt0aGlzLmtleT1lLHRoaXMudmFsdWU9dCx0aGlzLmxlbmd0aD1uLHRoaXMubm93PXIsdGhpcy5tYXhBZ2U9b3x8MH19Y29uc3QgXz0oZSx0LG4scik9PntsZXQgaT1uLnZhbHVlO2QoZSxpKSYmKGcoZSxuKSxlW29dfHwoaT12b2lkIDApKSxpJiZ0LmNhbGwocixpLnZhbHVlLGkua2V5LGUpfTtyZXR1cm4geG89Y2xhc3N7Y29uc3RydWN0b3IoZSl7aWYoIm51bWJlciI9PXR5cGVvZiBlJiYoZT17bWF4OmV9KSxlfHwoZT17fSksZS5tYXgmJigibnVtYmVyIiE9dHlwZW9mIGUubWF4fHxlLm1heDwwKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtYXggbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIiKTt0aGlzW3RdPWUubWF4fHwxLzA7Y29uc3Qgbj1lLmxlbmd0aHx8aDtpZih0aGlzW3JdPSJmdW5jdGlvbiIhPXR5cGVvZiBuP2g6bix0aGlzW29dPWUuc3RhbGV8fCExLGUubWF4QWdlJiYibnVtYmVyIiE9dHlwZW9mIGUubWF4QWdlKXRocm93IG5ldyBUeXBlRXJyb3IoIm1heEFnZSBtdXN0IGJlIGEgbnVtYmVyIik7dGhpc1tpXT1lLm1heEFnZXx8MCx0aGlzW3NdPWUuZGlzcG9zZSx0aGlzW2FdPWUubm9EaXNwb3NlT25TZXR8fCExLHRoaXNbdV09ZS51cGRhdGVBZ2VPbkdldHx8ITEsdGhpcy5yZXNldCgpfXNldCBtYXgoZSl7aWYoIm51bWJlciIhPXR5cGVvZiBlfHxlPDApdGhyb3cgbmV3IFR5cGVFcnJvcigibWF4IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyIik7dGhpc1t0XT1lfHwxLzAscCh0aGlzKX1nZXQgbWF4KCl7cmV0dXJuIHRoaXNbdF19c2V0IGFsbG93U3RhbGUoZSl7dGhpc1tvXT0hIWV9Z2V0IGFsbG93U3RhbGUoKXtyZXR1cm4gdGhpc1tvXX1zZXQgbWF4QWdlKGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtYXhBZ2UgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIiKTt0aGlzW2ldPWUscCh0aGlzKX1nZXQgbWF4QWdlKCl7cmV0dXJuIHRoaXNbaV19c2V0IGxlbmd0aENhbGN1bGF0b3IoZSl7ImZ1bmN0aW9uIiE9dHlwZW9mIGUmJihlPWgpLGUhPT10aGlzW3JdJiYodGhpc1tyXT1lLHRoaXNbbl09MCx0aGlzW2xdLmZvckVhY2goKGU9PntlLmxlbmd0aD10aGlzW3JdKGUudmFsdWUsZS5rZXkpLHRoaXNbbl0rPWUubGVuZ3RofSkpKSxwKHRoaXMpfWdldCBsZW5ndGhDYWxjdWxhdG9yKCl7cmV0dXJuIHRoaXNbcl19Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzW25dfWdldCBpdGVtQ291bnQoKXtyZXR1cm4gdGhpc1tsXS5sZW5ndGh9cmZvckVhY2goZSx0KXt0PXR8fHRoaXM7Zm9yKGxldCBuPXRoaXNbbF0udGFpbDtudWxsIT09bjspe2NvbnN0IHI9bi5wcmV2O18odGhpcyxlLG4sdCksbj1yfX1mb3JFYWNoKGUsdCl7dD10fHx0aGlzO2ZvcihsZXQgbj10aGlzW2xdLmhlYWQ7bnVsbCE9PW47KXtjb25zdCByPW4ubmV4dDtfKHRoaXMsZSxuLHQpLG49cn19a2V5cygpe3JldHVybiB0aGlzW2xdLnRvQXJyYXkoKS5tYXAoKGU9PmUua2V5KSl9dmFsdWVzKCl7cmV0dXJuIHRoaXNbbF0udG9BcnJheSgpLm1hcCgoZT0+ZS52YWx1ZSkpfXJlc2V0KCl7dGhpc1tzXSYmdGhpc1tsXSYmdGhpc1tsXS5sZW5ndGgmJnRoaXNbbF0uZm9yRWFjaCgoZT0+dGhpc1tzXShlLmtleSxlLnZhbHVlKSkpLHRoaXNbY109bmV3IE1hcCx0aGlzW2xdPW5ldyBlLHRoaXNbbl09MH1kdW1wKCl7cmV0dXJuIHRoaXNbbF0ubWFwKChlPT4hZCh0aGlzLGUpJiZ7azplLmtleSx2OmUudmFsdWUsZTplLm5vdysoZS5tYXhBZ2V8fDApfSkpLnRvQXJyYXkoKS5maWx0ZXIoKGU9PmUpKX1kdW1wTHJ1KCl7cmV0dXJuIHRoaXNbbF19c2V0KGUsbyx1KXtpZigodT11fHx0aGlzW2ldKSYmIm51bWJlciIhPXR5cGVvZiB1KXRocm93IG5ldyBUeXBlRXJyb3IoIm1heEFnZSBtdXN0IGJlIGEgbnVtYmVyIik7Y29uc3QgaD11P0RhdGUubm93KCk6MCxmPXRoaXNbcl0obyxlKTtpZih0aGlzW2NdLmhhcyhlKSl7aWYoZj50aGlzW3RdKXJldHVybiBnKHRoaXMsdGhpc1tjXS5nZXQoZSkpLCExO2NvbnN0IHI9dGhpc1tjXS5nZXQoZSkudmFsdWU7cmV0dXJuIHRoaXNbc10mJih0aGlzW2FdfHx0aGlzW3NdKGUsci52YWx1ZSkpLHIubm93PWgsci5tYXhBZ2U9dSxyLnZhbHVlPW8sdGhpc1tuXSs9Zi1yLmxlbmd0aCxyLmxlbmd0aD1mLHRoaXMuZ2V0KGUpLHAodGhpcyksITB9Y29uc3QgZD1uZXcgdihlLG8sZixoLHUpO3JldHVybiBkLmxlbmd0aD50aGlzW3RdPyh0aGlzW3NdJiZ0aGlzW3NdKGUsbyksITEpOih0aGlzW25dKz1kLmxlbmd0aCx0aGlzW2xdLnVuc2hpZnQoZCksdGhpc1tjXS5zZXQoZSx0aGlzW2xdLmhlYWQpLHAodGhpcyksITApfWhhcyhlKXtpZighdGhpc1tjXS5oYXMoZSkpcmV0dXJuITE7Y29uc3QgdD10aGlzW2NdLmdldChlKS52YWx1ZTtyZXR1cm4hZCh0aGlzLHQpfWdldChlKXtyZXR1cm4gZih0aGlzLGUsITApfXBlZWsoZSl7cmV0dXJuIGYodGhpcyxlLCExKX1wb3AoKXtjb25zdCBlPXRoaXNbbF0udGFpbDtyZXR1cm4gZT8oZyh0aGlzLGUpLGUudmFsdWUpOm51bGx9ZGVsKGUpe2codGhpcyx0aGlzW2NdLmdldChlKSl9bG9hZChlKXt0aGlzLnJlc2V0KCk7Y29uc3QgdD1EYXRlLm5vdygpO2ZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtjb25zdCByPWVbbl0sbz1yLmV8fDA7aWYoMD09PW8pdGhpcy5zZXQoci5rLHIudik7ZWxzZXtjb25zdCBlPW8tdDtlPjAmJnRoaXMuc2V0KHIuayxyLnYsZSl9fX1wcnVuZSgpe3RoaXNbY10uZm9yRWFjaCgoKGUsdCk9PmYodGhpcyx0LCExKSkpfX0seG99KCksbj1uZXcgdCh7bWF4OjFlM30pLHI9b3Isbz1EbygpLGk9dHIscz1ncix7cmU6YSx0OmwsY29tcGFyYXRvclRyaW1SZXBsYWNlOmMsdGlsZGVUcmltUmVwbGFjZTp1LGNhcmV0VHJpbVJlcGxhY2U6aH09bnIsZj1lPT4iPDAuMC4wLTAiPT09ZS52YWx1ZSxkPWU9PiIiPT09ZS52YWx1ZSxwPShlLHQpPT57bGV0IG49ITA7Y29uc3Qgcj1lLnNsaWNlKCk7bGV0IG89ci5wb3AoKTtmb3IoO24mJnIubGVuZ3RoOyluPXIuZXZlcnkoKGU9Pm8uaW50ZXJzZWN0cyhlLHQpKSksbz1yLnBvcCgpO3JldHVybiBufSxnPShlLHQpPT4oaSgiY29tcCIsZSx0KSxlPXkoZSx0KSxpKCJjYXJldCIsZSksZT1fKGUsdCksaSgidGlsZGVzIixlKSxlPXcoZSx0KSxpKCJ4cmFuZ2UiLGUpLGU9YihlLHQpLGkoInN0YXJzIixlKSxlKSx2PWU9PiFlfHwieCI9PT1lLnRvTG93ZXJDYXNlKCl8fCIqIj09PWUsXz0oZSx0KT0+ZS50cmltKCkuc3BsaXQoL1xzKy8pLm1hcCgoZT0+bShlLHQpKSkuam9pbigiICIpLG09KGUsdCk9Pntjb25zdCBuPXQubG9vc2U/YVtsLlRJTERFTE9PU0VdOmFbbC5USUxERV07cmV0dXJuIGUucmVwbGFjZShuLCgodCxuLHIsbyxzKT0+e2xldCBhO3JldHVybiBpKCJ0aWxkZSIsZSx0LG4scixvLHMpLHYobik/YT0iIjp2KHIpP2E9YD49JHtufS4wLjAgPCR7K24rMX0uMC4wLTBgOnYobyk/YT1gPj0ke259LiR7cn0uMCA8JHtufS4keytyKzF9LjAtMGA6cz8oaSgicmVwbGFjZVRpbGRlIHByIixzKSxhPWA+PSR7bn0uJHtyfS4ke299LSR7c30gPCR7bn0uJHsrcisxfS4wLTBgKTphPWA+PSR7bn0uJHtyfS4ke299IDwke259LiR7K3IrMX0uMC0wYCxpKCJ0aWxkZSByZXR1cm4iLGEpLGF9KSl9LHk9KGUsdCk9PmUudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9PkUoZSx0KSkpLmpvaW4oIiAiKSxFPShlLHQpPT57aSgiY2FyZXQiLGUsdCk7Y29uc3Qgbj10Lmxvb3NlP2FbbC5DQVJFVExPT1NFXTphW2wuQ0FSRVRdLHI9dC5pbmNsdWRlUHJlcmVsZWFzZT8iLTAiOiIiO3JldHVybiBlLnJlcGxhY2UobiwoKHQsbixvLHMsYSk9PntsZXQgbDtyZXR1cm4gaSgiY2FyZXQiLGUsdCxuLG8scyxhKSx2KG4pP2w9IiI6dihvKT9sPWA+PSR7bn0uMC4wJHtyfSA8JHsrbisxfS4wLjAtMGA6dihzKT9sPSIwIj09PW4/YD49JHtufS4ke299LjAke3J9IDwke259LiR7K28rMX0uMC0wYDpgPj0ke259LiR7b30uMCR7cn0gPCR7K24rMX0uMC4wLTBgOmE/KGkoInJlcGxhY2VDYXJldCBwciIsYSksbD0iMCI9PT1uPyIwIj09PW8/YD49JHtufS4ke299LiR7c30tJHthfSA8JHtufS4ke299LiR7K3MrMX0tMGA6YD49JHtufS4ke299LiR7c30tJHthfSA8JHtufS4keytvKzF9LjAtMGA6YD49JHtufS4ke299LiR7c30tJHthfSA8JHsrbisxfS4wLjAtMGApOihpKCJubyBwciIpLGw9IjAiPT09bj8iMCI9PT1vP2A+PSR7bn0uJHtvfS4ke3N9JHtyfSA8JHtufS4ke299LiR7K3MrMX0tMGA6YD49JHtufS4ke299LiR7c30ke3J9IDwke259LiR7K28rMX0uMC0wYDpgPj0ke259LiR7b30uJHtzfSA8JHsrbisxfS4wLjAtMGApLGkoImNhcmV0IHJldHVybiIsbCksbH0pKX0sdz0oZSx0KT0+KGkoInJlcGxhY2VYUmFuZ2VzIixlLHQpLGUuc3BsaXQoL1xzKy8pLm1hcCgoZT0+QShlLHQpKSkuam9pbigiICIpKSxBPShlLHQpPT57ZT1lLnRyaW0oKTtjb25zdCBuPXQubG9vc2U/YVtsLlhSQU5HRUxPT1NFXTphW2wuWFJBTkdFXTtyZXR1cm4gZS5yZXBsYWNlKG4sKChuLHIsbyxzLGEsbCk9PntpKCJ4UmFuZ2UiLGUsbixyLG8scyxhLGwpO2NvbnN0IGM9dihvKSx1PWN8fHYocyksaD11fHx2KGEpLGY9aDtyZXR1cm4iPSI9PT1yJiZmJiYocj0iIiksbD10LmluY2x1ZGVQcmVyZWxlYXNlPyItMCI6IiIsYz9uPSI+Ij09PXJ8fCI8Ij09PXI/IjwwLjAuMC0wIjoiKiI6ciYmZj8odSYmKHM9MCksYT0wLCI+Ij09PXI/KHI9Ij49Iix1PyhvPStvKzEscz0wLGE9MCk6KHM9K3MrMSxhPTApKToiPD0iPT09ciYmKHI9IjwiLHU/bz0rbysxOnM9K3MrMSksIjwiPT09ciYmKGw9Ii0wIiksbj1gJHtyK299LiR7c30uJHthfSR7bH1gKTp1P249YD49JHtvfS4wLjAke2x9IDwkeytvKzF9LjAuMC0wYDpoJiYobj1gPj0ke299LiR7c30uMCR7bH0gPCR7b30uJHsrcysxfS4wLTBgKSxpKCJ4UmFuZ2UgcmV0dXJuIixuKSxufSkpfSxiPShlLHQpPT4oaSgicmVwbGFjZVN0YXJzIixlLHQpLGUudHJpbSgpLnJlcGxhY2UoYVtsLlNUQVJdLCIiKSksST0oZSx0KT0+KGkoInJlcGxhY2VHVEUwIixlLHQpLGUudHJpbSgpLnJlcGxhY2UoYVt0LmluY2x1ZGVQcmVyZWxlYXNlP2wuR1RFMFBSRTpsLkdURTBdLCIiKSkseD1lPT4odCxuLHIsbyxpLHMsYSxsLGMsdSxoLGYsZCk9PmAke249dihyKT8iIjp2KG8pP2A+PSR7cn0uMC4wJHtlPyItMCI6IiJ9YDp2KGkpP2A+PSR7cn0uJHtvfS4wJHtlPyItMCI6IiJ9YDpzP2A+PSR7bn1gOmA+PSR7bn0ke2U/Ii0wIjoiIn1gfSAke2w9dihjKT8iIjp2KHUpP2A8JHsrYysxfS4wLjAtMGA6dihoKT9gPCR7Y30uJHsrdSsxfS4wLTBgOmY/YDw9JHtjfS4ke3V9LiR7aH0tJHtmfWA6ZT9gPCR7Y30uJHt1fS4keytoKzF9LTBgOmA8PSR7bH1gfWAudHJpbSgpLFM9KGUsdCxuKT0+e2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKWlmKCFlW25dLnRlc3QodCkpcmV0dXJuITE7aWYodC5wcmVyZWxlYXNlLmxlbmd0aCYmIW4uaW5jbHVkZVByZXJlbGVhc2Upe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKWlmKGkoZVtuXS5zZW12ZXIpLGVbbl0uc2VtdmVyIT09by5BTlkmJmVbbl0uc2VtdmVyLnByZXJlbGVhc2UubGVuZ3RoPjApe2NvbnN0IHI9ZVtuXS5zZW12ZXI7aWYoci5tYWpvcj09PXQubWFqb3ImJnIubWlub3I9PT10Lm1pbm9yJiZyLnBhdGNoPT09dC5wYXRjaClyZXR1cm4hMH1yZXR1cm4hMX1yZXR1cm4hMH07cmV0dXJuIExvfWZ1bmN0aW9uIERvKCl7aWYoT28pcmV0dXJuIE5vO09vPTE7Y29uc3QgZT1TeW1ib2woIlNlbVZlciBBTlkiKTtjbGFzcyB0e3N0YXRpYyBnZXQgQU5ZKCl7cmV0dXJuIGV9Y29uc3RydWN0b3IocixvKXtpZihvPW4obyksciBpbnN0YW5jZW9mIHQpe2lmKHIubG9vc2U9PT0hIW8ubG9vc2UpcmV0dXJuIHI7cj1yLnZhbHVlfXMoImNvbXBhcmF0b3IiLHIsbyksdGhpcy5vcHRpb25zPW8sdGhpcy5sb29zZT0hIW8ubG9vc2UsdGhpcy5wYXJzZShyKSx0aGlzLnNlbXZlcj09PWU/dGhpcy52YWx1ZT0iIjp0aGlzLnZhbHVlPXRoaXMub3BlcmF0b3IrdGhpcy5zZW12ZXIudmVyc2lvbixzKCJjb21wIix0aGlzKX1wYXJzZSh0KXtjb25zdCBuPXRoaXMub3B0aW9ucy5sb29zZT9yW28uQ09NUEFSQVRPUkxPT1NFXTpyW28uQ09NUEFSQVRPUl0saT10Lm1hdGNoKG4pO2lmKCFpKXRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgY29tcGFyYXRvcjogJHt0fWApO3RoaXMub3BlcmF0b3I9dm9pZCAwIT09aVsxXT9pWzFdOiIiLCI9Ij09PXRoaXMub3BlcmF0b3ImJih0aGlzLm9wZXJhdG9yPSIiKSxpWzJdP3RoaXMuc2VtdmVyPW5ldyBhKGlbMl0sdGhpcy5vcHRpb25zLmxvb3NlKTp0aGlzLnNlbXZlcj1lfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudmFsdWV9dGVzdCh0KXtpZihzKCJDb21wYXJhdG9yLnRlc3QiLHQsdGhpcy5vcHRpb25zLmxvb3NlKSx0aGlzLnNlbXZlcj09PWV8fHQ9PT1lKXJldHVybiEwO2lmKCJzdHJpbmciPT10eXBlb2YgdCl0cnl7dD1uZXcgYSh0LHRoaXMub3B0aW9ucyl9Y2F0Y2goZSl7cmV0dXJuITF9cmV0dXJuIGkodCx0aGlzLm9wZXJhdG9yLHRoaXMuc2VtdmVyLHRoaXMub3B0aW9ucyl9aW50ZXJzZWN0cyhlLG4pe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImEgQ29tcGFyYXRvciBpcyByZXF1aXJlZCIpO2lmKG4mJiJvYmplY3QiPT10eXBlb2Ygbnx8KG49e2xvb3NlOiEhbixpbmNsdWRlUHJlcmVsZWFzZTohMX0pLCIiPT09dGhpcy5vcGVyYXRvcilyZXR1cm4iIj09PXRoaXMudmFsdWV8fG5ldyBsKGUudmFsdWUsbikudGVzdCh0aGlzLnZhbHVlKTtpZigiIj09PWUub3BlcmF0b3IpcmV0dXJuIiI9PT1lLnZhbHVlfHxuZXcgbCh0aGlzLnZhbHVlLG4pLnRlc3QoZS5zZW12ZXIpO2NvbnN0IHI9ISgiPj0iIT09dGhpcy5vcGVyYXRvciYmIj4iIT09dGhpcy5vcGVyYXRvcnx8Ij49IiE9PWUub3BlcmF0b3ImJiI+IiE9PWUub3BlcmF0b3IpLG89ISgiPD0iIT09dGhpcy5vcGVyYXRvciYmIjwiIT09dGhpcy5vcGVyYXRvcnx8Ijw9IiE9PWUub3BlcmF0b3ImJiI8IiE9PWUub3BlcmF0b3IpLHM9dGhpcy5zZW12ZXIudmVyc2lvbj09PWUuc2VtdmVyLnZlcnNpb24sYT0hKCI+PSIhPT10aGlzLm9wZXJhdG9yJiYiPD0iIT09dGhpcy5vcGVyYXRvcnx8Ij49IiE9PWUub3BlcmF0b3ImJiI8PSIhPT1lLm9wZXJhdG9yKSxjPWkodGhpcy5zZW12ZXIsIjwiLGUuc2VtdmVyLG4pJiYoIj49Ij09PXRoaXMub3BlcmF0b3J8fCI+Ij09PXRoaXMub3BlcmF0b3IpJiYoIjw9Ij09PWUub3BlcmF0b3J8fCI8Ij09PWUub3BlcmF0b3IpLHU9aSh0aGlzLnNlbXZlciwiPiIsZS5zZW12ZXIsbikmJigiPD0iPT09dGhpcy5vcGVyYXRvcnx8IjwiPT09dGhpcy5vcGVyYXRvcikmJigiPj0iPT09ZS5vcGVyYXRvcnx8Ij4iPT09ZS5vcGVyYXRvcik7cmV0dXJuIHJ8fG98fHMmJmF8fGN8fHV9fU5vPXQ7Y29uc3Qgbj1vcix7cmU6cix0Om99PW5yLGk9dm8scz10cixhPWdyLGw9UG8oKTtyZXR1cm4gTm99Y29uc3QgTW89UG8oKTt2YXIga289KGUsdCxuKT0+e3RyeXt0PW5ldyBNbyh0LG4pfWNhdGNoKGUpe3JldHVybiExfXJldHVybiB0LnRlc3QoZSl9O2NvbnN0IGpvPVBvKCk7dmFyIFVvPShlLHQpPT5uZXcgam8oZSx0KS5zZXQubWFwKChlPT5lLm1hcCgoZT0+ZS52YWx1ZSkpLmpvaW4oIiAiKS50cmltKCkuc3BsaXQoIiAiKSkpO2NvbnN0IEJvPWdyLEZvPVBvKCk7dmFyIEhvPShlLHQsbik9PntsZXQgcj1udWxsLG89bnVsbCxpPW51bGw7dHJ5e2k9bmV3IEZvKHQsbil9Y2F0Y2goZSl7cmV0dXJuIG51bGx9cmV0dXJuIGUuZm9yRWFjaCgoZT0+e2kudGVzdChlKSYmKHImJi0xIT09by5jb21wYXJlKGUpfHwocj1lLG89bmV3IEJvKHIsbikpKX0pKSxyfTtjb25zdCBHbz1ncixXbz1QbygpO3ZhciB6bz0oZSx0LG4pPT57bGV0IHI9bnVsbCxvPW51bGwsaT1udWxsO3RyeXtpPW5ldyBXbyh0LG4pfWNhdGNoKGUpe3JldHVybiBudWxsfXJldHVybiBlLmZvckVhY2goKGU9PntpLnRlc3QoZSkmJihyJiYxIT09by5jb21wYXJlKGUpfHwocj1lLG89bmV3IEdvKHIsbikpKX0pKSxyfTtjb25zdCBZbz1ncixxbz1QbygpLFFvPWVvO3ZhciBYbz0oZSx0KT0+e2U9bmV3IHFvKGUsdCk7bGV0IG49bmV3IFlvKCIwLjAuMCIpO2lmKGUudGVzdChuKSlyZXR1cm4gbjtpZihuPW5ldyBZbygiMC4wLjAtMCIpLGUudGVzdChuKSlyZXR1cm4gbjtuPW51bGw7Zm9yKGxldCB0PTA7dDxlLnNldC5sZW5ndGg7Kyt0KXtjb25zdCByPWUuc2V0W3RdO2xldCBvPW51bGw7ci5mb3JFYWNoKChlPT57Y29uc3QgdD1uZXcgWW8oZS5zZW12ZXIudmVyc2lvbik7c3dpdGNoKGUub3BlcmF0b3Ipe2Nhc2UiPiI6MD09PXQucHJlcmVsZWFzZS5sZW5ndGg/dC5wYXRjaCsrOnQucHJlcmVsZWFzZS5wdXNoKDApLHQucmF3PXQuZm9ybWF0KCk7Y2FzZSIiOmNhc2UiPj0iOm8mJiFRbyh0LG8pfHwobz10KTticmVhaztjYXNlIjwiOmNhc2UiPD0iOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG9wZXJhdGlvbjogJHtlLm9wZXJhdG9yfWApfX0pKSwhb3x8biYmIVFvKG4sbyl8fChuPW8pfXJldHVybiBuJiZlLnRlc3Qobik/bjpudWxsfTtjb25zdCBKbz1QbygpO3ZhciBWbz0oZSx0KT0+e3RyeXtyZXR1cm4gbmV3IEpvKGUsdCkucmFuZ2V8fCIqIn1jYXRjaChlKXtyZXR1cm4gbnVsbH19O2NvbnN0IEtvPWdyLCRvPURvKCkse0FOWTpab309JG8sZWk9UG8oKSx0aT1rbyxuaT1lbyxyaT1ubyxvaT1sbyxpaT1zbzt2YXIgc2k9KGUsdCxuLHIpPT57bGV0IG8saSxzLGEsbDtzd2l0Y2goZT1uZXcgS28oZSxyKSx0PW5ldyBlaSh0LHIpLG4pe2Nhc2UiPiI6bz1uaSxpPW9pLHM9cmksYT0iPiIsbD0iPj0iO2JyZWFrO2Nhc2UiPCI6bz1yaSxpPWlpLHM9bmksYT0iPCIsbD0iPD0iO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcignTXVzdCBwcm92aWRlIGEgaGlsbyB2YWwgb2YgIjwiIG9yICI+IicpfWlmKHRpKGUsdCxyKSlyZXR1cm4hMTtmb3IobGV0IG49MDtuPHQuc2V0Lmxlbmd0aDsrK24pe2NvbnN0IGM9dC5zZXRbbl07bGV0IHU9bnVsbCxoPW51bGw7aWYoYy5mb3JFYWNoKChlPT57ZS5zZW12ZXI9PT1abyYmKGU9bmV3ICRvKCI+PTAuMC4wIikpLHU9dXx8ZSxoPWh8fGUsbyhlLnNlbXZlcix1LnNlbXZlcixyKT91PWU6cyhlLnNlbXZlcixoLnNlbXZlcixyKSYmKGg9ZSl9KSksdS5vcGVyYXRvcj09PWF8fHUub3BlcmF0b3I9PT1sKXJldHVybiExO2lmKCghaC5vcGVyYXRvcnx8aC5vcGVyYXRvcj09PWEpJiZpKGUsaC5zZW12ZXIpKXJldHVybiExO2lmKGgub3BlcmF0b3I9PT1sJiZzKGUsaC5zZW12ZXIpKXJldHVybiExfXJldHVybiEwfTtjb25zdCBhaT1zaTt2YXIgbGk9KGUsdCxuKT0+YWkoZSx0LCI+IixuKTtjb25zdCBjaT1zaTt2YXIgdWk9KGUsdCxuKT0+Y2koZSx0LCI8IixuKTtjb25zdCBoaT1QbygpO3ZhciBmaT0oZSx0LG4pPT4oZT1uZXcgaGkoZSxuKSx0PW5ldyBoaSh0LG4pLGUuaW50ZXJzZWN0cyh0KSk7Y29uc3QgZGk9a28scGk9TnI7Y29uc3QgZ2k9UG8oKSx2aT1EbygpLHtBTlk6X2l9PXZpLG1pPWtvLHlpPU5yLEVpPShlLHQsbik9PntpZihlPT09dClyZXR1cm4hMDtpZigxPT09ZS5sZW5ndGgmJmVbMF0uc2VtdmVyPT09X2kpe2lmKDE9PT10Lmxlbmd0aCYmdFswXS5zZW12ZXI9PT1faSlyZXR1cm4hMDtlPW4uaW5jbHVkZVByZXJlbGVhc2U/W25ldyB2aSgiPj0wLjAuMC0wIildOltuZXcgdmkoIj49MC4wLjAiKV19aWYoMT09PXQubGVuZ3RoJiZ0WzBdLnNlbXZlcj09PV9pKXtpZihuLmluY2x1ZGVQcmVyZWxlYXNlKXJldHVybiEwO3Q9W25ldyB2aSgiPj0wLjAuMCIpXX1jb25zdCByPW5ldyBTZXQ7bGV0IG8saSxzLGEsbCxjLHU7Zm9yKGNvbnN0IHQgb2YgZSkiPiI9PT10Lm9wZXJhdG9yfHwiPj0iPT09dC5vcGVyYXRvcj9vPXdpKG8sdCxuKToiPCI9PT10Lm9wZXJhdG9yfHwiPD0iPT09dC5vcGVyYXRvcj9pPUFpKGksdCxuKTpyLmFkZCh0LnNlbXZlcik7aWYoci5zaXplPjEpcmV0dXJuIG51bGw7aWYobyYmaSl7aWYocz15aShvLnNlbXZlcixpLnNlbXZlcixuKSxzPjApcmV0dXJuIG51bGw7aWYoMD09PXMmJigiPj0iIT09by5vcGVyYXRvcnx8Ijw9IiE9PWkub3BlcmF0b3IpKXJldHVybiBudWxsfWZvcihjb25zdCBlIG9mIHIpe2lmKG8mJiFtaShlLFN0cmluZyhvKSxuKSlyZXR1cm4gbnVsbDtpZihpJiYhbWkoZSxTdHJpbmcoaSksbikpcmV0dXJuIG51bGw7Zm9yKGNvbnN0IHIgb2YgdClpZighbWkoZSxTdHJpbmcociksbikpcmV0dXJuITE7cmV0dXJuITB9bGV0IGg9ISghaXx8bi5pbmNsdWRlUHJlcmVsZWFzZXx8IWkuc2VtdmVyLnByZXJlbGVhc2UubGVuZ3RoKSYmaS5zZW12ZXIsZj0hKCFvfHxuLmluY2x1ZGVQcmVyZWxlYXNlfHwhby5zZW12ZXIucHJlcmVsZWFzZS5sZW5ndGgpJiZvLnNlbXZlcjtoJiYxPT09aC5wcmVyZWxlYXNlLmxlbmd0aCYmIjwiPT09aS5vcGVyYXRvciYmMD09PWgucHJlcmVsZWFzZVswXSYmKGg9ITEpO2Zvcihjb25zdCBlIG9mIHQpe2lmKHU9dXx8Ij4iPT09ZS5vcGVyYXRvcnx8Ij49Ij09PWUub3BlcmF0b3IsYz1jfHwiPCI9PT1lLm9wZXJhdG9yfHwiPD0iPT09ZS5vcGVyYXRvcixvKWlmKGYmJmUuc2VtdmVyLnByZXJlbGVhc2UmJmUuc2VtdmVyLnByZXJlbGVhc2UubGVuZ3RoJiZlLnNlbXZlci5tYWpvcj09PWYubWFqb3ImJmUuc2VtdmVyLm1pbm9yPT09Zi5taW5vciYmZS5zZW12ZXIucGF0Y2g9PT1mLnBhdGNoJiYoZj0hMSksIj4iPT09ZS5vcGVyYXRvcnx8Ij49Ij09PWUub3BlcmF0b3Ipe2lmKGE9d2kobyxlLG4pLGE9PT1lJiZhIT09bylyZXR1cm4hMX1lbHNlIGlmKCI+PSI9PT1vLm9wZXJhdG9yJiYhbWkoby5zZW12ZXIsU3RyaW5nKGUpLG4pKXJldHVybiExO2lmKGkpaWYoaCYmZS5zZW12ZXIucHJlcmVsZWFzZSYmZS5zZW12ZXIucHJlcmVsZWFzZS5sZW5ndGgmJmUuc2VtdmVyLm1ham9yPT09aC5tYWpvciYmZS5zZW12ZXIubWlub3I9PT1oLm1pbm9yJiZlLnNlbXZlci5wYXRjaD09PWgucGF0Y2gmJihoPSExKSwiPCI9PT1lLm9wZXJhdG9yfHwiPD0iPT09ZS5vcGVyYXRvcil7aWYobD1BaShpLGUsbiksbD09PWUmJmwhPT1pKXJldHVybiExfWVsc2UgaWYoIjw9Ij09PWkub3BlcmF0b3ImJiFtaShpLnNlbXZlcixTdHJpbmcoZSksbikpcmV0dXJuITE7aWYoIWUub3BlcmF0b3ImJihpfHxvKSYmMCE9PXMpcmV0dXJuITF9cmV0dXJuIShvJiZjJiYhaSYmMCE9PXMpJiYoIShpJiZ1JiYhbyYmMCE9PXMpJiYoIWYmJiFoKSl9LHdpPShlLHQsbik9PntpZighZSlyZXR1cm4gdDtjb25zdCByPXlpKGUuc2VtdmVyLHQuc2VtdmVyLG4pO3JldHVybiByPjA/ZTpyPDB8fCI+Ij09PXQub3BlcmF0b3ImJiI+PSI9PT1lLm9wZXJhdG9yP3Q6ZX0sQWk9KGUsdCxuKT0+e2lmKCFlKXJldHVybiB0O2NvbnN0IHI9eWkoZS5zZW12ZXIsdC5zZW12ZXIsbik7cmV0dXJuIHI8MD9lOnI+MHx8IjwiPT09dC5vcGVyYXRvciYmIjw9Ij09PWUub3BlcmF0b3I/dDplfTt2YXIgYmk9KGUsdCxuPXt9KT0+e2lmKGU9PT10KXJldHVybiEwO2U9bmV3IGdpKGUsbiksdD1uZXcgZ2kodCxuKTtsZXQgcj0hMTtlOmZvcihjb25zdCBvIG9mIGUuc2V0KXtmb3IoY29uc3QgZSBvZiB0LnNldCl7Y29uc3QgdD1FaShvLGUsbik7aWYocj1yfHxudWxsIT09dCx0KWNvbnRpbnVlIGV9aWYocilyZXR1cm4hMX1yZXR1cm4hMH07Y29uc3QgSWk9bnIseGk9ZXIsU2k9Z3IsTGk9YXIsQ2k9KGUsdCxuKT0+e2NvbnN0IHI9W107bGV0IG89bnVsbCxpPW51bGw7Y29uc3Qgcz1lLnNvcnQoKChlLHQpPT5waShlLHQsbikpKTtmb3IoY29uc3QgZSBvZiBzKXtkaShlLHQsbik/KGk9ZSxvfHwobz1lKSk6KGkmJnIucHVzaChbbyxpXSksaT1udWxsLG89bnVsbCl9byYmci5wdXNoKFtvLG51bGxdKTtjb25zdCBhPVtdO2Zvcihjb25zdFtlLHRdb2YgcillPT09dD9hLnB1c2goZSk6dHx8ZSE9PXNbMF0/dD9lPT09c1swXT9hLnB1c2goYDw9JHt0fWApOmEucHVzaChgJHtlfSAtICR7dH1gKTphLnB1c2goYD49JHtlfWApOmEucHVzaCgiKiIpO2NvbnN0IGw9YS5qb2luKCIgfHwgIiksYz0ic3RyaW5nIj09dHlwZW9mIHQucmF3P3QucmF3OlN0cmluZyh0KTtyZXR1cm4gbC5sZW5ndGg8Yy5sZW5ndGg/bDp0fTt2YXIgTmksT2ksVGk9dCh7cGFyc2U6d3IsdmFsaWQ6YnIsY2xlYW46eHIsaW5jOkxyLGRpZmY6RHIsbWFqb3I6a3IsbWlub3I6VXIscGF0Y2g6RnIscHJlcmVsZWFzZTpHcixjb21wYXJlOk5yLHJjb21wYXJlOnpyLGNvbXBhcmVMb29zZTpxcixjb21wYXJlQnVpbGQ6WHIsc29ydDpWcixyc29ydDokcixndDplbyxsdDpubyxlcTpUcixuZXE6b28sZ3RlOnNvLGx0ZTpsbyxjbXA6dm8sY29lcmNlOlRvLENvbXBhcmF0b3I6RG8oKSxSYW5nZTpQbygpLHNhdGlzZmllczprbyx0b0NvbXBhcmF0b3JzOlVvLG1heFNhdGlzZnlpbmc6SG8sbWluU2F0aXNmeWluZzp6byxtaW5WZXJzaW9uOlhvLHZhbGlkUmFuZ2U6Vm8sb3V0c2lkZTpzaSxndHI6bGksbHRyOnVpLGludGVyc2VjdHM6Zmksc2ltcGxpZnlSYW5nZTpDaSxzdWJzZXQ6YmksU2VtVmVyOlNpLHJlOklpLnJlLHNyYzpJaS5zcmMsdG9rZW5zOklpLnQsU0VNVkVSX1NQRUNfVkVSU0lPTjp4aS5TRU1WRVJfU1BFQ19WRVJTSU9OLGNvbXBhcmVJZGVudGlmaWVyczpMaS5jb21wYXJlSWRlbnRpZmllcnMscmNvbXBhcmVJZGVudGlmaWVyczpMaS5yY29tcGFyZUlkZW50aWZpZXJzfSksUmk9ZnVuY3Rpb24oKXtyZXR1cm4gUmk9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MSxyPWFyZ3VtZW50cy5sZW5ndGg7bjxyO24rKylmb3IodmFyIG8gaW4gdD1hcmd1bWVudHNbbl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbykmJihlW29dPXRbb10pO3JldHVybiBlfSxSaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9OyFmdW5jdGlvbihlKXtlLmJsdWU9ImJsdWUiLGUubmFub1M9Im5hbm9TIixlLm5hbm9TUD0ibmFub1NQIixlLm5hbm9YPSJuYW5vWCIsZS5uYW5vRlRTPSJuYW5vRlRTIn0oT2l8fChPaT17fSkpO3ZhciBQaT0oKE5pPXt9KVtPaS5ibHVlXT17aWQ6T2kuYmx1ZSxwcm9kdWN0TmFtZToiTGVkZ2VywqBCbHVlIixwcm9kdWN0SWRNTTowLGxlZ2FjeVVzYlByb2R1Y3RJZDowLHVzYk9ubHk6ITAsbWVtb3J5U2l6ZTo0OTE1MjAsbWFza3M6WzgyMjA4MzU4NCw4MjIxNDkxMjBdLGdldEJsb2NrU2l6ZTpmdW5jdGlvbihlKXtyZXR1cm4gNDA5Nn19LE5pW09pLm5hbm9TXT17aWQ6T2kubmFub1MscHJvZHVjdE5hbWU6IkxlZGdlcsKgTmFub8KgUyIscHJvZHVjdElkTU06MTYsbGVnYWN5VXNiUHJvZHVjdElkOjEsdXNiT25seTohMCxtZW1vcnlTaXplOjMyNzY4MCxtYXNrczpbODIzMTMyMTYwXSxnZXRCbG9ja1NpemU6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIFRpLmx0KG51bGwhPT0odD1UaS5jb2VyY2UoZSkpJiZ2b2lkIDAhPT10P3Q6IiIsIjIuMC4wIik/NDA5NjoyMDQ4fX0sTmlbT2kubmFub1NQXT17aWQ6T2kubmFub1NQLHByb2R1Y3ROYW1lOiJMZWRnZXIgTmFubyBTIFBsdXMiLHByb2R1Y3RJZE1NOjgwLGxlZ2FjeVVzYlByb2R1Y3RJZDo1LHVzYk9ubHk6ITAsbWVtb3J5U2l6ZToxNTcyODY0LG1hc2tzOls4NTY2ODY1OTJdLGdldEJsb2NrU2l6ZTpmdW5jdGlvbihlKXtyZXR1cm4gMzJ9fSxOaVtPaS5uYW5vWF09e2lkOk9pLm5hbm9YLHByb2R1Y3ROYW1lOiJMZWRnZXLCoE5hbm/CoFgiLHByb2R1Y3RJZE1NOjY0LGxlZ2FjeVVzYlByb2R1Y3RJZDo0LHVzYk9ubHk6ITEsbWVtb3J5U2l6ZToyMDk3MTUyLG1hc2tzOls4NTU2MzgwMTZdLGdldEJsb2NrU2l6ZTpmdW5jdGlvbihlKXtyZXR1cm4gNDA5Nn0sYmx1ZXRvb3RoU3BlYzpbe3NlcnZpY2VVdWlkOiIxM2Q2MzQwMC0yYzk3LTAwMDQtMDAwMC00YzY1NjQ2NzY1NzIiLG5vdGlmeVV1aWQ6IjEzZDYzNDAwLTJjOTctMDAwNC0wMDAxLTRjNjU2NDY3NjU3MiIsd3JpdGVVdWlkOiIxM2Q2MzQwMC0yYzk3LTAwMDQtMDAwMi00YzY1NjQ2NzY1NzIiLHdyaXRlQ21kVXVpZDoiMTNkNjM0MDAtMmM5Ny0wMDA0LTAwMDMtNGM2NTY0Njc2NTcyIn1dfSxOaVtPaS5uYW5vRlRTXT17aWQ6T2kubmFub0ZUUyxwcm9kdWN0TmFtZToiTGVkZ2VywqBOYW5vwqBGVFMiLHByb2R1Y3RJZE1NOjk2LGxlZ2FjeVVzYlByb2R1Y3RJZDo2LHVzYk9ubHk6ITEsbWVtb3J5U2l6ZToyMDk3MTUyLG1hc2tzOls4NTc3MzUxNjhdLGdldEJsb2NrU2l6ZTpmdW5jdGlvbihlKXtyZXR1cm4gNDA5Nn0sYmx1ZXRvb3RoU3BlYzpbe3NlcnZpY2VVdWlkOiIxM2Q2MzQwMC0yYzk3LTYwMDQtMDAwMC00YzY1NjQ2NzY1NzIiLG5vdGlmeVV1aWQ6IjEzZDYzNDAwLTJjOTctNjAwNC0wMDAxLTRjNjU2NDY3NjU3MiIsd3JpdGVVdWlkOiIxM2Q2MzQwMC0yYzk3LTYwMDQtMDAwMi00YzY1NjQ2NzY1NzIiLHdyaXRlQ21kVXVpZDoiMTNkNjM0MDAtMmM5Ny02MDA0LTAwMDMtNGM2NTY0Njc2NTcyIn1dfSxOaSk7T2kuYmx1ZSxPaS5uYW5vUyxPaS5uYW5vU1AsT2kubmFub1gsT2kubmFub0ZUUzt2YXIgRGk9T2JqZWN0LnZhbHVlcyhQaSksTWk9MTE0MTUsa2k9ZnVuY3Rpb24oZSl7dmFyIHQ9RGkuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQubGVnYWN5VXNiUHJvZHVjdElkPT09ZX0pKTtpZih0KXJldHVybiB0O3ZhciBuPWU+Pjgscj1EaS5maW5kKChmdW5jdGlvbihlKXtyZXR1cm4gZS5wcm9kdWN0SWRNTT09PW59KSk7cmV0dXJuIHJ9LGppPVtdLFVpPXt9O2Zvcih2YXIgQmkgaW4gUGkpe3ZhciBGaT1QaVtCaV0sSGk9RmkuYmx1ZXRvb3RoU3BlYztpZihIaSlmb3IodmFyIEdpPTA7R2k8SGkubGVuZ3RoO0dpKyspe3ZhciBXaT1IaVtHaV07amkucHVzaChXaS5zZXJ2aWNlVXVpZCksVWlbV2kuc2VydmljZVV1aWRdPVVpW1dpLnNlcnZpY2VVdWlkLnJlcGxhY2UoLy0vZywiIildPVJpKHtkZXZpY2VNb2RlbDpGaX0sV2kpfX12YXIgemk9MCxZaT1bXSxxaT1mdW5jdGlvbihlLHQsbil7dmFyIHI9e3R5cGU6ZSxpZDpTdHJpbmcoKyt6aSksZGF0ZTpuZXcgRGF0ZX07dCYmKHIubWVzc2FnZT10KSxuJiYoci5kYXRhPW4pLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8WWkubGVuZ3RoO3QrKyl0cnl7WWlbdF0oZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KHIpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5fX2xlZGdlckxvZ3NMaXN0ZW49ZnVuY3Rpb24oZSl7cmV0dXJuIFlpLnB1c2goZSksZnVuY3Rpb24oKXt2YXIgdD1ZaS5pbmRleE9mKGUpOy0xIT09dCYmKFlpW3RdPVlpW1lpLmxlbmd0aC0xXSxZaS5wb3AoKSl9fSk7dmFyIFFpPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZT1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKGVbbl09dFtuXSl9LGUodCxuKX07cmV0dXJuIGZ1bmN0aW9uKHQsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4mJm51bGwhPT1uKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcobikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1lKHQsbiksdC5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0oKSxYaT1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKGUpe3RyeXtsKHIubmV4dChlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gYShlKXt0cnl7bChyLnRocm93KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBsKGUpe3ZhciB0O2UuZG9uZT9vKGUudmFsdWUpOih0PWUudmFsdWUsdCBpbnN0YW5jZW9mIG4/dDpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0KX0pKSkudGhlbihzLGEpfWwoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pKX0sSmk9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGkpe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oaSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzOyl0cnl7aWYobj0xLHImJihvPTImaVswXT9yLnJldHVybjppWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsaVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoaT1bMiZpWzBdLG8udmFsdWVdKSxpWzBdKXtjYXNlIDA6Y2FzZSAxOm89aTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6aVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9aVsxXSxpPVswXTtjb250aW51ZTtjYXNlIDc6aT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKG89cy50cnlzLChvPW8ubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09aVswXSYmMiE9PWlbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWlbMF0mJighb3x8aVsxXT5vWzBdJiZpWzFdPG9bM10pKXtzLmxhYmVsPWlbMV07YnJlYWt9aWYoNj09PWlbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89aTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGkpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1pPXQuY2FsbChlLHMpfWNhdGNoKGUpe2k9WzYsZV0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZpWzBdKXRocm93IGlbMV07cmV0dXJue3ZhbHVlOmlbMF0/aVsxXTp2b2lkIDAsZG9uZTohMH19KFtpLGFdKX19fSxWaT1mdW5jdGlvbihlLHQpe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXTtpZighbilyZXR1cm4gZTt2YXIgcixvLGk9bi5jYWxsKGUpLHM9W107dHJ5e2Zvcig7KHZvaWQgMD09PXR8fHQtLSA+MCkmJiEocj1pLm5leHQoKSkuZG9uZTspcy5wdXNoKHIudmFsdWUpfWNhdGNoKGUpe289e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e3ImJiFyLmRvbmUmJihuPWkucmV0dXJuKSYmbi5jYWxsKGkpfWZpbmFsbHl7aWYobyl0aHJvdyBvLmVycm9yfX1yZXR1cm4gc30sS2k9W3t2ZW5kb3JJZDpNaX1dLCRpPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSghKCF3aW5kb3cubmF2aWdhdG9yfHwhd2luZG93Lm5hdmlnYXRvci5oaWQpKX0sWmk9ZnVuY3Rpb24oKXt2YXIgZT1uYXZpZ2F0b3IuaGlkO2lmKCFlKXRocm93IG5ldyBCbigibmF2aWdhdG9yLmhpZCBpcyBub3Qgc3VwcG9ydGVkIiwiSElETm90U3VwcG9ydGVkIik7cmV0dXJuIGV9O2Z1bmN0aW9uIGVzKCl7cmV0dXJuIFhpKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gSmkodGhpcywoZnVuY3Rpb24odCl7c3dpdGNoKHQubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxaaSgpLnJlcXVlc3REZXZpY2Uoe2ZpbHRlcnM6S2l9KV07Y2FzZSAxOnJldHVybiBlPXQuc2VudCgpLEFycmF5LmlzQXJyYXkoZSk/WzIsZV06WzIsW2VdXX19KSl9KSl9ZnVuY3Rpb24gdHMoKXtyZXR1cm4gWGkodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3JldHVybiBKaSh0aGlzLChmdW5jdGlvbihlKXtzd2l0Y2goZS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LFppKCkuZ2V0RGV2aWNlcygpXTtjYXNlIDE6cmV0dXJuWzIsZS5zZW50KCkuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS52ZW5kb3JJZD09PU1pfSkpXX19KSl9KSl9dmFyIG5zLHJzLG9zLGlzLHNzLGFzLGxzLGNzLHVzLGhzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7dmFyIG49ZS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLmNoYW5uZWw9TWF0aC5mbG9vcig2NTUzNSpNYXRoLnJhbmRvbSgpKSxuLnBhY2tldFNpemU9NjQsbi5pbnB1dHM9W10sbi5yZWFkPWZ1bmN0aW9uKCl7cmV0dXJuIG4uaW5wdXRzLmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobi5pbnB1dHMuc2hpZnQoKSk6bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe24uaW5wdXRDYWxsYmFjaz1lfSkpfSxuLm9uSW5wdXRSZXBvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9QnVmZmVyLmZyb20oZS5kYXRhLmJ1ZmZlcik7bi5pbnB1dENhbGxiYWNrPyhuLmlucHV0Q2FsbGJhY2sodCksbi5pbnB1dENhbGxiYWNrPW51bGwpOm4uaW5wdXRzLnB1c2godCl9LG4uX2Rpc2Nvbm5lY3RFbWl0dGVkPSExLG4uX2VtaXREaXNjb25uZWN0PWZ1bmN0aW9uKGUpe24uX2Rpc2Nvbm5lY3RFbWl0dGVkfHwobi5fZGlzY29ubmVjdEVtaXR0ZWQ9ITAsbi5lbWl0KCJkaXNjb25uZWN0IixlKSl9LG4uZXhjaGFuZ2U9ZnVuY3Rpb24oZSl7cmV0dXJuIFhpKG4sdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiBKaSh0aGlzLChmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuZXhjaGFuZ2VBdG9taWNJbXBsKChmdW5jdGlvbigpe3JldHVybiBYaSh0LHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHQsbixyLG8saSxzLGEsbCxjO3JldHVybiBKaSh0aGlzLChmdW5jdGlvbih1KXtzd2l0Y2godS5sYWJlbCl7Y2FzZSAwOm49KHQ9dGhpcykuY2hhbm5lbCxyPXQucGFja2V0U2l6ZSxxaSgiYXBkdSIsIj0+ICIrZS50b1N0cmluZygiaGV4IikpLG89JG4obixyKSxpPW8ubWFrZUJsb2NrcyhlKSxzPTAsdS5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gczxpLmxlbmd0aD9bNCx0aGlzLmRldmljZS5zZW5kUmVwb3J0KDAsaVtzXSldOlszLDRdO2Nhc2UgMjp1LnNlbnQoKSx1LmxhYmVsPTM7Y2FzZSAzOnJldHVybiBzKyssWzMsMV07Y2FzZSA0OnJldHVybihhPW8uZ2V0UmVkdWNlZFJlc3VsdChsKSk/WzMsNl06WzQsdGhpcy5yZWFkKCldO2Nhc2UgNTpyZXR1cm4gYz11LnNlbnQoKSxsPW8ucmVkdWNlUmVzcG9uc2UobCxjKSxbMyw0XTtjYXNlIDY6cmV0dXJuIHFpKCJhcGR1IiwiPD0gIithLnRvU3RyaW5nKCJoZXgiKSksWzIsYV19fSkpfSkpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtpZihlJiZlLm1lc3NhZ2UmJmUubWVzc2FnZS5pbmNsdWRlcygid3JpdGUiKSl0aHJvdyB0Ll9lbWl0RGlzY29ubmVjdChlKSxuZXcgYXQoZS5tZXNzYWdlKTt0aHJvdyBlfSkpXTtjYXNlIDE6cmV0dXJuWzIsbi5zZW50KCldfX0pKX0pKX0sbi5kZXZpY2U9dCxuLmRldmljZU1vZGVsPSJudW1iZXIiPT10eXBlb2YgdC5wcm9kdWN0SWQ/a2kodC5wcm9kdWN0SWQpOnZvaWQgMCx0LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0cmVwb3J0IixuLm9uSW5wdXRSZXBvcnQpLG59cmV0dXJuIFFpKHQsZSksdC5yZXF1ZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIFhpKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZSxuO3JldHVybiBKaSh0aGlzLChmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOnJldHVybls0LGVzKCldO2Nhc2UgMTpyZXR1cm4gZT1WaS5hcHBseSh2b2lkIDAsW3Iuc2VudCgpLDFdKSxuPWVbMF0sWzIsdC5vcGVuKG4pXX19KSl9KSl9LHQub3BlbkNvbm5lY3RlZD1mdW5jdGlvbigpe3JldHVybiBYaSh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIEppKHRoaXMsKGZ1bmN0aW9uKG4pe3N3aXRjaChuLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdHMoKV07Y2FzZSAxOnJldHVybiAwPT09KGU9bi5zZW50KCkpLmxlbmd0aD9bMixudWxsXTpbMix0Lm9wZW4oZVswXSldfX0pKX0pKX0sdC5vcGVuPWZ1bmN0aW9uKGUpe3JldHVybiBYaSh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIG4scjtyZXR1cm4gSmkodGhpcywoZnVuY3Rpb24obyl7c3dpdGNoKG8ubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxlLm9wZW4oKV07Y2FzZSAxOnJldHVybiBvLnNlbnQoKSxuPW5ldyB0KGUpLHI9ZnVuY3Rpb24odCl7ZT09PXQuZGV2aWNlJiYoWmkoKS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNjb25uZWN0IixyKSxuLl9lbWl0RGlzY29ubmVjdChuZXcgc3QpKX0sWmkoKS5hZGRFdmVudExpc3RlbmVyKCJkaXNjb25uZWN0IixyKSxbMixuXX19KSl9KSl9LHQucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuIFhpKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXtyZXR1cm4gSmkodGhpcywoZnVuY3Rpb24oZSl7c3dpdGNoKGUubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmV4Y2hhbmdlQnVzeVByb21pc2VdO2Nhc2UgMTpyZXR1cm4gZS5zZW50KCksdGhpcy5kZXZpY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXRyZXBvcnQiLHRoaXMub25JbnB1dFJlcG9ydCksWzQsdGhpcy5kZXZpY2UuY2xvc2UoKV07Y2FzZSAyOnJldHVybiBlLnNlbnQoKSxbMl19fSkpfSkpfSx0LnByb3RvdHlwZS5zZXRTY3JhbWJsZUtleT1mdW5jdGlvbigpe30sdC5pc1N1cHBvcnRlZD0kaSx0Lmxpc3Q9dHMsdC5saXN0ZW49ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFhpKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gSmkodGhpcywoZnVuY3Rpb24odCl7c3dpdGNoKHQubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0cygpXTtjYXNlIDE6cmV0dXJuKGU9dC5zZW50KCkpLmxlbmd0aD4wP1syLGVbMF1dOls0LGVzKCldO2Nhc2UgMjpyZXR1cm5bMix0LnNlbnQoKVswXV19fSkpfSkpfSgpLnRoZW4oKGZ1bmN0aW9uKG4pe2lmKG4pe2lmKCF0KXt2YXIgcj0ibnVtYmVyIj09dHlwZW9mIG4ucHJvZHVjdElkP2tpKG4ucHJvZHVjdElkKTp2b2lkIDA7ZS5uZXh0KHt0eXBlOiJhZGQiLGRlc2NyaXB0b3I6bixkZXZpY2VNb2RlbDpyfSksZS5jb21wbGV0ZSgpfX1lbHNlIGUuZXJyb3IobmV3IGZuKCJBY2Nlc3MgZGVuaWVkIHRvIHVzZSBMZWRnZXIgZGV2aWNlIikpfSksKGZ1bmN0aW9uKHQpe2UuZXJyb3IobmV3IGZuKHQubWVzc2FnZSkpfSkpLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe3Q9ITB9fX0sdH0oSm4pLGZzPW4oT2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZGVmYXVsdDpoc30pKSxkcz17fSxwcz17fSxncz17fSx2cz17fSxfcz1bXSxtcz0vYWNpdHxleCg/OnN8Z3xufHB8JCl8cnBofGdyaWR8b3dzfG1uY3xudHd8aW5lW2NoXXx6b298Xm9yZHxpdGVyYS9pO2Z1bmN0aW9uIHlzKGUsdCl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfWZ1bmN0aW9uIEVzKGUpe3ZhciB0PWUucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKGUpfWZ1bmN0aW9uIHdzKGUsdCxuKXt2YXIgcixvLGkscz17fTtmb3IoaSBpbiB0KSJrZXkiPT1pP3I9dFtpXToicmVmIj09aT9vPXRbaV06c1tpXT10W2ldO2lmKGFyZ3VtZW50cy5sZW5ndGg+MiYmKHMuY2hpbGRyZW49YXJndW1lbnRzLmxlbmd0aD4zP25zLmNhbGwoYXJndW1lbnRzLDIpOm4pLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiZudWxsIT1lLmRlZmF1bHRQcm9wcylmb3IoaSBpbiBlLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1zW2ldJiYoc1tpXT1lLmRlZmF1bHRQcm9wc1tpXSk7cmV0dXJuIEFzKGUscyxyLG8sbnVsbCl9ZnVuY3Rpb24gQXMoZSx0LG4scixvKXt2YXIgaT17dHlwZTplLHByb3BzOnQsa2V5Om4scmVmOnIsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2Q6dm9pZCAwLF9fYzpudWxsLF9faDpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6bnVsbD09bz8rK29zOm99O3JldHVybiBudWxsPT1vJiZudWxsIT1ycy52bm9kZSYmcnMudm5vZGUoaSksaX1mdW5jdGlvbiBicyhlKXtyZXR1cm4gZS5jaGlsZHJlbn1mdW5jdGlvbiBJcyhlLHQsbil7Ii0iPT09dFswXT9lLnNldFByb3BlcnR5KHQsbnVsbD09bj8iIjpuKTplW3RdPW51bGw9PW4/IiI6Im51bWJlciIhPXR5cGVvZiBufHxtcy50ZXN0KHQpP246bisicHgifWZ1bmN0aW9uIHhzKGUsdCxuLHIsbyl7dmFyIGk7ZTppZigic3R5bGUiPT09dClpZigic3RyaW5nIj09dHlwZW9mIG4pZS5zdHlsZS5jc3NUZXh0PW47ZWxzZXtpZigic3RyaW5nIj09dHlwZW9mIHImJihlLnN0eWxlLmNzc1RleHQ9cj0iIikscilmb3IodCBpbiByKW4mJnQgaW4gbnx8SXMoZS5zdHlsZSx0LCIiKTtpZihuKWZvcih0IGluIG4pciYmblt0XT09PXJbdF18fElzKGUuc3R5bGUsdCxuW3RdKX1lbHNlIGlmKCJvIj09PXRbMF0mJiJuIj09PXRbMV0paT10IT09KHQ9dC5yZXBsYWNlKC9DYXB0dXJlJC8sIiIpKSx0PXQudG9Mb3dlckNhc2UoKWluIGU/dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDIpOnQuc2xpY2UoMiksZS5sfHwoZS5sPXt9KSxlLmxbdCtpXT1uLG4/cnx8ZS5hZGRFdmVudExpc3RlbmVyKHQsaT9MczpTcyxpKTplLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxpP0xzOlNzLGkpO2Vsc2UgaWYoImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PXQpe2lmKG8pdD10LnJlcGxhY2UoL3hsaW5rKEh8OmgpLywiaCIpLnJlcGxhY2UoL3NOYW1lJC8sInMiKTtlbHNlIGlmKCJ3aWR0aCIhPT10JiYiaGVpZ2h0IiE9PXQmJiJocmVmIiE9PXQmJiJsaXN0IiE9PXQmJiJmb3JtIiE9PXQmJiJ0YWJJbmRleCIhPT10JiYiZG93bmxvYWQiIT09dCYmdCBpbiBlKXRyeXtlW3RdPW51bGw9PW4/IiI6bjticmVhayBlfWNhdGNoKGUpe30iZnVuY3Rpb24iPT10eXBlb2Ygbnx8KG51bGw9PW58fCExPT09biYmLTE9PXQuaW5kZXhPZigiLSIpP2UucmVtb3ZlQXR0cmlidXRlKHQpOmUuc2V0QXR0cmlidXRlKHQsbikpfX1mdW5jdGlvbiBTcyhlKXtzcz0hMDt0cnl7cmV0dXJuIHRoaXMubFtlLnR5cGUrITFdKHJzLmV2ZW50P3JzLmV2ZW50KGUpOmUpfWZpbmFsbHl7c3M9ITF9fWZ1bmN0aW9uIExzKGUpe3NzPSEwO3RyeXtyZXR1cm4gdGhpcy5sW2UudHlwZSshMF0ocnMuZXZlbnQ/cnMuZXZlbnQoZSk6ZSl9ZmluYWxseXtzcz0hMX19ZnVuY3Rpb24gQ3MoZSx0KXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXR9ZnVuY3Rpb24gTnMoZSx0KXtpZihudWxsPT10KXJldHVybiBlLl9fP05zKGUuX18sZS5fXy5fX2suaW5kZXhPZihlKSsxKTpudWxsO2Zvcih2YXIgbjt0PGUuX19rLmxlbmd0aDt0KyspaWYobnVsbCE9KG49ZS5fX2tbdF0pJiZudWxsIT1uLl9fZSlyZXR1cm4gbi5fX2U7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUudHlwZT9OcyhlKTpudWxsfWZ1bmN0aW9uIE9zKGUpe3ZhciB0LG47aWYobnVsbCE9KGU9ZS5fXykmJm51bGwhPWUuX19jKXtmb3IoZS5fX2U9ZS5fX2MuYmFzZT1udWxsLHQ9MDt0PGUuX19rLmxlbmd0aDt0KyspaWYobnVsbCE9KG49ZS5fX2tbdF0pJiZudWxsIT1uLl9fZSl7ZS5fX2U9ZS5fX2MuYmFzZT1uLl9fZTticmVha31yZXR1cm4gT3MoZSl9fWZ1bmN0aW9uIFRzKGUpe3NzP3NldFRpbWVvdXQoZSk6Y3MoZSl9ZnVuY3Rpb24gUnMoZSl7KCFlLl9fZCYmKGUuX19kPSEwKSYmYXMucHVzaChlKSYmIVBzLl9fcisrfHxscyE9PXJzLmRlYm91bmNlUmVuZGVyaW5nKSYmKChscz1ycy5kZWJvdW5jZVJlbmRlcmluZyl8fFRzKShQcyl9ZnVuY3Rpb24gUHMoKXt2YXIgZSx0LG4scixvLGkscyxhO2Zvcihhcy5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLl9fdi5fX2ItdC5fX3YuX19ifSkpO2U9YXMuc2hpZnQoKTspZS5fX2QmJih0PWFzLmxlbmd0aCxyPXZvaWQgMCxvPXZvaWQgMCxzPShpPShuPWUpLl9fdikuX19lLChhPW4uX19QKSYmKHI9W10sKG89eXMoe30saSkpLl9fdj1pLl9fdisxLFVzKGEsaSxvLG4uX19uLHZvaWQgMCE9PWEub3duZXJTVkdFbGVtZW50LG51bGwhPWkuX19oP1tzXTpudWxsLHIsbnVsbD09cz9OcyhpKTpzLGkuX19oKSxCcyhyLGkpLGkuX19lIT1zJiZPcyhpKSksYXMubGVuZ3RoPnQmJmFzLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuX192Ll9fYi10Ll9fdi5fX2J9KSkpO1BzLl9fcj0wfWZ1bmN0aW9uIERzKGUsdCxuLHIsbyxpLHMsYSxsLGMpe3ZhciB1LGgsZixkLHAsZyx2LF89ciYmci5fX2t8fF9zLG09Xy5sZW5ndGg7Zm9yKG4uX19rPVtdLHU9MDt1PHQubGVuZ3RoO3UrKylpZihudWxsIT0oZD1uLl9fa1t1XT1udWxsPT0oZD10W3VdKXx8ImJvb2xlYW4iPT10eXBlb2YgZD9udWxsOiJzdHJpbmciPT10eXBlb2YgZHx8Im51bWJlciI9PXR5cGVvZiBkfHwiYmlnaW50Ij09dHlwZW9mIGQ/QXMobnVsbCxkLG51bGwsbnVsbCxkKTpBcnJheS5pc0FycmF5KGQpP0FzKGJzLHtjaGlsZHJlbjpkfSxudWxsLG51bGwsbnVsbCk6ZC5fX2I+MD9BcyhkLnR5cGUsZC5wcm9wcyxkLmtleSxkLnJlZj9kLnJlZjpudWxsLGQuX192KTpkKSl7aWYoZC5fXz1uLGQuX19iPW4uX19iKzEsbnVsbD09PShmPV9bdV0pfHxmJiZkLmtleT09Zi5rZXkmJmQudHlwZT09PWYudHlwZSlfW3VdPXZvaWQgMDtlbHNlIGZvcihoPTA7aDxtO2grKyl7aWYoKGY9X1toXSkmJmQua2V5PT1mLmtleSYmZC50eXBlPT09Zi50eXBlKXtfW2hdPXZvaWQgMDticmVha31mPW51bGx9VXMoZSxkLGY9Znx8dnMsbyxpLHMsYSxsLGMpLHA9ZC5fX2UsKGg9ZC5yZWYpJiZmLnJlZiE9aCYmKHZ8fCh2PVtdKSxmLnJlZiYmdi5wdXNoKGYucmVmLG51bGwsZCksdi5wdXNoKGgsZC5fX2N8fHAsZCkpLG51bGwhPXA/KG51bGw9PWcmJihnPXApLCJmdW5jdGlvbiI9PXR5cGVvZiBkLnR5cGUmJmQuX19rPT09Zi5fX2s/ZC5fX2Q9bD1NcyhkLGwsZSk6bD1rcyhlLGQsZixfLHAsbCksImZ1bmN0aW9uIj09dHlwZW9mIG4udHlwZSYmKG4uX19kPWwpKTpsJiZmLl9fZT09bCYmbC5wYXJlbnROb2RlIT1lJiYobD1OcyhmKSl9Zm9yKG4uX19lPWcsdT1tO3UtLTspbnVsbCE9X1t1XSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBuLnR5cGUmJm51bGwhPV9bdV0uX19lJiZfW3VdLl9fZT09bi5fX2QmJihuLl9fZD1qcyhyKS5uZXh0U2libGluZyksR3MoX1t1XSxfW3VdKSk7aWYodilmb3IodT0wO3U8di5sZW5ndGg7dSsrKUhzKHZbdV0sdlsrK3VdLHZbKyt1XSl9ZnVuY3Rpb24gTXMoZSx0LG4pe2Zvcih2YXIgcixvPWUuX19rLGk9MDtvJiZpPG8ubGVuZ3RoO2krKykocj1vW2ldKSYmKHIuX189ZSx0PSJmdW5jdGlvbiI9PXR5cGVvZiByLnR5cGU/TXMocix0LG4pOmtzKG4scixyLG8sci5fX2UsdCkpO3JldHVybiB0fWZ1bmN0aW9uIGtzKGUsdCxuLHIsbyxpKXt2YXIgcyxhLGw7aWYodm9pZCAwIT09dC5fX2Qpcz10Ll9fZCx0Ll9fZD12b2lkIDA7ZWxzZSBpZihudWxsPT1ufHxvIT1pfHxudWxsPT1vLnBhcmVudE5vZGUpZTppZihudWxsPT1pfHxpLnBhcmVudE5vZGUhPT1lKWUuYXBwZW5kQ2hpbGQobykscz1udWxsO2Vsc2V7Zm9yKGE9aSxsPTA7KGE9YS5uZXh0U2libGluZykmJmw8ci5sZW5ndGg7bCs9MSlpZihhPT1vKWJyZWFrIGU7ZS5pbnNlcnRCZWZvcmUobyxpKSxzPWl9cmV0dXJuIHZvaWQgMCE9PXM/czpvLm5leHRTaWJsaW5nfWZ1bmN0aW9uIGpzKGUpe3ZhciB0LG4scjtpZihudWxsPT1lLnR5cGV8fCJzdHJpbmciPT10eXBlb2YgZS50eXBlKXJldHVybiBlLl9fZTtpZihlLl9faylmb3IodD1lLl9fay5sZW5ndGgtMTt0Pj0wO3QtLSlpZigobj1lLl9fa1t0XSkmJihyPWpzKG4pKSlyZXR1cm4gcjtyZXR1cm4gbnVsbH1mdW5jdGlvbiBVcyhlLHQsbixyLG8saSxzLGEsbCl7dmFyIGMsdSxoLGYsZCxwLGcsdixfLG0seSxFLHcsQSxiLEk9dC50eXBlO2lmKHZvaWQgMCE9PXQuY29uc3RydWN0b3IpcmV0dXJuIG51bGw7bnVsbCE9bi5fX2gmJihsPW4uX19oLGE9dC5fX2U9bi5fX2UsdC5fX2g9bnVsbCxpPVthXSksKGM9cnMuX19iKSYmYyh0KTt0cnl7ZTppZigiZnVuY3Rpb24iPT10eXBlb2YgSSl7aWYodj10LnByb3BzLF89KGM9SS5jb250ZXh0VHlwZSkmJnJbYy5fX2NdLG09Yz9fP18ucHJvcHMudmFsdWU6Yy5fXzpyLG4uX19jP2c9KHU9dC5fX2M9bi5fX2MpLl9fPXUuX19FOigicHJvdG90eXBlImluIEkmJkkucHJvdG90eXBlLnJlbmRlcj90Ll9fYz11PW5ldyBJKHYsbSk6KHQuX19jPXU9bmV3IENzKHYsbSksdS5jb25zdHJ1Y3Rvcj1JLHUucmVuZGVyPVdzKSxfJiZfLnN1Yih1KSx1LnByb3BzPXYsdS5zdGF0ZXx8KHUuc3RhdGU9e30pLHUuY29udGV4dD1tLHUuX19uPXIsaD11Ll9fZD0hMCx1Ll9faD1bXSx1Ll9zYj1bXSksbnVsbD09dS5fX3MmJih1Ll9fcz11LnN0YXRlKSxudWxsIT1JLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmKHUuX19zPT11LnN0YXRlJiYodS5fX3M9eXMoe30sdS5fX3MpKSx5cyh1Ll9fcyxJLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyh2LHUuX19zKSkpLGY9dS5wcm9wcyxkPXUuc3RhdGUsdS5fX3Y9dCxoKW51bGw9PUkuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiZudWxsIT11LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSxudWxsIT11LmNvbXBvbmVudERpZE1vdW50JiZ1Ll9faC5wdXNoKHUuY29tcG9uZW50RGlkTW91bnQpO2Vsc2V7aWYobnVsbD09SS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMmJnYhPT1mJiZudWxsIT11LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh2LG0pLCF1Ll9fZSYmbnVsbCE9dS5zaG91bGRDb21wb25lbnRVcGRhdGUmJiExPT09dS5zaG91bGRDb21wb25lbnRVcGRhdGUodix1Ll9fcyxtKXx8dC5fX3Y9PT1uLl9fdil7Zm9yKHQuX192IT09bi5fX3YmJih1LnByb3BzPXYsdS5zdGF0ZT11Ll9fcyx1Ll9fZD0hMSksdC5fX2U9bi5fX2UsdC5fX2s9bi5fX2ssdC5fX2suZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZSYmKGUuX189dCl9KSkseT0wO3k8dS5fc2IubGVuZ3RoO3krKyl1Ll9faC5wdXNoKHUuX3NiW3ldKTt1Ll9zYj1bXSx1Ll9faC5sZW5ndGgmJnMucHVzaCh1KTticmVhayBlfW51bGwhPXUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHYsdS5fX3MsbSksbnVsbCE9dS5jb21wb25lbnREaWRVcGRhdGUmJnUuX19oLnB1c2goKGZ1bmN0aW9uKCl7dS5jb21wb25lbnREaWRVcGRhdGUoZixkLHApfSkpfWlmKHUuY29udGV4dD1tLHUucHJvcHM9dix1Ll9fUD1lLEU9cnMuX19yLHc9MCwicHJvdG90eXBlImluIEkmJkkucHJvdG90eXBlLnJlbmRlcil7Zm9yKHUuc3RhdGU9dS5fX3MsdS5fX2Q9ITEsRSYmRSh0KSxjPXUucmVuZGVyKHUucHJvcHMsdS5zdGF0ZSx1LmNvbnRleHQpLEE9MDtBPHUuX3NiLmxlbmd0aDtBKyspdS5fX2gucHVzaCh1Ll9zYltBXSk7dS5fc2I9W119ZWxzZSBkb3t1Ll9fZD0hMSxFJiZFKHQpLGM9dS5yZW5kZXIodS5wcm9wcyx1LnN0YXRlLHUuY29udGV4dCksdS5zdGF0ZT11Ll9fc313aGlsZSh1Ll9fZCYmKyt3PDI1KTt1LnN0YXRlPXUuX19zLG51bGwhPXUuZ2V0Q2hpbGRDb250ZXh0JiYocj15cyh5cyh7fSxyKSx1LmdldENoaWxkQ29udGV4dCgpKSksaHx8bnVsbD09dS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8KHA9dS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShmLGQpKSxiPW51bGwhPWMmJmMudHlwZT09PWJzJiZudWxsPT1jLmtleT9jLnByb3BzLmNoaWxkcmVuOmMsRHMoZSxBcnJheS5pc0FycmF5KGIpP2I6W2JdLHQsbixyLG8saSxzLGEsbCksdS5iYXNlPXQuX19lLHQuX19oPW51bGwsdS5fX2gubGVuZ3RoJiZzLnB1c2godSksZyYmKHUuX19FPXUuX189bnVsbCksdS5fX2U9ITF9ZWxzZSBudWxsPT1pJiZ0Ll9fdj09PW4uX192Pyh0Ll9faz1uLl9fayx0Ll9fZT1uLl9fZSk6dC5fX2U9RnMobi5fX2UsdCxuLHIsbyxpLHMsbCk7KGM9cnMuZGlmZmVkKSYmYyh0KX1jYXRjaChlKXt0Ll9fdj1udWxsLChsfHxudWxsIT1pKSYmKHQuX19lPWEsdC5fX2g9ISFsLGlbaS5pbmRleE9mKGEpXT1udWxsKSxycy5fX2UoZSx0LG4pfX1mdW5jdGlvbiBCcyhlLHQpe3JzLl9fYyYmcnMuX19jKHQsZSksZS5zb21lKChmdW5jdGlvbih0KXt0cnl7ZT10Ll9faCx0Ll9faD1bXSxlLnNvbWUoKGZ1bmN0aW9uKGUpe2UuY2FsbCh0KX0pKX1jYXRjaChlKXtycy5fX2UoZSx0Ll9fdil9fSkpfWZ1bmN0aW9uIEZzKGUsdCxuLHIsbyxpLHMsYSl7dmFyIGwsYyx1LGg9bi5wcm9wcyxmPXQucHJvcHMsZD10LnR5cGUscD0wO2lmKCJzdmciPT09ZCYmKG89ITApLG51bGwhPWkpZm9yKDtwPGkubGVuZ3RoO3ArKylpZigobD1pW3BdKSYmInNldEF0dHJpYnV0ZSJpbiBsPT0hIWQmJihkP2wubG9jYWxOYW1lPT09ZDozPT09bC5ub2RlVHlwZSkpe2U9bCxpW3BdPW51bGw7YnJlYWt9aWYobnVsbD09ZSl7aWYobnVsbD09PWQpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGYpO2U9bz9kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixkKTpkb2N1bWVudC5jcmVhdGVFbGVtZW50KGQsZi5pcyYmZiksaT1udWxsLGE9ITF9aWYobnVsbD09PWQpaD09PWZ8fGEmJmUuZGF0YT09PWZ8fChlLmRhdGE9Zik7ZWxzZXtpZihpPWkmJm5zLmNhbGwoZS5jaGlsZE5vZGVzKSxjPShoPW4ucHJvcHN8fHZzKS5kYW5nZXJvdXNseVNldElubmVySFRNTCx1PWYuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwsIWEpe2lmKG51bGwhPWkpZm9yKGg9e30scD0wO3A8ZS5hdHRyaWJ1dGVzLmxlbmd0aDtwKyspaFtlLmF0dHJpYnV0ZXNbcF0ubmFtZV09ZS5hdHRyaWJ1dGVzW3BdLnZhbHVlOyh1fHxjKSYmKHUmJihjJiZ1Ll9faHRtbD09Yy5fX2h0bWx8fHUuX19odG1sPT09ZS5pbm5lckhUTUwpfHwoZS5pbm5lckhUTUw9dSYmdS5fX2h0bWx8fCIiKSl9aWYoZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgaTtmb3IoaSBpbiBuKSJjaGlsZHJlbiI9PT1pfHwia2V5Ij09PWl8fGkgaW4gdHx8eHMoZSxpLG51bGwsbltpXSxyKTtmb3IoaSBpbiB0KW8mJiJmdW5jdGlvbiIhPXR5cGVvZiB0W2ldfHwiY2hpbGRyZW4iPT09aXx8ImtleSI9PT1pfHwidmFsdWUiPT09aXx8ImNoZWNrZWQiPT09aXx8bltpXT09PXRbaV18fHhzKGUsaSx0W2ldLG5baV0scil9KGUsZixoLG8sYSksdSl0Ll9faz1bXTtlbHNlIGlmKHA9dC5wcm9wcy5jaGlsZHJlbixEcyhlLEFycmF5LmlzQXJyYXkocCk/cDpbcF0sdCxuLHIsbyYmImZvcmVpZ25PYmplY3QiIT09ZCxpLHMsaT9pWzBdOm4uX19rJiZOcyhuLDApLGEpLG51bGwhPWkpZm9yKHA9aS5sZW5ndGg7cC0tOyludWxsIT1pW3BdJiZFcyhpW3BdKTthfHwoInZhbHVlImluIGYmJnZvaWQgMCE9PShwPWYudmFsdWUpJiYocCE9PWUudmFsdWV8fCJwcm9ncmVzcyI9PT1kJiYhcHx8Im9wdGlvbiI9PT1kJiZwIT09aC52YWx1ZSkmJnhzKGUsInZhbHVlIixwLGgudmFsdWUsITEpLCJjaGVja2VkImluIGYmJnZvaWQgMCE9PShwPWYuY2hlY2tlZCkmJnAhPT1lLmNoZWNrZWQmJnhzKGUsImNoZWNrZWQiLHAsaC5jaGVja2VkLCExKSl9cmV0dXJuIGV9ZnVuY3Rpb24gSHMoZSx0LG4pe3RyeXsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOmUuY3VycmVudD10fWNhdGNoKGUpe3JzLl9fZShlLG4pfX1mdW5jdGlvbiBHcyhlLHQsbil7dmFyIHIsbztpZihycy51bm1vdW50JiZycy51bm1vdW50KGUpLChyPWUucmVmKSYmKHIuY3VycmVudCYmci5jdXJyZW50IT09ZS5fX2V8fEhzKHIsbnVsbCx0KSksbnVsbCE9KHI9ZS5fX2MpKXtpZihyLmNvbXBvbmVudFdpbGxVbm1vdW50KXRyeXtyLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7cnMuX19lKGUsdCl9ci5iYXNlPXIuX19QPW51bGwsZS5fX2M9dm9pZCAwfWlmKHI9ZS5fX2spZm9yKG89MDtvPHIubGVuZ3RoO28rKylyW29dJiZHcyhyW29dLHQsbnx8ImZ1bmN0aW9uIiE9dHlwZW9mIGUudHlwZSk7bnx8bnVsbD09ZS5fX2V8fEVzKGUuX19lKSxlLl9fPWUuX19lPWUuX19kPXZvaWQgMH1mdW5jdGlvbiBXcyhlLHQsbil7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IoZSxuKX1mdW5jdGlvbiB6cyhlLHQsbil7dmFyIHIsbyxpO3JzLl9fJiZycy5fXyhlLHQpLG89KHI9ImZ1bmN0aW9uIj09dHlwZW9mIG4pP251bGw6biYmbi5fX2t8fHQuX19rLGk9W10sVXModCxlPSghciYmbnx8dCkuX19rPXdzKGJzLG51bGwsW2VdKSxvfHx2cyx2cyx2b2lkIDAhPT10Lm93bmVyU1ZHRWxlbWVudCwhciYmbj9bbl06bz9udWxsOnQuZmlyc3RDaGlsZD9ucy5jYWxsKHQuY2hpbGROb2Rlcyk6bnVsbCxpLCFyJiZuP246bz9vLl9fZTp0LmZpcnN0Q2hpbGQsciksQnMoaSxlKX1ucz1fcy5zbGljZSxycz17X19lOmZ1bmN0aW9uKGUsdCxuLHIpe2Zvcih2YXIgbyxpLHM7dD10Ll9fOylpZigobz10Ll9fYykmJiFvLl9fKXRyeXtpZigoaT1vLmNvbnN0cnVjdG9yKSYmbnVsbCE9aS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3ImJihvLnNldFN0YXRlKGkuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGUpKSxzPW8uX19kKSxudWxsIT1vLmNvbXBvbmVudERpZENhdGNoJiYoby5jb21wb25lbnREaWRDYXRjaChlLHJ8fHt9KSxzPW8uX19kKSxzKXJldHVybiBvLl9fRT1vfWNhdGNoKHQpe2U9dH10aHJvdyBlfX0sb3M9MCxpcz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmdm9pZCAwPT09ZS5jb25zdHJ1Y3Rvcn0sc3M9ITEsQ3MucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7dmFyIG47bj1udWxsIT10aGlzLl9fcyYmdGhpcy5fX3MhPT10aGlzLnN0YXRlP3RoaXMuX19zOnRoaXMuX19zPXlzKHt9LHRoaXMuc3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKHlzKHt9LG4pLHRoaXMucHJvcHMpKSxlJiZ5cyhuLGUpLG51bGwhPWUmJnRoaXMuX192JiYodCYmdGhpcy5fc2IucHVzaCh0KSxScyh0aGlzKSl9LENzLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLGUmJnRoaXMuX19oLnB1c2goZSksUnModGhpcykpfSxDcy5wcm90b3R5cGUucmVuZGVyPWJzLGFzPVtdLGNzPSJmdW5jdGlvbiI9PXR5cGVvZiBQcm9taXNlP1Byb21pc2UucHJvdG90eXBlLnRoZW4uYmluZChQcm9taXNlLnJlc29sdmUoKSk6c2V0VGltZW91dCxQcy5fX3I9MCx1cz0wLGdzLkNvbXBvbmVudD1Dcyxncy5GcmFnbWVudD1icyxncy5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saSxzPXlzKHt9LGUucHJvcHMpO2ZvcihpIGluIHQpImtleSI9PWk/cj10W2ldOiJyZWYiPT1pP289dFtpXTpzW2ldPXRbaV07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MiYmKHMuY2hpbGRyZW49YXJndW1lbnRzLmxlbmd0aD4zP25zLmNhbGwoYXJndW1lbnRzLDIpOm4pLEFzKGUudHlwZSxzLHJ8fGUua2V5LG98fGUucmVmLG51bGwpfSxncy5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUsdCl7dmFyIG49e19fYzp0PSJfX2NDIit1cysrLF9fOmUsQ29uc3VtZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jaGlsZHJlbih0KX0sUHJvdmlkZXI6ZnVuY3Rpb24oZSl7dmFyIG4scjtyZXR1cm4gdGhpcy5nZXRDaGlsZENvbnRleHR8fChuPVtdLChyPXt9KVt0XT10aGlzLHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMucHJvcHMudmFsdWUhPT1lLnZhbHVlJiZuLnNvbWUoKGZ1bmN0aW9uKGUpe2UuX19lPSEwLFJzKGUpfSkpfSx0aGlzLnN1Yj1mdW5jdGlvbihlKXtuLnB1c2goZSk7dmFyIHQ9ZS5jb21wb25lbnRXaWxsVW5tb3VudDtlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7bi5zcGxpY2Uobi5pbmRleE9mKGUpLDEpLHQmJnQuY2FsbChlKX19KSxlLmNoaWxkcmVufX07cmV0dXJuIG4uUHJvdmlkZXIuX189bi5Db25zdW1lci5jb250ZXh0VHlwZT1ufSxncy5jcmVhdGVFbGVtZW50PXdzLGdzLmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSxncy5oPXdzLGdzLmh5ZHJhdGU9ZnVuY3Rpb24gZSh0LG4pe3pzKHQsbixlKX0sZ3MuaXNWYWxpZEVsZW1lbnQ9aXMsZ3Mub3B0aW9ucz1ycyxncy5yZW5kZXI9enMsZ3MudG9DaGlsZEFycmF5PWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gbj1ufHxbXSxudWxsPT10fHwiYm9vbGVhbiI9PXR5cGVvZiB0fHwoQXJyYXkuaXNBcnJheSh0KT90LnNvbWUoKGZ1bmN0aW9uKHQpe2UodCxuKX0pKTpuLnB1c2godCkpLG59LGZ1bmN0aW9uKGUpe3ZhciB0PWdzLG49MDtmdW5jdGlvbiByKGUscixvLGkscyxhKXt2YXIgbCxjLHU9e307Zm9yKGMgaW4gcikicmVmIj09Yz9sPXJbY106dVtjXT1yW2NdO3ZhciBoPXt0eXBlOmUscHJvcHM6dSxrZXk6byxyZWY6bCxfX2s6bnVsbCxfXzpudWxsLF9fYjowLF9fZTpudWxsLF9fZDp2b2lkIDAsX19jOm51bGwsX19oOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjotLW4sX19zb3VyY2U6cyxfX3NlbGY6YX07aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJihsPWUuZGVmYXVsdFByb3BzKSlmb3IoYyBpbiBsKXZvaWQgMD09PXVbY10mJih1W2NdPWxbY10pO3JldHVybiB0Lm9wdGlvbnMudm5vZGUmJnQub3B0aW9ucy52bm9kZShoKSxofU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJGcmFnbWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuRnJhZ21lbnR9fSksZS5qc3g9cixlLmpzeERFVj1yLGUuanN4cz1yfShwcyk7dmFyIFlzLHFzLFFzLFhzLEpzPXt9LFZzPXt9LEtzPWdzLCRzPTAsWnM9W10sZWE9W10sdGE9S3Mub3B0aW9ucy5fX2IsbmE9S3Mub3B0aW9ucy5fX3IscmE9S3Mub3B0aW9ucy5kaWZmZWQsb2E9S3Mub3B0aW9ucy5fX2MsaWE9S3Mub3B0aW9ucy51bm1vdW50O2Z1bmN0aW9uIHNhKGUsdCl7S3Mub3B0aW9ucy5fX2gmJktzLm9wdGlvbnMuX19oKHFzLGUsJHN8fHQpLCRzPTA7dmFyIG49cXMuX19IfHwocXMuX19IPXtfXzpbXSxfX2g6W119KTtyZXR1cm4gZT49bi5fXy5sZW5ndGgmJm4uX18ucHVzaCh7X19WOmVhfSksbi5fX1tlXX1mdW5jdGlvbiBhYShlKXtyZXR1cm4gJHM9MSxsYShfYSxlKX1mdW5jdGlvbiBsYShlLHQsbil7dmFyIHI9c2EoWXMrKywyKTtpZihyLnQ9ZSwhci5fX2MmJihyLl9fPVtuP24odCk6X2Eodm9pZCAwLHQpLGZ1bmN0aW9uKGUpe3ZhciB0PXIuX19OP3IuX19OWzBdOnIuX19bMF0sbj1yLnQodCxlKTt0IT09biYmKHIuX19OPVtuLHIuX19bMV1dLHIuX19jLnNldFN0YXRlKHt9KSl9XSxyLl9fYz1xcywhcXMudSkpe3FzLnU9ITA7dmFyIG89cXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlO3FzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihlLHQsbil7aWYoIXIuX19jLl9fSClyZXR1cm4hMDt2YXIgaT1yLl9fYy5fX0guX18uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS5fX2N9KSk7aWYoaS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIWUuX19OfSkpKXJldHVybiFvfHxvLmNhbGwodGhpcyxlLHQsbik7dmFyIHM9ITE7cmV0dXJuIGkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aWYoZS5fX04pe3ZhciB0PWUuX19bMF07ZS5fXz1lLl9fTixlLl9fTj12b2lkIDAsdCE9PWUuX19bMF0mJihzPSEwKX19KSksISghcyYmci5fX2MucHJvcHM9PT1lKSYmKCFvfHxvLmNhbGwodGhpcyxlLHQsbikpfX1yZXR1cm4gci5fX058fHIuX199ZnVuY3Rpb24gY2EoZSx0KXt2YXIgbj1zYShZcysrLDQpOyFLcy5vcHRpb25zLl9fcyYmdmEobi5fX0gsdCkmJihuLl9fPWUsbi5vPXQscXMuX19oLnB1c2gobikpfWZ1bmN0aW9uIHVhKGUsdCl7dmFyIG49c2EoWXMrKyw3KTtyZXR1cm4gdmEobi5fX0gsdCk/KG4uX19WPWUoKSxuLm89dCxuLl9faD1lLG4uX19WKTpuLl9ffWZ1bmN0aW9uIGhhKCl7Zm9yKHZhciBlO2U9WnMuc2hpZnQoKTspaWYoZS5fX1AmJmUuX19IKXRyeXtlLl9fSC5fX2guZm9yRWFjaChwYSksZS5fX0guX19oLmZvckVhY2goZ2EpLGUuX19ILl9faD1bXX1jYXRjaCh0KXtlLl9fSC5fX2g9W10sS3Mub3B0aW9ucy5fX2UodCxlLl9fdil9fUtzLm9wdGlvbnMuX19iPWZ1bmN0aW9uKGUpe3FzPW51bGwsdGEmJnRhKGUpfSxLcy5vcHRpb25zLl9fcj1mdW5jdGlvbihlKXtuYSYmbmEoZSksWXM9MDt2YXIgdD0ocXM9ZS5fX2MpLl9fSDt0JiYoUXM9PT1xcz8odC5fX2g9W10scXMuX19oPVtdLHQuX18uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5fX04mJihlLl9fPWUuX19OKSxlLl9fVj1lYSxlLl9fTj1lLm89dm9pZCAwfSkpKToodC5fX2guZm9yRWFjaChwYSksdC5fX2guZm9yRWFjaChnYSksdC5fX2g9W10pKSxRcz1xc30sS3Mub3B0aW9ucy5kaWZmZWQ9ZnVuY3Rpb24oZSl7cmEmJnJhKGUpO3ZhciB0PWUuX19jO3QmJnQuX19IJiYodC5fX0guX19oLmxlbmd0aCYmKDEhPT1acy5wdXNoKHQpJiZYcz09PUtzLm9wdGlvbnMucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKFhzPUtzLm9wdGlvbnMucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8ZGEpKGhhKSksdC5fX0guX18uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5vJiYoZS5fX0g9ZS5vKSxlLl9fViE9PWVhJiYoZS5fXz1lLl9fViksZS5vPXZvaWQgMCxlLl9fVj1lYX0pKSksUXM9cXM9bnVsbH0sS3Mub3B0aW9ucy5fX2M9ZnVuY3Rpb24oZSx0KXt0LnNvbWUoKGZ1bmN0aW9uKGUpe3RyeXtlLl9faC5mb3JFYWNoKHBhKSxlLl9faD1lLl9faC5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiFlLl9ffHxnYShlKX0pKX1jYXRjaChuKXt0LnNvbWUoKGZ1bmN0aW9uKGUpe2UuX19oJiYoZS5fX2g9W10pfSkpLHQ9W10sS3Mub3B0aW9ucy5fX2UobixlLl9fdil9fSkpLG9hJiZvYShlLHQpfSxLcy5vcHRpb25zLnVubW91bnQ9ZnVuY3Rpb24oZSl7aWEmJmlhKGUpO3ZhciB0LG49ZS5fX2M7biYmbi5fX0gmJihuLl9fSC5fXy5mb3JFYWNoKChmdW5jdGlvbihlKXt0cnl7cGEoZSl9Y2F0Y2goZSl7dD1lfX0pKSxuLl9fSD12b2lkIDAsdCYmS3Mub3B0aW9ucy5fX2UodCxuLl9fdikpfTt2YXIgZmE9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZTtmdW5jdGlvbiBkYShlKXt2YXIgdCxuPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpLGZhJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0KSxzZXRUaW1lb3V0KGUpfSxyPXNldFRpbWVvdXQobiwxMDApO2ZhJiYodD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobikpfWZ1bmN0aW9uIHBhKGUpe3ZhciB0PXFzLG49ZS5fX2M7ImZ1bmN0aW9uIj09dHlwZW9mIG4mJihlLl9fYz12b2lkIDAsbigpKSxxcz10fWZ1bmN0aW9uIGdhKGUpe3ZhciB0PXFzO2UuX19jPWUuX18oKSxxcz10fWZ1bmN0aW9uIHZhKGUsdCl7cmV0dXJuIWV8fGUubGVuZ3RoIT09dC5sZW5ndGh8fHQuc29tZSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gdCE9PWVbbl19KSl9ZnVuY3Rpb24gX2EoZSx0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90KGUpOnR9VnMudXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJHM9OCx1YSgoZnVuY3Rpb24oKXtyZXR1cm4gZX0pLHQpfSxWcy51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3ZhciB0PXFzLmNvbnRleHRbZS5fX2NdLG49c2EoWXMrKyw5KTtyZXR1cm4gbi5jPWUsdD8obnVsbD09bi5fXyYmKG4uX189ITAsdC5zdWIocXMpKSx0LnByb3BzLnZhbHVlKTplLl9ffSxWcy51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKGUsdCl7S3Mub3B0aW9ucy51c2VEZWJ1Z1ZhbHVlJiZLcy5vcHRpb25zLnVzZURlYnVnVmFsdWUodD90KGUpOmUpfSxWcy51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXt2YXIgbj1zYShZcysrLDMpOyFLcy5vcHRpb25zLl9fcyYmdmEobi5fX0gsdCkmJihuLl9fPWUsbi5vPXQscXMuX19ILl9faC5wdXNoKG4pKX0sVnMudXNlRXJyb3JCb3VuZGFyeT1mdW5jdGlvbihlKXt2YXIgdD1zYShZcysrLDEwKSxuPWFhKCk7cmV0dXJuIHQuX189ZSxxcy5jb21wb25lbnREaWRDYXRjaHx8KHFzLmNvbXBvbmVudERpZENhdGNoPWZ1bmN0aW9uKGUscil7dC5fXyYmdC5fXyhlLHIpLG5bMV0oZSl9KSxbblswXSxmdW5jdGlvbigpe25bMV0odm9pZCAwKX1dfSxWcy51c2VJZD1mdW5jdGlvbigpe3ZhciBlPXNhKFlzKyssMTEpO2lmKCFlLl9fKXtmb3IodmFyIHQ9cXMuX192O251bGwhPT10JiYhdC5fX20mJm51bGwhPT10Ll9fOyl0PXQuX187dmFyIG49dC5fX218fCh0Ll9fbT1bMCwwXSk7ZS5fXz0iUCIrblswXSsiLSIrblsxXSsrfXJldHVybiBlLl9ffSxWcy51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxuKXskcz02LGNhKChmdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlPyhlKHQoKSksZnVuY3Rpb24oKXtyZXR1cm4gZShudWxsKX0pOmU/KGUuY3VycmVudD10KCksZnVuY3Rpb24oKXtyZXR1cm4gZS5jdXJyZW50PW51bGx9KTp2b2lkIDB9KSxudWxsPT1uP246bi5jb25jYXQoZSkpfSxWcy51c2VMYXlvdXRFZmZlY3Q9Y2EsVnMudXNlTWVtbz11YSxWcy51c2VSZWR1Y2VyPWxhLFZzLnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gJHM9NSx1YSgoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDplfX0pLFtdKX0sVnMudXNlU3RhdGU9YWEsZnVuY3Rpb24oZSl7dmFyIHQ9Z3Msbj1WcztmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfWZ1bmN0aW9uIG8oZSx0KXtmb3IodmFyIG4gaW4gZSlpZigiX19zb3VyY2UiIT09biYmIShuIGluIHQpKXJldHVybiEwO2Zvcih2YXIgciBpbiB0KWlmKCJfX3NvdXJjZSIhPT1yJiZlW3JdIT09dFtyXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBpKGUsdCl7cmV0dXJuIGU9PT10JiYoMCE9PWV8fDEvZT09MS90KXx8ZSE9ZSYmdCE9dH1mdW5jdGlvbiBzKGUpe3RoaXMucHJvcHM9ZX1mdW5jdGlvbiBhKGUsbil7ZnVuY3Rpb24gcihlKXt2YXIgdD10aGlzLnByb3BzLnJlZixyPXQ9PWUucmVmO3JldHVybiFyJiZ0JiYodC5jYWxsP3QobnVsbCk6dC5jdXJyZW50PW51bGwpLG4/IW4odGhpcy5wcm9wcyxlKXx8IXI6byh0aGlzLnByb3BzLGUpfWZ1bmN0aW9uIGkobil7cmV0dXJuIHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPXIsdC5jcmVhdGVFbGVtZW50KGUsbil9cmV0dXJuIGkuZGlzcGxheU5hbWU9Ik1lbW8oIisoZS5kaXNwbGF5TmFtZXx8ZS5uYW1lKSsiKSIsaS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxpLl9fZj0hMCxpfShzLnByb3RvdHlwZT1uZXcgdC5Db21wb25lbnQpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLHMucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihlLHQpe3JldHVybiBvKHRoaXMucHJvcHMsZSl8fG8odGhpcy5zdGF0ZSx0KX07dmFyIGw9dC5vcHRpb25zLl9fYjt0Lm9wdGlvbnMuX19iPWZ1bmN0aW9uKGUpe2UudHlwZSYmZS50eXBlLl9fZiYmZS5yZWYmJihlLnByb3BzLnJlZj1lLnJlZixlLnJlZj1udWxsKSxsJiZsKGUpfTt2YXIgYz0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKXx8MzkxMTtmdW5jdGlvbiB1KGUpe2Z1bmN0aW9uIHQodCl7dmFyIG49cih7fSx0KTtyZXR1cm4gZGVsZXRlIG4ucmVmLGUobix0LnJlZnx8bnVsbCl9cmV0dXJuIHQuJCR0eXBlb2Y9Yyx0LnJlbmRlcj10LHQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9dC5fX2Y9ITAsdC5kaXNwbGF5TmFtZT0iRm9yd2FyZFJlZigiKyhlLmRpc3BsYXlOYW1lfHxlLm5hbWUpKyIpIix0fXZhciBoPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG51bGw9PWU/bnVsbDp0LnRvQ2hpbGRBcnJheSh0LnRvQ2hpbGRBcnJheShlKS5tYXAobikpfSxmPXttYXA6aCxmb3JFYWNoOmgsY291bnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/dC50b0NoaWxkQXJyYXkoZSkubGVuZ3RoOjB9LG9ubHk6ZnVuY3Rpb24oZSl7dmFyIG49dC50b0NoaWxkQXJyYXkoZSk7aWYoMSE9PW4ubGVuZ3RoKXRocm93IkNoaWxkcmVuLm9ubHkiO3JldHVybiBuWzBdfSx0b0FycmF5OnQudG9DaGlsZEFycmF5fSxkPXQub3B0aW9ucy5fX2U7dC5vcHRpb25zLl9fZT1mdW5jdGlvbihlLHQsbixyKXtpZihlLnRoZW4pZm9yKHZhciBvLGk9dDtpPWkuX187KWlmKChvPWkuX19jKSYmby5fX2MpcmV0dXJuIG51bGw9PXQuX19lJiYodC5fX2U9bi5fX2UsdC5fX2s9bi5fX2spLG8uX19jKGUsdCk7ZChlLHQsbixyKX07dmFyIHA9dC5vcHRpb25zLnVubW91bnQ7ZnVuY3Rpb24gZyhlLHQsbil7cmV0dXJuIGUmJihlLl9fYyYmZS5fX2MuX19IJiYoZS5fX2MuX19ILl9fLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlLl9fYyYmZS5fX2MoKX0pKSxlLl9fYy5fX0g9bnVsbCksbnVsbCE9KGU9cih7fSxlKSkuX19jJiYoZS5fX2MuX19QPT09biYmKGUuX19jLl9fUD10KSxlLl9fYz1udWxsKSxlLl9faz1lLl9fayYmZS5fX2subWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZyhlLHQsbil9KSkpLGV9ZnVuY3Rpb24gdihlLHQsbil7cmV0dXJuIGUmJihlLl9fdj1udWxsLGUuX19rPWUuX19rJiZlLl9fay5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB2KGUsdCxuKX0pKSxlLl9fYyYmZS5fX2MuX19QPT09dCYmKGUuX19lJiZuLmluc2VydEJlZm9yZShlLl9fZSxlLl9fZCksZS5fX2MuX19lPSEwLGUuX19jLl9fUD1uKSksZX1mdW5jdGlvbiBfKCl7dGhpcy5fX3U9MCx0aGlzLnQ9bnVsbCx0aGlzLl9fYj1udWxsfWZ1bmN0aW9uIG0oZSl7dmFyIHQ9ZS5fXy5fX2M7cmV0dXJuIHQmJnQuX19hJiZ0Ll9fYShlKX1mdW5jdGlvbiB5KGUpe3ZhciBuLHIsbztmdW5jdGlvbiBpKGkpe2lmKG58fChuPWUoKSkudGhlbigoZnVuY3Rpb24oZSl7cj1lLmRlZmF1bHR8fGV9KSwoZnVuY3Rpb24oZSl7bz1lfSkpLG8pdGhyb3cgbztpZighcil0aHJvdyBuO3JldHVybiB0LmNyZWF0ZUVsZW1lbnQocixpKX1yZXR1cm4gaS5kaXNwbGF5TmFtZT0iTGF6eSIsaS5fX2Y9ITAsaX1mdW5jdGlvbiBFKCl7dGhpcy51PW51bGwsdGhpcy5vPW51bGx9dC5vcHRpb25zLnVubW91bnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5fX2M7dCYmdC5fX1ImJnQuX19SKCksdCYmITA9PT1lLl9faCYmKGUudHlwZT1udWxsKSxwJiZwKGUpfSwoXy5wcm90b3R5cGU9bmV3IHQuQ29tcG9uZW50KS5fX2M9ZnVuY3Rpb24oZSx0KXt2YXIgbj10Ll9fYyxyPXRoaXM7bnVsbD09ci50JiYoci50PVtdKSxyLnQucHVzaChuKTt2YXIgbz1tKHIuX192KSxpPSExLHM9ZnVuY3Rpb24oKXtpfHwoaT0hMCxuLl9fUj1udWxsLG8/byhhKTphKCkpfTtuLl9fUj1zO3ZhciBhPWZ1bmN0aW9uKCl7aWYoISAtLXIuX191KXtpZihyLnN0YXRlLl9fYSl7dmFyIGU9ci5zdGF0ZS5fX2E7ci5fX3YuX19rWzBdPXYoZSxlLl9fYy5fX1AsZS5fX2MuX19PKX12YXIgdDtmb3Ioci5zZXRTdGF0ZSh7X19hOnIuX19iPW51bGx9KTt0PXIudC5wb3AoKTspdC5mb3JjZVVwZGF0ZSgpfX0sbD0hMD09PXQuX19oO3IuX191Kyt8fGx8fHIuc2V0U3RhdGUoe19fYTpyLl9fYj1yLl9fdi5fX2tbMF19KSxlLnRoZW4ocyxzKX0sXy5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0aGlzLnQ9W119LF8ucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihlLG4pe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG89dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09Zyh0aGlzLl9fYixyLG8uX19PPW8uX19QKX10aGlzLl9fYj1udWxsfXZhciBpPW4uX19hJiZ0LmNyZWF0ZUVsZW1lbnQodC5GcmFnbWVudCxudWxsLGUuZmFsbGJhY2spO3JldHVybiBpJiYoaS5fX2g9bnVsbCksW3QuY3JlYXRlRWxlbWVudCh0LkZyYWdtZW50LG51bGwsbi5fX2E/bnVsbDplLmNoaWxkcmVuKSxpXX07dmFyIHc9ZnVuY3Rpb24oZSx0LG4pe2lmKCsrblsxXT09PW5bMF0mJmUuby5kZWxldGUodCksZS5wcm9wcy5yZXZlYWxPcmRlciYmKCJ0IiE9PWUucHJvcHMucmV2ZWFsT3JkZXJbMF18fCFlLm8uc2l6ZSkpZm9yKG49ZS51O247KXtmb3IoO24ubGVuZ3RoPjM7KW4ucG9wKCkoKTtpZihuWzFdPG5bMF0pYnJlYWs7ZS51PW49blsyXX19O2Z1bmN0aW9uIEEoZSl7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuY29udGV4dH0sZS5jaGlsZHJlbn1mdW5jdGlvbiBiKGUpe3ZhciBuPXRoaXMscj1lLmk7bi5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3QucmVuZGVyKG51bGwsbi5sKSxuLmw9bnVsbCxuLmk9bnVsbH0sbi5pJiZuLmkhPT1yJiZuLmNvbXBvbmVudFdpbGxVbm1vdW50KCksZS5fX3Y/KG4ubHx8KG4uaT1yLG4ubD17bm9kZVR5cGU6MSxwYXJlbnROb2RlOnIsY2hpbGROb2RlczpbXSxhcHBlbmRDaGlsZDpmdW5jdGlvbihlKXt0aGlzLmNoaWxkTm9kZXMucHVzaChlKSxuLmkuYXBwZW5kQ2hpbGQoZSl9LGluc2VydEJlZm9yZTpmdW5jdGlvbihlLHQpe3RoaXMuY2hpbGROb2Rlcy5wdXNoKGUpLG4uaS5hcHBlbmRDaGlsZChlKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24oZSl7dGhpcy5jaGlsZE5vZGVzLnNwbGljZSh0aGlzLmNoaWxkTm9kZXMuaW5kZXhPZihlKT4+PjEsMSksbi5pLnJlbW92ZUNoaWxkKGUpfX0pLHQucmVuZGVyKHQuY3JlYXRlRWxlbWVudChBLHtjb250ZXh0Om4uY29udGV4dH0sZS5fX3YpLG4ubCkpOm4ubCYmbi5jb21wb25lbnRXaWxsVW5tb3VudCgpfWZ1bmN0aW9uIEkoZSxuKXt2YXIgcj10LmNyZWF0ZUVsZW1lbnQoYix7X192OmUsaTpufSk7cmV0dXJuIHIuY29udGFpbmVySW5mbz1uLHJ9KEUucHJvdG90eXBlPW5ldyB0LkNvbXBvbmVudCkuX19hPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj1tKHQuX192KSxyPXQuby5nZXQoZSk7cmV0dXJuIHJbMF0rKyxmdW5jdGlvbihvKXt2YXIgaT1mdW5jdGlvbigpe3QucHJvcHMucmV2ZWFsT3JkZXI/KHIucHVzaChvKSx3KHQsZSxyKSk6bygpfTtuP24oaSk6aSgpfX0sRS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3RoaXMudT1udWxsLHRoaXMubz1uZXcgTWFwO3ZhciBuPXQudG9DaGlsZEFycmF5KGUuY2hpbGRyZW4pO2UucmV2ZWFsT3JkZXImJiJiIj09PWUucmV2ZWFsT3JkZXJbMF0mJm4ucmV2ZXJzZSgpO2Zvcih2YXIgcj1uLmxlbmd0aDtyLS07KXRoaXMuby5zZXQobltyXSx0aGlzLnU9WzEsMCx0aGlzLnVdKTtyZXR1cm4gZS5jaGlsZHJlbn0sRS5wcm90b3R5cGUuY29tcG9uZW50RGlkVXBkYXRlPUUucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLm8uZm9yRWFjaCgoZnVuY3Rpb24odCxuKXt3KGUsbix0KX0pKX07dmFyIHg9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsUz0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLyxMPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQsQz1mdW5jdGlvbihlKXtyZXR1cm4oInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sKCk/L2ZpbHxjaGV8cmFkL2k6L2ZpbHxjaGV8cmEvaSkudGVzdChlKX07ZnVuY3Rpb24gTihlLG4scil7cmV0dXJuIG51bGw9PW4uX19rJiYobi50ZXh0Q29udGVudD0iIiksdC5yZW5kZXIoZSxuKSwiZnVuY3Rpb24iPT10eXBlb2YgciYmcigpLGU/ZS5fX2M6bnVsbH1mdW5jdGlvbiBPKGUsbixyKXtyZXR1cm4gdC5oeWRyYXRlKGUsbiksImZ1bmN0aW9uIj09dHlwZW9mIHImJnIoKSxlP2UuX19jOm51bGx9dC5Db21wb25lbnQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LkNvbXBvbmVudC5wcm90b3R5cGUsZSx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitlXX0sc2V0OmZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSl9fSl9KSk7dmFyIFQ9dC5vcHRpb25zLmV2ZW50O2Z1bmN0aW9uIFIoKXt9ZnVuY3Rpb24gUCgpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX1mdW5jdGlvbiBEKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH10Lm9wdGlvbnMuZXZlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFQmJihlPVQoZSkpLGUucGVyc2lzdD1SLGUuaXNQcm9wYWdhdGlvblN0b3BwZWQ9UCxlLmlzRGVmYXVsdFByZXZlbnRlZD1ELGUubmF0aXZlRXZlbnQ9ZX07dmFyIE0saz17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0saj10Lm9wdGlvbnMudm5vZGU7dC5vcHRpb25zLnZub2RlPWZ1bmN0aW9uKGUpe3ZhciBuPWUudHlwZSxyPWUucHJvcHMsbz1yO2lmKCJzdHJpbmciPT10eXBlb2Ygbil7dmFyIGk9LTE9PT1uLmluZGV4T2YoIi0iKTtmb3IodmFyIHMgaW4gbz17fSxyKXt2YXIgYT1yW3NdO0wmJiJjaGlsZHJlbiI9PT1zJiYibm9zY3JpcHQiPT09bnx8InZhbHVlIj09PXMmJiJkZWZhdWx0VmFsdWUiaW4gciYmbnVsbD09YXx8KCJkZWZhdWx0VmFsdWUiPT09cyYmInZhbHVlImluIHImJm51bGw9PXIudmFsdWU/cz0idmFsdWUiOiJkb3dubG9hZCI9PT1zJiYhMD09PWE/YT0iIjovb25kb3VibGVjbGljay9pLnRlc3Qocyk/cz0ib25kYmxjbGljayI6L15vbmNoYW5nZSh0ZXh0YXJlYXxpbnB1dCkvaS50ZXN0KHMrbikmJiFDKHIudHlwZSk/cz0ib25pbnB1dCI6L15vbmZvY3VzJC9pLnRlc3Qocyk/cz0ib25mb2N1c2luIjovXm9uYmx1ciQvaS50ZXN0KHMpP3M9Im9uZm9jdXNvdXQiOi9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8udGVzdChzKT9zPXMudG9Mb3dlckNhc2UoKTppJiZTLnRlc3Qocyk/cz1zLnJlcGxhY2UoL1tBLVowLTldL2csIi0kJiIpLnRvTG93ZXJDYXNlKCk6bnVsbD09PWEmJihhPXZvaWQgMCksL15vbmlucHV0JC9pLnRlc3QocykmJihzPXMudG9Mb3dlckNhc2UoKSxvW3NdJiYocz0ib25pbnB1dENhcHR1cmUiKSksb1tzXT1hKX0ic2VsZWN0Ij09biYmby5tdWx0aXBsZSYmQXJyYXkuaXNBcnJheShvLnZhbHVlKSYmKG8udmFsdWU9dC50b0NoaWxkQXJyYXkoci5jaGlsZHJlbikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5wcm9wcy5zZWxlY3RlZD0tMSE9by52YWx1ZS5pbmRleE9mKGUucHJvcHMudmFsdWUpfSkpKSwic2VsZWN0Ij09biYmbnVsbCE9by5kZWZhdWx0VmFsdWUmJihvLnZhbHVlPXQudG9DaGlsZEFycmF5KHIuY2hpbGRyZW4pLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UucHJvcHMuc2VsZWN0ZWQ9by5tdWx0aXBsZT8tMSE9by5kZWZhdWx0VmFsdWUuaW5kZXhPZihlLnByb3BzLnZhbHVlKTpvLmRlZmF1bHRWYWx1ZT09ZS5wcm9wcy52YWx1ZX0pKSksZS5wcm9wcz1vLHIuY2xhc3MhPXIuY2xhc3NOYW1lJiYoay5lbnVtZXJhYmxlPSJjbGFzc05hbWUiaW4gcixudWxsIT1yLmNsYXNzTmFtZSYmKG8uY2xhc3M9ci5jbGFzc05hbWUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCJjbGFzc05hbWUiLGspKX1lLiQkdHlwZW9mPXgsaiYmaihlKX07dmFyIFU9dC5vcHRpb25zLl9fcjt0Lm9wdGlvbnMuX19yPWZ1bmN0aW9uKGUpe1UmJlUoZSksTT1lLl9fY307dmFyIEI9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBNLl9fbltlLl9fY10ucHJvcHMudmFsdWV9fX19O2Z1bmN0aW9uIEYoZSl7cmV0dXJuIHQuY3JlYXRlRWxlbWVudC5iaW5kKG51bGwsZSl9ZnVuY3Rpb24gSChlKXtyZXR1cm4hIWUmJmUuJCR0eXBlb2Y9PT14fWZ1bmN0aW9uIEcoZSl7cmV0dXJuIEgoZSk/dC5jbG9uZUVsZW1lbnQuYXBwbHkobnVsbCxhcmd1bWVudHMpOmV9ZnVuY3Rpb24gVyhlKXtyZXR1cm4hIWUuX19rJiYodC5yZW5kZXIobnVsbCxlKSwhMCl9ZnVuY3Rpb24geihlKXtyZXR1cm4gZSYmKGUuYmFzZXx8MT09PWUubm9kZVR5cGUmJmUpfHxudWxsfXZhciBZPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUodCl9LHE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSh0KX0sUT10LkZyYWdtZW50O2Z1bmN0aW9uIFgoZSl7ZSgpfWZ1bmN0aW9uIEooZSl7cmV0dXJuIGV9ZnVuY3Rpb24gVigpe3JldHVyblshMSxYXX12YXIgSz1uLnVzZUxheW91dEVmZmVjdDtmdW5jdGlvbiAkKGUsdCl7dmFyIHI9dCgpLG89bi51c2VTdGF0ZSh7cDp7X186cixoOnR9fSkscz1vWzBdLnAsYT1vWzFdO3JldHVybiBuLnVzZUxheW91dEVmZmVjdCgoZnVuY3Rpb24oKXtzLl9fPXIscy5oPXQsaShzLl9fLHQoKSl8fGEoe3A6c30pfSksW2Uscix0XSksbi51c2VFZmZlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIGkocy5fXyxzLmgoKSl8fGEoe3A6c30pLGUoKGZ1bmN0aW9uKCl7aShzLl9fLHMuaCgpKXx8YSh7cDpzfSl9KSl9KSxbZV0pLHJ9dmFyIFo9e3VzZVN0YXRlOm4udXNlU3RhdGUsdXNlSWQ6bi51c2VJZCx1c2VSZWR1Y2VyOm4udXNlUmVkdWNlcix1c2VFZmZlY3Q6bi51c2VFZmZlY3QsdXNlTGF5b3V0RWZmZWN0Om4udXNlTGF5b3V0RWZmZWN0LHVzZUluc2VydGlvbkVmZmVjdDpLLHVzZVRyYW5zaXRpb246Vix1c2VEZWZlcnJlZFZhbHVlOkosdXNlU3luY0V4dGVybmFsU3RvcmU6JCxzdGFydFRyYW5zaXRpb246WCx1c2VSZWY6bi51c2VSZWYsdXNlSW1wZXJhdGl2ZUhhbmRsZTpuLnVzZUltcGVyYXRpdmVIYW5kbGUsdXNlTWVtbzpuLnVzZU1lbW8sdXNlQ2FsbGJhY2s6bi51c2VDYWxsYmFjayx1c2VDb250ZXh0Om4udXNlQ29udGV4dCx1c2VEZWJ1Z1ZhbHVlOm4udXNlRGVidWdWYWx1ZSx2ZXJzaW9uOiIxNy4wLjIiLENoaWxkcmVuOmYscmVuZGVyOk4saHlkcmF0ZTpPLHVubW91bnRDb21wb25lbnRBdE5vZGU6VyxjcmVhdGVQb3J0YWw6SSxjcmVhdGVFbGVtZW50OnQuY3JlYXRlRWxlbWVudCxjcmVhdGVDb250ZXh0OnQuY3JlYXRlQ29udGV4dCxjcmVhdGVGYWN0b3J5OkYsY2xvbmVFbGVtZW50OkcsY3JlYXRlUmVmOnQuY3JlYXRlUmVmLEZyYWdtZW50OnQuRnJhZ21lbnQsaXNWYWxpZEVsZW1lbnQ6SCxmaW5kRE9NTm9kZTp6LENvbXBvbmVudDp0LkNvbXBvbmVudCxQdXJlQ29tcG9uZW50OnMsbWVtbzphLGZvcndhcmRSZWY6dSxmbHVzaFN5bmM6cSx1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczpZLFN0cmljdE1vZGU6USxTdXNwZW5zZTpfLFN1c3BlbnNlTGlzdDpFLGxhenk6eSxfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDpCfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiQ29tcG9uZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5Db21wb25lbnR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIkZyYWdtZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5GcmFnbWVudH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiY3JlYXRlQ29udGV4dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuY3JlYXRlQ29udGV4dH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiY3JlYXRlRWxlbWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuY3JlYXRlRWxlbWVudH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiY3JlYXRlUmVmIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5jcmVhdGVSZWZ9fSksZS5DaGlsZHJlbj1mLGUuUHVyZUNvbXBvbmVudD1zLGUuU3RyaWN0TW9kZT1RLGUuU3VzcGVuc2U9XyxlLlN1c3BlbnNlTGlzdD1FLGUuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9QixlLmNsb25lRWxlbWVudD1HLGUuY3JlYXRlRmFjdG9yeT1GLGUuY3JlYXRlUG9ydGFsPUksZS5kZWZhdWx0PVosZS5maW5kRE9NTm9kZT16LGUuZmx1c2hTeW5jPXEsZS5mb3J3YXJkUmVmPXUsZS5oeWRyYXRlPU8sZS5pc1ZhbGlkRWxlbWVudD1ILGUubGF6eT15LGUubWVtbz1hLGUucmVuZGVyPU4sZS5zdGFydFRyYW5zaXRpb249WCxlLnVubW91bnRDb21wb25lbnRBdE5vZGU9VyxlLnVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzPVksZS51c2VEZWZlcnJlZFZhbHVlPUosZS51c2VJbnNlcnRpb25FZmZlY3Q9SyxlLnVzZVN5bmNFeHRlcm5hbFN0b3JlPSQsZS51c2VUcmFuc2l0aW9uPVYsZS52ZXJzaW9uPSIxNy4wLjIiLE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKHQpeyJkZWZhdWx0Ij09PXR8fGUuaGFzT3duUHJvcGVydHkodCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5bdF19fSl9KSl9KEpzKTt2YXIgbWE9e30seWE9e307IWZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmdldExhbmdUZXh0PWUuTGFuZz12b2lkIDAsZS5MYW5nPXtlbjp7bG9hZGluZ1RpdGxlOiJMb2cgaW4gd2l0aCBMZWRnZXIiLGxvYWRpbmdUaXAwOiJQbGVhc2UgY29ubmVjdCB0byB5b3VyIExlZGdlciBkZXZpY2UgYW5kIG9wZW4g4oCcVHJvbuKAnSBBcHAuIixsb2FkaW5nVGlwNDoiUHJlcGFyaW5nIHlvdXIgTGVkZ2VyIGRldmljZS4uLiIsY2hlY2tUaXRsZToiUGxlYXNlIGNoZWNrIGlmIHRoZSBhZGRyZXNzIGJlbG93IGlzIHRoZSBzYW1lIG9uZSBzaG93biBvbiB5b3VyIExlZGdlciBkZXZpY2UiLGNoZWNrVGlwMDoiSWYgaXQgaXM6IHByZXNzIOKAnEFwcHJvdmXigJ0gYnV0dG9uIHRvIGNvbmZpcm0gdGhlIGFkZHJlc3MiLGNoZWNrVGlwMToiSWYgaXQgaXNuJ3Q6IHNlbGVjdCDigJxSZWplY3TigJ0gb24geW91ciBMZWRnZXIgZGV2aWNlIGFuZCByZWZyZXNoIHRoaXMgcGFnZSIsY29uZmlybVRpcDoiUGxlYXNlIGNvbmZpcm0gb24geW91ciBMZWRnZXIiLHNlbGVjdFRpdGxlOiJTZWxlY3QgYWNjb3VudCIsc2VsZWN0VGlwOiJQbGVhc2Ugc2VsZWN0IGFuIGFjY291bnQgdG8gdXNlIixjYW5jZWw6IkNhbmNlbCIsY29uZmlybToiQ29uZmlybSIsYWRkcmVzczoiQWRkcmVzcyIsYmFsYW5jZToiQXZhaWxhYmxlIEJhbGFuY2UiLGxvYWRNb3JlOiJMb2FkIE1vcmUifSwiemgtQ04iOntsb2FkaW5nVGl0bGU6IkxlZGdlciDnmbvlvZUiLGxvYWRpbmdUaXAwOiLor7fov57mjqUgTGVkZ2VyIOiuvuWkh++8jOW5tuWcqOiuvuWkh+S4iui/m+WFpSDigJxUUk9O4oCdIOW6lOeUqCIsbG9hZGluZ1RpcDQ6IkxlZGdlciDorr7lpIflh4blpIfkuK0uLi4uLi4iLGNoZWNrVGl0bGU6Iuivt+ehruiupOS7peS4i+WcsOWdgOS4jiBMZWRnZXIg6K6+5aSH5pi+56S65Zyw5Z2A5LiA6Ie0IixjaGVja1RpcDA6IuWmguaenOS4gOiHtO+8muivt+aMieiuvuWkh+S4iueahCBBcHByb3ZlIOaMiemSrui/m+ihjOehruiupCIsY2hlY2tUaXAxOiLlpoLmnpzkuI3kuIDoh7TvvJror7flnKggTGVkZ2VyIOiuvuWkh+S4remAieaLqSBSZWplY3Qg5oyJ6ZKu5bm25Yi35paw5pys6aG16Z2iIixjb25maXJtVGlwOiLor7flnKggTGVkZ2VyIOS4iuehruiupCIsc2VsZWN0VGl0bGU6IumAieaLqei0puaItyIsc2VsZWN0VGlwOiLor7fpgInmi6nopoHkvb/nlKjnmoTpkrHljIXotKbmiLciLGNhbmNlbDoi5Y+W5raIIixjb25maXJtOiLnoa7orqQiLGFkZHJlc3M6IuWcsOWdgCIsYmFsYW5jZToi5Y+v55So5L2Z6aKdIixsb2FkTW9yZToi5Yqg6L295pu05aSa6LSm5oi3In0sInpoLVRDIjp7bG9hZGluZ1RpdGxlOiJMZWRnZXIg55m76YyEIixsb2FkaW5nVGlwMDoi6KuL6YCj5o6lIExlZGdlciDoqK3lgpnvvIzkuKblnKjoqK3lgpnkuIrpgLLlhaUg4oCcVFJPTuKAnSDmh4nnlKgiLGxvYWRpbmdUaXA0OiJMZWRnZXIg6Kit5YKZ5rqW5YKZ5LitLi4uLi4uIixjaGVja1RpdGxlOiLoq4vnorroqo3ku6XkuIvlnLDlnYDoiIcgTGVkZ2VyIOioreWCmemhr+ekuuWcsOWdgOS4gOiHtCIsY2hlY2tUaXAwOiLlpoLmnpzkuIDoh7TvvJroq4vmjInoqK3lgpnkuIrnmoQgQXBwcm92ZSDmjInpiJXpgLLooYznorroqo0iLGNoZWNrVGlwMToi5aaC5p6c5LiN5LiA6Ie077ya6KuL5ZyoIExlZGdlciDoqK3lgpnkuK3pgbjmk4cgUmVqZWN0IOaMiemIleS4puWIt+aWsOacrOmggemdoiIsY29uZmlybVRpcDoi6KuL5ZyoIExlZGdlciDkuIrnorroqo0iLHNlbGVjdFRpdGxlOiLpgbjmk4fos6zmiLYiLHNlbGVjdFRpcDoi6KuL6YG45pOH6KaB5L2/55So55qE6Yyi5YyF6LOs5oi2IixjYW5jZWw6IuWPlua2iCIsY29uZmlybToi56K66KqNIixhZGRyZXNzOiLlnLDlnYAiLGJhbGFuY2U6IuWPr+eUqOmkmOmhjSIsbG9hZE1vcmU6IuWKoOi8ieabtOWkmuizrOaItiJ9fSxlLmdldExhbmdUZXh0PWZ1bmN0aW9uKCl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zKGdsb2JhbFRoaXMubG9jYXRpb24uc2VhcmNoKS5nZXQoImxhbmciKSxuPWdsb2JhbFRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oImxhbmciKSxyPSh0fHxufHwiIikudG9Mb3dlckNhc2UoKSxvPShnbG9iYWxUaGlzLm5hdmlnYXRvci5sYW5ndWFnZXx8IiIpLnRvTG93ZXJDYXNlKCk7bGV0IGk7WyJ6aC10dyIsInpoLWhrIiwiemgtdGMiXS5pbmNsdWRlcyhvKT9pPWUuTGFuZ1siemgtVEMiXTpbInpoIiwiemgtY24iXS5pbmNsdWRlcyhvKT9pPWUuTGFuZ1siemgtQ04iXTpvLmluY2x1ZGVzKCJlbiIpJiYoaT1lLkxhbmcuZW4pO2xldCBzPWk7cmV0dXJuIHImJihbInpoLXR3IiwiemgtaGsiLCJ6aC10YyJdLmluY2x1ZGVzKHIpP3M9ZS5MYW5nWyJ6aC1UQyJdOlsiemgiLCJ6aC1jbiJdLmluY2x1ZGVzKHIpP3M9ZS5MYW5nWyJ6aC1DTiJdOnIuaW5jbHVkZXMoImVuIikmJihzPWUuTGFuZy5lbikpLHN8fGUuTGFuZy5lbn19KHlhKTt2YXIgRWE9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KEVhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxFYS5MZWRnZXJJY29uPXZvaWQgMDtjb25zdCB3YT1wcztFYS5MZWRnZXJJY29uPWZ1bmN0aW9uKCl7cmV0dXJuKDAsd2EuanN4KSgiZGl2Iix7Y2hpbGRyZW46KDAsd2EuanN4KSgiaW1nIix7c3R5bGU6e3dpZHRoOiI1dnciLG1hcmdpbkJvdHRvbToiMXZ3In0sc3JjOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUtBQUFBQ2dDQVlBQUFDTHoyY3RBQUFBQVhOU1IwSUFyczRjNlFBQUZNaEpSRUZVZUFIdFhYdU1GRVVlcnVXNVBKYndGRVZRakF0Y3ZCQ0ptb0FTaVVHNE8zSUNpb0JpRU01Z05QZ0hKdWJFUnp3Mkh1QXBIT3J4aDNnY1JMSVNsQTJlZ2hMZmlDVEtHZ05CdWNOREZnaUtJTHNJZXl5NzdMSTg3dnVhN3JtWjJabWU3cGwrVlBmOEt1bnA3dXJxK3YzcXEyOSs5ZXlxRWlVdUJZR3lzcksrNTg2ZEczYng0a1hyNkZkU1VsS0dRR1h3TTg2OHQ2N05seHZnMXdDL0J0d2Ixenp6SHY1MU9QYnk2TkNodzk2R2hvYmo1anR5QWdJbHhZcEMvLzc5dTlYWDE0OEdTVzRBQnNPU2p0NCtZM0lDOGUrMURoQnpaOCtlUGI4NGR1eFlvODl5dFl5K2FBaFlYbDdlK2ZEaHc2T1FDMk5CT2g0amNkMVJrMXhwQlJHL3dyRUYrbXdaT0hCZ2RVMU5UWXNtdXZtcVJxd0oyTGx6NXlFZzJsUms3TzA0M3dJa3UvaUtwbmVSbjRIT1gwTG5UM0hlME5MU3NzKzdxUFdLS1hZRTdOR2pSMjlrMkQzSXZQc0I5YzE2d1oyM050dEJ4TmZ4aDFwLzZ0UXBGdUd4Y2JFZzRJMDMzdGh4OSs3ZHYwY20zUS9pM1lIYzZSU2JIRXBOeUZtazhUMms4ZlhodzRkdjNyRmpSMnZxNCtqZFJacUEzYnAxNjQ4VzYyUElrRG1BdmsvMDRDOUk0MTlBeHRWb1diL1kyTmg0cktDWVFudzVrZ1RzMHFYTG9Bc1hMc3dIOFI0RWRxVWg0cWVENkdZUWNWVzdkdTJXbkRsejVrY2RGSEtqUTZRSWlEcFFPUkwzSklnM0MyZGRXckJ1OFBZekxGdlNsUkR3UE9yQU5YNEs4akx1U0JEUWJNMCtpNFJQeDlIZVN3QmlHTmQ1cEtrS1pLeUlRdXRaNjh4RWYxaVhzMmZQVnNEaXJRV29JM0MwaXlGaHZFNFNNUnFPNDZHT0hUdDJ2dnp5eTZ2UmNqN250UkN2NHRQV0FzTHFzVFc3SE9TN3hxdkVGbU04c0lRSGtlNTVzSWJ2NlpoKzdRaFlXbHA2TlVqM054eVRkUVFzcWpxQmlCdHhQTnJjM0h4SXB6Um9VNlJObXphdGZhZE9uWjVFNjNhUGtNOTdpaEJUWWt1TWliWDNFdktMVVFzTDJMVnIxeXZPbnorL0RpRGRsbDh5NUMwM0NNQVNibTNmdnYxOVRVMU5SOTI4NTBmWTBBbUl1dDU0Skd3dHlIZVpId21VT0RNakFCTFc0c2xNMUEwL3pod2lHTi9RaW1BV0E2anZMUUx4UGhEeUJaUFp5VktJT2JGbkhvUlpKSWRpQVZIa0RrQ1Ird1lBR0pNTWlseUhnd0NzNFRZVXlUTlFKQjhKV29QQUNZaGh0SkdvREw4TDh2VUxPckVpTHpzQ0lHRWRodk1tWWpqdnEreWh2SDhTS0FGUjM1c0E0bTFBTXJwNm54U0owUU1FbWtERXFhZ1h2dTlCWEk2aUNLdzVqcnJHVEpCdlBiVHE3RWd6Q1JRR0FoeGZ2d2NqS0FjeHkramJJQlFJaElDd2ZKd3l0UUlKQ2tSZUVNREZXRVk3NU5WZG1PYlZnSHI2ZHIvVDZXc3JHQWtwQWZtVzRMd01DUW0wdVBjYnVKakhYOEk4TS9QTzEzenpMWEtTRDhYdVAzQ2VFL1BNaW5YeVVDZGNoZUc3aDNDKzZFZENmYk9BSU44TFFqNC9zaXpZT0pHSER6SXYvWkxxUzUzTXJQTTk2NWZTRW0vZ0NJejJxMDdvT1FITjFpNGJITDRWNzRIREx3S0p3Ry9RT3Q3dmRldllVNUxBOHJHZmJ4T1U3U0I1RmtzRXpxRXVPTW5MZmtMUENNZ1JEalRiK1dXL2RETEhrbnVKUkRWaDJHNnNWeU1tbmhEUUhOdmRCZXNudzJ1SmZJcnZCYXhnSFVnNHdvdXg0NEpid1p4SllVNHNFUExGbDNNcEthT2hZWjU3TVl1bTRFYklnUU1IRmtJaExvTWhycmdRdUhyZnZuM3QwU2hodFN0dlYxQVJqRWJIZUpEdkEwZ3YySkxtblFKNU1Vd0VMcUE0L2wwaGsxcnpKcUE1alo3MVBwbkpIQ1lGUXBZTkF0YWE5Y0c4cHZmblpibk1laCsvNFJEeWhVeUFzTVdUQTZnUHJzdTNQcGlYQmVTWFZVajRYOEpPdk1qWENvR25zSWpBODI0MWNrMUFqSFJjemMvN0lFajYrOXlpSGUvd1RaaFJmWjNiNzQ1ZEY4RXd1Y3VGZlBGbVVwNnA2MnB5dzlYcnJpd2dXcjEzUU1pN3JpUkk0S0pDQUkyU2lXZ1ZPMTRHeExFRjVFSkJRSkxXVDV3Z1lJZkFjcE1yZG1FU3p4eGJRTlQ5RnFMdTkwemlUYzB1TUYxSThVQURTVjE1NVpVS3VpcjhHNDBELzBqMXd3OC9LTFRXRkN5NEk4MFpGN3FhRk1BMDNuUDBraytCVUs5U3RiVzFodTVNUTJ1cjNpdnpvaTY0Q0RyL3lRa2NqZ2lJb3BlcnpmOExFV3ExOWpMNm54UVdKVmVUSmsxU3c0WU5NNjZ4LzRkeG41ejRreWRQcXNyS1NyVjI3VnIxN2JlNXY3WHAzcjI3bWoxN3RobzllclM2Kys2N2s2TUs1ZnI0OGVOcTQ4YU5odXpUcDArcm4zNzZTYjM1NXBzSlVvYWlsTDNRRnZ6NWgrT1BuM04xZjBjRWhGVlpCM2t6N0dVRzl4VC9NRFY0OEdCMTIyMjNxYmx6NXlvczJHMVl1bHdhVkZkWHEvSGp4eXQwRjlnR1pieWJObTFTK09QWmhndno0WGZmZmFmV3JWdW5xcXFxMUtGRGh4eGI5Z0IxZmdNNDM1ZExYazRDSWhQS1lmMytnNGdLSGpmT3BZeVQ1NWdVcVVhTkdxV1dMVnRtRUk5a2RPcFlqQTBkT2xSaEtwSHRLM2ZlZWFkYXY1NWZrT3J2c1BtT2V2enh4OVhtelpzVnF4b2F1Zk93Z3IrQ1RyYkxCVHZKUFhZNmEwRStXcVFwVTZhb1YxNTVSVjEvL2ZYS0RmbVlNUmc0ZDJRcFdIK01pbU1kbFhqTW1qVkxzZXFna1NObnlCMWJaMHRBcmtZUDZ6ZkxOb2FBSHJLK3grS3pvcUxDc0dJQmlZMkVtRjY5ZXFsRml4WVpmMDQyd25SeDVBNDVaS2VQTFFGaENlYmpaUzFXbzZmRlc3QmdnYnIyMm12dDBsTzB6N0Rob1ZxNGNLRzY5ZFpiZGNLZ284bWhyRHBsSlNBM2dRR0R1UTlINkk0dDJ4ZGVlTUVvZGtOWFJtTUZzQ0M1bWpObmppSmV1amh5aUZ6S3BrOVdBcUsrOUJoZTBtSVRtSmt6WjZveFk4WmtTNFA0SnlIQUJoVHJnNnl5YU9KS1RTNWxWQ2NqQWJuM0dwZzdKK01iQVh1dVdiTkdQZkRBQXdGTGphNDRFbzkvV0ZnZGJSSkJMcEZUbVJUS1NFQnUvSWZBV3V5OU5uMzZkRFZreUpCTXVvdGZGZ1RZT1kvOWtiTThEY1c3ajhtcE5zSXpFaEQ5TjlwODQ0R04rTm9vTFI3MkNBd1lNRUJObmp6WlVlZThmVXplUGMzR3FUWUU1SDY3TUpuY0pFWmNoQkVZTkdpUVZ2MkM1QlM1bFE1cEd3S2k1L29lQk5Lbk15bGRZN2wzaE1DTUdUTjA2N0xxWkhJclJmODJCQVJUdGVoNFR0RlNibHdqd0ZFaWpWckNodjdnVnB1cVhRb0JPZXNGSVVlNVRxMjhJQWc0UStCbWsyT0owQ2tFQkVPbkpwN0loU0RnQXdMcEhFc2hJRm9xdC9zZ1U2SVVCQklJcEhNc1FVRDBHM1VHTzI5SmhJemhCUWZxM2M2Z2lTRU1vU2FKSENQWExDVVNCTVM4TXRiOStOMkhWbzd6Lzd4eW5FV2NhektxVjdJa25xd0lkREc1WmdSSVhraHliTlpYUW55d2E5Y3VvejhyM1hMQmxEdWEyMGZWR2ZiRER6OVVMNy84c2pFbk1NVGtpT2hMQ0pCcm4vTXlRVUNZUmkwSk9HN2NPS1BZdExvVW9LZEJLSXVBdkU5MzFqUDY4NXFPSC9PSTlUT2dDUDNINUZvRkZURUlpT2s3M2ZEaHpzalFOY3VnQUdjeGk0c1hBaURnU0hMdTJMRmpqVVlkc0w2K2ZqU1M2RjFsSzE1NFNXcThSNkNqeWJsTDYvcUJrVGQ0TDBOaUZBU3lJMkJ4enJDQUNEWXNlMUI1SWdqNGdvREJPU0dnTDloS3BBNFFFQUk2QUVtQytJZkFKUUtXbFpYMWhZdzI4N1Q4a3lzeEN3SUdBcjNKdlhibzVwRDZuekFpRkFUSXZRNW9qV2hOUUg3bnl1RTRybFlGWFEyZzJMbWN2UHBWTnZTU3cyTkxBV01ObFNpdGVwQXRYWEh4Si9lMEorRDc3Nzl2RUxCUTBFbkFSeDU1UkczYnRxM1FxT1I5anhBZ0Fiazl1OVlyM2VkYVNNZ3BGdnl5N3FXWFh0SjZ4U3VuYVlsTE9IS3ZIWXF6c3Jna0tGYzYrdmJ0SzlPeGNvRVU0SE55ai8yQVJVTkExdi93cndzUVloR1ZBNEV5RnNGRlE4QWNZTWpqZ0JFZzkyZ0J0VnBVTG1BTVJGeTRDSFF2cWpwZ3VGaUw5SFFFakRxZ0ZNSHBzTWg5VUFoWVJiRFVBWU5DWE9Ta0kyRFVBZE05NVY0UUNBd0JOa0lhQXBNbWdnU0JWQVFhMkFnUkFxYUNJbmNCSVVEdXNSOVFDQmdRNENJbUZRRnlUNHJnVkV6a0xsZ0VwQWdPRm0rUmxveUFVUVREUTRyZ1pGVGtPa2dFakRyZzZTQWxpaXhCd0VMQXFBUENETlphSG5FL2MyWjEraG96bWRJTVRESjVSODdQV3M1RVY4V0JjeDI3WWZicXFpRDF3bDVqbnFpSGY1dGF1WEtsby9WaEdocWlYeXZac0dHRDJyOS92eWZZK1JVSnVkZEJkd0p5U2o0M1hVbTNYQ1FVZE0rSmpSV0dxMk90V2JQRzBlcFluMy8rdWJINUh6ZXN0dDZudkNnNDZzdmQ0UmN2WHF4T25EaWh0Y3JRZFc4SlA0M0Q2dVYxV21zSzVkd1MwQ0tNOVY0K2sxR1ptWHpmaWt0M2pLZ2ZkYzRucldHa0RldEY5ek5NQ0ZZTy9RVUt5TGZCWWVSQzhjbzhnZVh5K3JBam1rN3JldUFsRmVVM1pnZ1luQk1DeGl4WEk1UWNJV0NFTWl1T3F2NmZnS2k0N294akNpVk4raUpnY2M0b2dySGQreGRRdFZWZmRVV3ptQ0hRYW5MdTBncXBYS3NYalB3cVpvbVU1R2lLQUxsR3psRTlxeEhDL3FNdG11b3Jhc1VNZ1dTdUpiWnBRQnBKd0FXNnBYWEtsQ25LMnVFSWlodnF1ZWtZdGpxaXYvbm1HN1Zueng1anU0WmNhYVFjRkJGcXpKZ3h4aDRsdkhlN3FwYlZnZjNKSjUrbzQ4ZVBPNUxMc2R2Qmd3ZXJrU1B6MjdDQWV2S2d2QzFidGpnYWRzeUZoVS9QRThZdU1aYkY3Wk13aEhNU0FyMFpmUFZJOCtibTVzUndXQ0ZSSGpseVJNMmRPOWZZc0NZWGdmdjE2MmNNWmMyZVBic1FrY2E3bjMzMm1abzNiNTc2L3Z2dmM4YTFZTUVDTlczYU5EVjA2TkNjWWUwQ2NFK1VwNTkrV3IzNjZxdUsrR25temx4MTFWVzlhbXBxV3FoWGdvQzh3ZERJSjhnY3JUWXNyS3VyVTlocG0rb1Y3QTRjT0tCR2pCaWhNUFJvRzllRUNSUFVPKys4WXh2R3pVTVM0ZEZISDdWOWhUTjFObTNhcE1hT0hXc2J6dWxEN3EvQ3NXenVOS1dUZzRYK0ZQaVBzM1JLMUFIcEFmSjlhajJJNDVremE2d2kyUzU5WHU1UFJ6bGR1M2ExRTJjOG8xNWVic3JEQlQxNTZPYlNPWlpDUUxCemcyNEtlNmtQaTE0ZVFUc245VWMvZEFzanJibXdUZWRZQ2dGaEd2Y2hndTI1SXBIbmdrQ2VDR3czT1paNFBZV0E5QVZEWDA4OGxRdFBFQUNtbnNRVDlVZ3ljYXNOQWRFUVdZK0VubzE2WW5YU1A2eWkwRWw5TjBDY3pwcmNTaEhaaG9DblRwMDZBYWErbHhKS2JncEN3SWtGOUxvT1dGMWRyWDcrK2VlQzlQYnlaWEtLM0VxUHN3MEJHUUJnU0RHY2psVEU3ci8rK211dENKaU5VeGtKT0h6NDhNM0FtN09rUTNkT3JFZm9TbXFtUUdOam85cTllN2RxYmRWbWZza3ZKcWZhSUpXUmdEdDI3R2hGeHE5dUV6b0VEL2JrczJkZm5ITUVqaDQ5cXZneGx5Nk9YQ0tuTXVtVGtZQU1pRTdNRjNFS2ZSem5wcHR1VWl0V3JNaWt1L2hsUVFERFhBcjFyU3hQQS9kdU5ybVVVWEJXQXNLTUh3TnpWMlY4SzBCUFZxU3JxcW9VcHU4RUtEVzZvbGowUHZmY2M5cU1BWk5ENUZJMlJMTVNrQytnR2I4RXA0eW1NMXVFZnZpelFzM0JkWEc1RWVDZmRlZE9iU2E0dDVvY3lxcTRMUUd4VGRhUFlIQmwxcmNEZXNDaHJJOCsra2h0M3k2RE5IYVFjeldFeXNwS2JSb2Y1QTQ1WktlekxRSE5GNS9IT2ZSV1FHMXRyZUxjUUpMUXlkaXFYYUxqK0d6anhvMnFvcUpDcDY0WGNvYmNzWFU1Q1lpeHV4ckVVR1ViUzBBUHVkVEV2ZmZlcStiUG42Kzgyc1F3SU5WOUZmUFdXMitwSjU1NFFySHhvWkdyTXJsanExSk9Bdkp0bU5JS25Pd24wZG1LOGU0aEd5V3JWNjlXRHovOHNPSmN3V0ozWEFPR2N3MFBIanlvRXhRdEptZHk2dVJvd2hobk1KU1dsaTVGMGZkTXpoZ0RDTkRVMUtUZWZ2dHRZLzlmTGx6a3BNT1Y0NkpPVjczaXZEeGFXQ3dkVVhCcXVuZnY3dGhhTTEyVTZjYTZ2L2JhYTlyOUVZSDFVdlRmY21aVlR1ZDRtc2JBZ1FPN3dPTDhHME1xMStTTVZRSVVMUUt3ZkFmeFNjT3ZEeDgrZk1ZSkNJNEp5TWd3bStFT0VQQmRKeEZMbU9KRUFBU2NpQkxUOFdRV1IzVkFDMHBHREFFYnJYczVDd0xKQ0pBYmJzakhkMTFaUUw2QXV1RFZxQXZ1d1dYdUR4MzRncmhpUWFBSmRiL3JVUGM3NUNiQjdkMEVabGhVMFArTDcxY3Y0REx4WlpQYk9DUjhMQkZZQU92SFdWU3VuS3NpMklwNTh1VEpTMkZ1dDFyM2NpNXVCTWdGY2lJZkZGd1h3WllRZkdwNEJhWko3VUtqNURMTFQ4N0Zod0RJVjRzU2NRUzZrSTdtay9xOExDQUZtUUpuNHBMRnNiamlSSUI1UHpOZjhoRXkxM1hBWkp4aEFRL2dJKzVPc0lKamt2M2x1amdRUUtQak9kVDdWaFdTMnJ3dG9DVjA0c1NKRlRERDI2eDdPUmNIQXN4ejVuMmhxYzI3RHBnc0dQWEJBV1o5c0YreXYxekhFd0dRcjg2czl4MHBOSVVGVzBBcWdEckFFWmpqaWJ3c1ZDRjVYM3NFMk44M2tYbnVoYWFlRUpDS1lBRDlLL3d6cHVMeW5CZUtTUnhhSW5DT2VjeTg5a3E3Z2hvaDZVcWdHSzVCbytRZ0dpVjM0WmtueFh1NkRMa1BEWUdMc0h4L1FLUGpuMTVxNENrQnFSaEdTcjdGVjFEYzdlKzNYaW9xY1lXTEFDemZIMEcrdjN1dGhlY0VwSUt3aE50QndtNjRITzIxd2hKZjhBaUFmRXRCdmovN0lkbTNZaExGY0FrbUxxekUrVUUvRkpjNGcwRUE1RnVGQ1FZUDRlekx3b3FlTlVMUzRhRENwdUo1alJHbXh5ZjN3U05BeStjbitaZ2kzeXhnTWx5WXlQb1lMT0ZmZzVLWExGdXU4MExnSXNqSE9oOVh4L0RWK1ZJSFROZVlkVUswanZlRGhKUHd6RGVybXk1WDd2TkM0SnpaMnZXOHdaRkptMEFzb0NVWWxuQUNTTWgxcUdVeXF3V0tYdWNtV0w2cHNIeUJyV3dVS0FHSk5WYXFINGtaMWUrQ2lESnNweEg1UUx3NmpuQjQyY25zSkhtQkY0ZE1JTWNSa2VCdFRoU1VNUDRqd0x4Z25nUk5QcVlzY0FKU0tNY1JKMDJhTkJiL3VNVzRsZm1FQkNVY2Q0RjV3THp3YW16WGJUSUNMNExURlVTOWNEejgxcUpJbHBuVjZlRDRlQStyVjR2b1o2Sys5N0dQWW5KR0hZb0ZUTmFLQUpoRjh0WmtmN24yRHdHUWJ5c3hENXQ4VEdIb0JLUVNNUDlIVVF6d0s3dW5lRXMvY2I0Z1FHeWZJdGJFM0JjSkxpTU52UWhPMTVmZkhhTTRYbzZEZlliaVBFSUFWbThUam5sdXY5djFTSHpXYUxRam9LVXBsd0hCTllsNGplVW5aL2NJZ0hSY05tc2VpbHZIeTJXNGw1TC9HMW9Vd1puVUoyQmM1QWF0dEVWNFh2Z3lWWm1FeE51dmhkZ1JRMTNKUi9pMXRZREozSUExSEFKTCtDejhwdU1JWlBnd1dYN0Vycmt5YVJVc1h3V0k1MmlKdEREVEZ3a0NXZ0NCaU9XNGZoSmtuSVZ6Ujh0ZnpnWUMzTnVsRWxmUGczZzFVY0VrVWdTMFFNVnczaUFNNTgwSEVUblhzTlR5TDlKek00aTNDc1h0RW94ay9CZzFEQ0pKUUF0a3JJN2FINThBY0tyWEhQajFzZnlMNVB3TGlMZWFtOERZN2NPaE94YmFOa0tjQUVmZ1VkdzhnWDNJcmtENHU1QWgvR0FtemcyV3MyWWE3MkthbWZZb2s0OTVIR2tMeUFTa3V4NDlldlJHeHR4ajFoTkhwVCtQNkgwMWlGZUpPdkQ2VEZ1ZVJqUk5odHF4STJCeVpwaXQ1Nm5Jdk50QnlGdndyRXZ5YzQydnowRG5MNkh6cHpodndCOUsrOVpzdmxqR21vREpvSlNYbDNmR3d0bTBpR09Sc1R4RzRscVhsalJic1B5d2Z3dDAyb0lGNGF1eDUwZExzdjV4dlM0YUFxWm5ZUC8rL2J2VjE5ZVBCaEZ2d0xOaFNVZnY5TEFlMzU5QWZIdXRBNlRiMmJObnp5K3dHV09qeDNJaUVWM1JFakJiN3BTVmxmVkZ5M29ZaUdrZGw0RWtaUWhmQmorZXUvUGV2T1k5WFFQOEd1REhEL0pQODVwK3ZNZDFMWTY5UE5CaTNZdTlTbzd6QlhHWEVQZ2YzMGh2S1ZTYUk5a0FBQUFBU1VWT1JLNUNZSUk9IixhbHQ6ImxvZ28ifSl9KX07dmFyIEFhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQWEuTG9hZGluZ0ljb249dm9pZCAwO2NvbnN0IGJhPXBzO0FhLkxvYWRpbmdJY29uPWZ1bmN0aW9uKCl7cmV0dXJuKDAsYmEuanN4KSgiZGl2IixPYmplY3QuYXNzaWduKHtjbGFzc05hbWU6ImxlZGdlci1hbnQtc3BpbiBsZWRnZXItYW50LXNwaW4tbGcgbGVkZ2VyLWFudC1zcGluLXNwaW5uaW5nIHNwaW4ifSx7Y2hpbGRyZW46KDAsYmEuanN4cykoInNwYW4iLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToibGVkZ2VyLWFudC1zcGluLWRvdCJ9LHtjaGlsZHJlbjpbKDAsYmEuanN4KSgiaSIse2NsYXNzTmFtZToibGVkZ2VyLWFudC1zcGluLWRvdC1pdGVtIn0pLCgwLGJhLmpzeCkoImkiLHtjbGFzc05hbWU6ImxlZGdlci1hbnQtc3Bpbi1kb3QtaXRlbSJ9KSwoMCxiYS5qc3gpKCJpIix7Y2xhc3NOYW1lOiJsZWRnZXItYW50LXNwaW4tZG90LWl0ZW0ifSksKDAsYmEuanN4KSgiaSIse2NsYXNzTmFtZToibGVkZ2VyLWFudC1zcGluLWRvdC1pdGVtIn0pXX0pKX0pKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KG1hLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxtYS5Db25maXJtQ29udGVudD12b2lkIDA7Y29uc3QgSWE9cHMseGE9SnMsU2E9eWEsTGE9RWEsQ2E9QWE7bWEuQ29uZmlybUNvbnRlbnQ9ZnVuY3Rpb24oZSl7Y29uc3QgdD0oMCx4YS51c2VNZW1vKSgoKCk9PigwLFNhLmdldExhbmdUZXh0KSgpKSxbXSk7cmV0dXJuKDAsSWEuanN4cykoImRpdiIsT2JqZWN0LmFzc2lnbih7c3R5bGU6e3RleHRBbGlnbjoiY2VudGVyIn0sImRhdGEtdGVzdGlkIjoiY29uZmlybS1jb250ZW50In0se2NoaWxkcmVuOlsoMCxJYS5qc3gpKExhLkxlZGdlckljb24se30pLCgwLElhLmpzeHMpKCJkaXYiLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToibGVkZ2VyLWNvbm5lY3RpbmctcG9wIn0se2NoaWxkcmVuOlsoMCxJYS5qc3hzKSgidWwiLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToibGVkZ2VyLWNvbm5lY3RpbmctcG9wLWNvbnRlbnQifSx7Y2hpbGRyZW46WygwLElhLmpzeCkoImxpIixPYmplY3QuYXNzaWduKHtjbGFzc05hbWU6InRpdGxlIixzdHlsZTp7d29yZEJyZWFrOiJicmVhay13b3JkIn19LHtjaGlsZHJlbjp0LmNoZWNrVGl0bGV9KSksKDAsSWEuanN4KSgibGkiLHtjaGlsZHJlbjooMCxJYS5qc3gpKCJzdHJvbmciLE9iamVjdC5hc3NpZ24oe3N0eWxlOntjb2xvcjoiI0IwMTcwRCIsdGV4dEFsaWduOiJsZWZ0Iixmb250V2VpZ2h0OiI2MDAifSwiZGF0YS10ZXN0aWQiOiJjb25maXJtLWNvbnRlbnQtYWRkcmVzcyJ9LHtjaGlsZHJlbjplLmFkZHJlc3N9KSl9KSwoMCxJYS5qc3gpKCJsaSIse2NoaWxkcmVuOnQuY2hlY2tUaXAwfSksKDAsSWEuanN4KSgibGkiLHtjaGlsZHJlbjp0LmNoZWNrVGlwMX0pXX0pKSwoMCxJYS5qc3hzKSgiZGl2IixPYmplY3QuYXNzaWduKHtjbGFzc05hbWU6Im10LTQifSx7Y2hpbGRyZW46WygwLElhLmpzeCkoQ2EuTG9hZGluZ0ljb24se30pLCgwLElhLmpzeCkoImRpdiIse2NoaWxkcmVuOigwLElhLmpzeCkoImRpdiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJ0ZXh0LW11dGVkIn0se2NoaWxkcmVuOigwLElhLmpzeCkoInNwYW4iLHtjaGlsZHJlbjp0LmNvbmZpcm1UaXB9KX0pKX0pXX0pKV19KSldfSkpfTt2YXIgTmE9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KE5hLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxOYS5Db25uZWN0aW5nQ29udGVudD12b2lkIDA7Y29uc3QgT2E9cHMsVGE9SnMsUmE9eWEsUGE9RWEsRGE9QWE7TmEuQ29ubmVjdGluZ0NvbnRlbnQ9ZnVuY3Rpb24oKXtjb25zdCBlPSgwLFRhLnVzZU1lbW8pKCgoKT0+KDAsUmEuZ2V0TGFuZ1RleHQpKCkpLFtdKTtyZXR1cm4oMCxPYS5qc3hzKSgiZGl2IixPYmplY3QuYXNzaWduKHtzdHlsZTp7dGV4dEFsaWduOiJjZW50ZXIifSwiZGF0YS10ZXN0aWQiOiJjb25uZWN0aW5nLWNvbnRlbnQifSx7Y2hpbGRyZW46WygwLE9hLmpzeCkoUGEuTGVkZ2VySWNvbix7fSksKDAsT2EuanN4cykoImRpdiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJsZWRnZXItY29ubmVjdGluZy1wb3AifSx7Y2hpbGRyZW46WygwLE9hLmpzeCkoInVsIixPYmplY3QuYXNzaWduKHtjbGFzc05hbWU6ImxlZGdlci1jb25uZWN0aW5nLXBvcC1jb250ZW50In0se2NoaWxkcmVuOigwLE9hLmpzeCkoImxpIixPYmplY3QuYXNzaWduKHtjbGFzc05hbWU6InRpdGxlIn0se2NoaWxkcmVuOmUubG9hZGluZ1RpcDB9KSl9KSksKDAsT2EuanN4cykoImRpdiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJtdC00In0se2NoaWxkcmVuOlsoMCxPYS5qc3gpKERhLkxvYWRpbmdJY29uLHt9KSwoMCxPYS5qc3gpKCJkaXYiLHtjaGlsZHJlbjooMCxPYS5qc3gpKCJkaXYiLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToidGV4dC1tdXRlZCJ9LHtjaGlsZHJlbjooMCxPYS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46ZS5sb2FkaW5nVGlwNH0pfSkpfSldfSkpXX0pKV19KSl9O3ZhciBNYT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoTWEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE1hLk1vZGFsPXZvaWQgMDtjb25zdCBrYT1wcztNYS5Nb2RhbD1mdW5jdGlvbihlKXtyZXR1cm4oMCxrYS5qc3hzKSgiZGl2IixPYmplY3QuYXNzaWduKHtjbGFzc05hbWU6ImxlZGdlci1tb2RhbC1yb290In0se2NoaWxkcmVuOlsoMCxrYS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImxlZGdlci1tb2RhbC1tYXNrIn0pLCgwLGthLmpzeCkoImRpdiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJsZWRnZXItbW9kYWwtd3JhcCJ9LHtjaGlsZHJlbjooMCxrYS5qc3gpKCJkaXYiLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToibGVkZ2VyLW1vZGFsIixzdHlsZTp7d2lkdGg6ZS53aWR0aHx8IjU1MHB4In19LHtjaGlsZHJlbjooMCxrYS5qc3hzKSgiZGl2IixPYmplY3QuYXNzaWduKHtjbGFzc05hbWU6ImxlZGdlci1tb2RhbC1jb250ZW50In0se2NoaWxkcmVuOlsoMCxrYS5qc3gpKCJidXR0b24iLE9iamVjdC5hc3NpZ24oe29uQ2xpY2s6ZS5vbkNsb3NlLHR5cGU6ImJ1dHRvbiIsImFyaWEtbGFiZWwiOiJDbG9zZSIsY2xhc3NOYW1lOiJsZWRnZXItbW9kYWwtY2xvc2UifSx7Y2hpbGRyZW46KDAsa2EuanN4KSgic3BhbiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJsZWRnZXItbW9kYWwtY2xvc2UteCJ9LHtjaGlsZHJlbjooMCxrYS5qc3gpKCJpIixPYmplY3QuYXNzaWduKHsiYXJpYS1sYWJlbCI6Imljb246IGNsb3NlIixjbGFzc05hbWU6Imljb24gaWNvbi1jbG9zZSBsZWRnZXItbW9kYWwtY2xvc2UtaWNvbiJ9LHtjaGlsZHJlbjooMCxrYS5qc3gpKCJzdmciLE9iamVjdC5hc3NpZ24oe3ZpZXdCb3g6IjY0IDY0IDg5NiA4OTYiLGZvY3VzYWJsZToiZmFsc2UiLGNsYXNzTmFtZToiIiwiZGF0YS1pY29uIjoiY2xvc2UiLHdpZHRoOiIxZW0iLGhlaWdodDoiMWVtIixmaWxsOiJjdXJyZW50Q29sb3IiLCJhcmlhLWhpZGRlbiI6InRydWUifSx7Y2hpbGRyZW46KDAsa2EuanN4KSgicGF0aCIse2Q6Ik01NjMuOCA1MTJsMjYyLjUtMzEyLjljNC40LTUuMi43LTEzLjEtNi4xLTEzLjFoLTc5LjhjLTQuNyAwLTkuMiAyLjEtMTIuMyA1LjdMNTExLjYgNDQ5LjggMjk1LjEgMTkxLjdjLTMtMy42LTcuNS01LjctMTIuMy01LjdIMjAzYy02LjggMC0xMC41IDcuOS02LjEgMTMuMUw0NTkuNCA1MTIgMTk2LjkgODI0LjlBNy45NSA3Ljk1IDAgMCAwIDIwMyA4MzhoNzkuOGM0LjcgMCA5LjItMi4xIDEyLjMtNS43bDIxNi41LTI1OC4xIDIxNi41IDI1OC4xYzMgMy42IDcuNSA1LjcgMTIuMyA1LjdoNzkuOGM2LjggMCAxMC41LTcuOSA2LjEtMTMuMUw1NjMuOCA1MTJ6In0pfSkpfSkpfSkpfSkpLCgwLGthLmpzeCkoImRpdiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJsZWRnZXItbW9kYWwtaGVhZGVyIn0se2NoaWxkcmVuOigwLGthLmpzeCkoImRpdiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJsZWRnZXItbW9kYWwtdGl0bGUifSx7Y2hpbGRyZW46ZS50aXRsZX0pKX0pKSwoMCxrYS5qc3gpKCJkaXYiLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToibGVkZ2VyLW1vZGFsLWJvZHkifSx7Y2hpbGRyZW46ZS5jaGlsZHJlbn0pKV19KSl9KSl9KSldfSkpfTt2YXIgamE9e30sVWE9ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKChmdW5jdGlvbihvLGkpe2Z1bmN0aW9uIHMoZSl7dHJ5e2woci5uZXh0KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBhKGUpe3RyeXtsKHIudGhyb3coZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIGwoZSl7dmFyIHQ7ZS5kb25lP28oZS52YWx1ZSk6KHQ9ZS52YWx1ZSx0IGluc3RhbmNlb2Ygbj90Om5ldyBuKChmdW5jdGlvbihlKXtlKHQpfSkpKS50aGVuKHMsYSl9bCgocj1yLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoamEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGphLlNlbGVjdEFjY291bnQ9dm9pZCAwO2NvbnN0IEJhPXBzLEZhPVZzLEhhPVZzLEdhPVZzLFdhPVZzLHphPVZzLFlhPXlhO2phLlNlbGVjdEFjY291bnQ9ZnVuY3Rpb24oZSl7Y29uc3RbdCxuXT0oMCx6YS51c2VTdGF0ZSkoMCksW3Isb109KDAsemEudXNlU3RhdGUpKFtdKSxbaSxzXT0oMCx6YS51c2VTdGF0ZSkoITEpLGE9KDAsR2EudXNlUmVmKShudWxsKSxsPSgwLEhhLnVzZU1lbW8pKCgoKT0+KDAsWWEuZ2V0TGFuZ1RleHQpKCkpLFtdKTtmdW5jdGlvbiBjKGUpe24oK2UudGFyZ2V0LnZhbHVlKX1yZXR1cm4oMCxXYS51c2VFZmZlY3QpKCgoKT0+e28oWy4uLmUuYWNjb3VudHNdKX0pLFtlLmFjY291bnRzXSksKDAsV2EudXNlRWZmZWN0KSgoKCk9PntuKGUuc2VsZWN0ZWRJbmRleCl9KSxbZS5zZWxlY3RlZEluZGV4XSksKDAsRmEudXNlTGF5b3V0RWZmZWN0KSgoKCk9Pnt2YXIgZSx0O251bGw9PT0odD1udWxsPT09KGU9YS5jdXJyZW50KXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5zY3JvbGxJbnRvVmlldyl8fHZvaWQgMD09PXR8fHQuY2FsbChlKX0pLFtyXSksKDAsQmEuanN4cykoImRpdiIsT2JqZWN0LmFzc2lnbih7c3R5bGU6e3BhZGRpbmdMZWZ0OjQwfSxjbGFzc05hbWU6ImxlZGdlci1zZWxlY3QiLCJkYXRhLXRlc3RpZCI6InNlbGVjdC1hY2NvdW50LWNvbnRlbnQifSx7Y2hpbGRyZW46WygwLEJhLmpzeCkoInNwYW4iLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToidGl0bGUifSx7Y2hpbGRyZW46bC5zZWxlY3RUaXB9KSksKDAsQmEuanN4cykoImRpdiIsT2JqZWN0LmFzc2lnbih7Y2xhc3NOYW1lOiJsZWRnZXItc2VsZWN0LWxpc3Qtd3JhcCJ9LHtjaGlsZHJlbjpbKDAsQmEuanN4KSgidWwiLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToibGVkZ2VyLXNlbGVjdC1saXN0IiwiZGF0YS10ZXN0aWQiOiJzZWxlY3QtYWNjb3VudC1saXN0In0se2NoaWxkcmVuOnIubWFwKCgoZSxuKT0+KDAsQmEuanN4KSgibGkiLE9iamVjdC5hc3NpZ24oe2NsYXNzTmFtZToibGVkZ2VyLXNlbGVjdC1pdGVtIn0se2NoaWxkcmVuOigwLEJhLmpzeHMpKCJsYWJlbCIsT2JqZWN0LmFzc2lnbih7aHRtbEZvcjpgbGVkZ2VyLXNlbGVjdC1yYWRpbyR7bn1gfSx7Y2hpbGRyZW46WygwLEJhLmpzeCkoImlucHV0Iix7Y2xhc3NOYW1lOmUuaW5kZXg9PT10PyJjaGVja2VkIjoiIixpZDpgbGVkZ2VyLXNlbGVjdC1yYWRpbyR7bn1gLHR5cGU6InJhZGlvIixuYW1lOiJzZWxlY3RlZEFkZHJlc3MiLHZhbHVlOmUuaW5kZXgsY2hlY2tlZDplLmluZGV4PT09dCxvbklucHV0OmN9KSwoMCxCYS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46ZS5hZGRyZXNzfSldfSkpfSksbikpKX0pKSwoMCxCYS5qc3gpKCJkaXYiLE9iamVjdC5hc3NpZ24oe3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoiZmxleC1lbmQifX0se2NoaWxkcmVuOigwLEJhLmpzeHMpKCJidXR0b24iLE9iamVjdC5hc3NpZ24oeyJkYXRhLXRlc3RpZCI6ImJ0bi1sb2FkLW1vcmUiLHJlZjphLHN0eWxlOnttYXJnaW5Ub3A6MTB9LGRpc2FibGVkOmksY2xhc3NOYW1lOiJsZWRnZXItc2VsZWN0LWJ1dHRvbiIsb25DbGljazpmdW5jdGlvbigpe3JldHVybiBVYSh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3MoITApO2NvbnN0IHQ9cltyLmxlbmd0aC0xXXx8e2luZGV4Oi0xfSxuPXQuaW5kZXgrMSxpPXQuaW5kZXgrNjt0cnl7Y29uc3QgdD15aWVsZCBlLmdldEFjY291bnRzKG4saSk7bygoZT0+Wy4uLmUsLi4udF0pKX1maW5hbGx5e3MoITEpfX0pKX19LHtjaGlsZHJlbjpbKDAsQmEuanN4KSgic3BhbiIsT2JqZWN0LmFzc2lnbih7c3R5bGU6e21hcmdpblJpZ2h0Omk/MTA6MH19LHtjaGlsZHJlbjpsLmxvYWRNb3JlfSkpLGk/KDAsQmEuanN4KSgic3ZnIixPYmplY3QuYXNzaWduKHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAzOCAzOCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixzdHJva2U6IiNmZmYifSx7Y2hpbGRyZW46KDAsQmEuanN4KSgiZyIsT2JqZWN0LmFzc2lnbih7ZmlsbDoibm9uZSIsZmlsbFJ1bGU6ImV2ZW5vZGQifSx7Y2hpbGRyZW46KDAsQmEuanN4cykoImciLE9iamVjdC5hc3NpZ24oe3RyYW5zZm9ybToidHJhbnNsYXRlKDEgMSkiLHN0cm9rZVdpZHRoOiIyIn0se2NoaWxkcmVuOlsoMCxCYS5qc3gpKCJjaXJjbGUiLHtzdHJva2VPcGFjaXR5OiIuNSIsY3g6IjE4IixjeToiMTgiLHI6IjE4In0pLCgwLEJhLmpzeCkoInBhdGgiLE9iamVjdC5hc3NpZ24oe2Q6Ik0zNiAxOGMwLTkuOTQtOC4wNi0xOC0xOC0xOCJ9LHtjaGlsZHJlbjooMCxCYS5qc3gpKCJhbmltYXRlVHJhbnNmb3JtIix7YXR0cmlidXRlTmFtZToidHJhbnNmb3JtIix0eXBlOiJyb3RhdGUiLGZyb206IjAgMTggMTgiLHRvOiIzNjAgMTggMTgiLGR1cjoiMXMiLHJlcGVhdENvdW50OiJpbmRlZmluaXRlIn0pfSkpXX0pKX0pKX0pKTpudWxsXX0pKX0pKV19KSksKDAsQmEuanN4cykoImZvb3RlciIsT2JqZWN0LmFzc2lnbih7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJmbGV4LWVuZCJ9fSx7Y2hpbGRyZW46WygwLEJhLmpzeCkoImJ1dHRvbiIsT2JqZWN0LmFzc2lnbih7ImRhdGEtdGVzdGlkIjoiYnRuLWNhbmNlbCIsc3R5bGU6e21hcmdpblJpZ2h0OjEwfSxjbGFzc05hbWU6ImxlZGdlci1zZWxlY3QtYnV0dG9uIGRlZmF1bHQtYnV0dG9uIixvbkNsaWNrOmZ1bmN0aW9uKCl7ZS5vbkNhbmNlbCgpfX0se2NoaWxkcmVuOmwuY2FuY2VsfSkpLCgwLEJhLmpzeCkoImJ1dHRvbiIsT2JqZWN0LmFzc2lnbih7ImRhdGEtdGVzdGlkIjoiYnRuLWNvbmZpcm0iLGRpc2FibGVkOmksY2xhc3NOYW1lOiJsZWRnZXItc2VsZWN0LWJ1dHRvbiIsb25DbGljazpmdW5jdGlvbigpe2NvbnN0IG49ci5maW5kKChlPT5lLmluZGV4PT09dCkpO2Uub25Db25maXJtKG58fChudWxsPT1yP3ZvaWQgMDpyWzBdKSl9fSx7Y2hpbGRyZW46bC5jb25maXJtfSkpXX0pKV19KSl9O3ZhciBxYT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkocWEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHFhLm1vZGFsU3R5bGVTaGVldENvbnRlbnQ9dm9pZCAwLHFhLm1vZGFsU3R5bGVTaGVldENvbnRlbnQ9IlxuLmxlZGdlci1tb2RhbC1tYXNrLCAubGVkZ2VyLW1vZGFsLXdyYXAge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBmb250LWZhbWlseTogJ1BpbmdGYW5nU0MtUmVndWxhcicsICdBcmlhbCcsIHNhbnMtc2VyaWYsICdEcm9pZCBTYW5zJywgJ0hlbHZldGljYSBOZXVlJztcbn1cbi5sZWRnZXItbW9kYWwtbWFzayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG59XG4ubGVkZ2VyLW1vZGFsLXdyYXAge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG91dGxpbmU6IDA7XG59XG4ubGVkZ2VyLW1vZGFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRvcDogNTBweDtcbiAgd2lkdGg6IDYwMHB4O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY1KTtcbn1cbi5sZWRnZXItbW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiKDAgMCAwIC8gMTUlKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4ubGVkZ2VyLW1vZGFsLWNsb3NlIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4ubGVkZ2VyLW1vZGFsLWNsb3NlOmZvY3VzLC5sZWRnZXItbW9kYWwtY2xvc2U6YWN0aXZlLC5sZWRnZXItbW9kYWwtY2xvc2U6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ubGVkZ2VyLW1vZGFsLWNsb3NlLXgge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNTZweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbn1cbi5sZWRnZXItbW9kYWwtY2xvc2UteCAuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG4ubGVkZ2VyLW1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4O1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbn1cbi5sZWRnZXItc2VsZWN0IC50aXRsZSwgLmxlZGdlci1tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbi5sZWRnZXItbW9kYWwtYm9keSB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBtYXgtaGVpZ2h0OiA2NTBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuXG4vLyBjb25uZWN0aW5nIGNvbnRlbnRcbi5sZWRnZXItY29ubmVjdGluZy1wb3AgdWwge1xuICBtYXJnaW46IDA7XG59XG4ubGVkZ2VyLWNvbm5lY3RpbmctcG9wLWNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDglO1xufVxuLmxlZGdlci1jb25uZWN0aW5nLXBvcC1jb250ZW50IGxpLCAubGVkZ2VyLXNlbGVjdCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMTBweCAwIDEwcHggMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5sZWRnZXItY29ubmVjdGluZy1wb3AtY29udGVudCAudGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5sZWRnZXItYW50LXNwaW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtdmFyaWFudDogdGFidWxhci1udW1zO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0bnVtJztcbiAgY29sb3I6ICNCMDE3MEQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjc4LCAwLjE0LCAwLjE1LCAwLjg2KTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgb3BhY2l0eTogMTtcbiAgbWFyZ2luOiAydncgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5sZWRnZXItYW50LXNwaW4tZG90IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYW5pbWF0aW9uOiBhbnRSb3RhdGUgMS4ycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuLmxlZGdlci1hbnQtc3Bpbi1kb3QtaXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA5cHg7XG4gIGhlaWdodDogOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjAxNzBEO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBvcGFjaXR5OiAwLjM7XG4gIGFuaW1hdGlvbjogYW50U3Bpbk1vdmUgMXMgaW5maW5pdGUgbGluZWFyIGFsdGVybmF0ZTtcbn1cbi5sZWRnZXItYW50LXNwaW4tZG90LWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLmxlZGdlci1hbnQtc3Bpbi1kb3QtaXRlbTpudGgtY2hpbGQoMikge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG59XG4ubGVkZ2VyLWFudC1zcGluLWRvdC1pdGVtOm50aC1jaGlsZCgzKSB7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGFuaW1hdGlvbi1kZWxheTogMC44cztcbn1cbi5sZWRnZXItYW50LXNwaW4tZG90LWl0ZW06bnRoLWNoaWxkKDQpIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMnM7XG59XG4ubGVkZ2VyLWFudC1zcGluLWxnIC5sZWRnZXItYW50LXNwaW4tZG90IGkge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xufVxuQGtleWZyYW1lcyBhbnRSb3RhdGUge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpXG4gIH1cbn1cbkBrZXlmcmFtZXMgYW50U3Bpbk1vdmUge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5sZWRnZXItc2VsZWN0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5sZWRnZXItc2VsZWN0IC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmxlZGdlci1zZWxlY3QtbGlzdC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG4ubGVkZ2VyLXNlbGVjdC1saXN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5sZWRnZXItc2VsZWN0LWl0ZW0ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjMmYyZjJmO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5sZWRnZXItc2VsZWN0LWl0ZW06aG92ZXIge1xuICBjb2xvcjogIzZmNmY2Zjtcbn1cbi5sZWRnZXItc2VsZWN0LWl0ZW0gbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmxlZGdlci1zZWxlY3QtaXRlbSBpbnB1dCB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbn1cbi5sZWRnZXItc2VsZWN0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMjM2MzE7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBETSBTYW5zLCBSb2JvdG8sIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5sZWRnZXItc2VsZWN0LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmxlZGdlci1zZWxlY3QtYnV0dG9uLmRlZmF1bHQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkY2RmZTY7XG59XG4ubGVkZ2VyLXNlbGVjdC1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmxlZGdlci1zZWxlY3QtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgd2hpdGU7XG59XG4ubGVkZ2VyLXNlbGVjdC1idXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG4iLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkcywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZHMub3BlblNlbGVjdEFjY291bnRNb2RhbD1kcy5vcGVuVmVyaWZ5QWRkcmVzc01vZGFsPWRzLm9wZW5Db25uZWN0aW5nTW9kYWw9dm9pZCAwO2NvbnN0IFFhPXBzLFhhPUpzLEphPW1hLFZhPU5hLEthPXlhLCRhPU1hLFphPWphLGVsPXFhO2Z1bmN0aW9uIHRsKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7cmV0dXJuIHQuaW5uZXJIVE1MPWVsLm1vZGFsU3R5bGVTaGVldENvbnRlbnQsZG9jdW1lbnQuYm9keS5hcHBlbmQodCksZG9jdW1lbnQuYm9keS5hcHBlbmQoZSkse29uQ2xvc2U6ZnVuY3Rpb24oKXtlLnJlbW92ZSgpLHQucmVtb3ZlKCl9LGRpdjplfX1kcy5vcGVuQ29ubmVjdGluZ01vZGFsPWZ1bmN0aW9uKCl7Y29uc3R7b25DbG9zZTplLGRpdjp0fT10bCgpLG49KDAsS2EuZ2V0TGFuZ1RleHQpKCk7cmV0dXJuKDAsWGEucmVuZGVyKSgoMCxRYS5qc3gpKCRhLk1vZGFsLE9iamVjdC5hc3NpZ24oe3RpdGxlOm4ubG9hZGluZ1RpdGxlLG9uQ2xvc2U6ZX0se2NoaWxkcmVuOigwLFFhLmpzeCkoVmEuQ29ubmVjdGluZ0NvbnRlbnQse30pfSkpLHQpLGV9LGRzLm9wZW5WZXJpZnlBZGRyZXNzTW9kYWw9ZnVuY3Rpb24oZSl7Y29uc3R7b25DbG9zZTp0LGRpdjpufT10bCgpLHI9KDAsS2EuZ2V0TGFuZ1RleHQpKCk7cmV0dXJuKDAsWGEucmVuZGVyKSgoMCxRYS5qc3gpKCRhLk1vZGFsLE9iamVjdC5hc3NpZ24oe3dpZHRoOjU1MCx0aXRsZTpyLmxvYWRpbmdUaXRsZSxvbkNsb3NlOnR9LHtjaGlsZHJlbjooMCxRYS5qc3gpKEphLkNvbmZpcm1Db250ZW50LHthZGRyZXNzOmV9KX0pKSxuKSx0fSxkcy5vcGVuU2VsZWN0QWNjb3VudE1vZGFsPWZ1bmN0aW9uKGUpe2NvbnN0e29uQ2xvc2U6dCxkaXY6bn09dGwoKSxyPSgwLEthLmdldExhbmdUZXh0KSgpO3JldHVybiBuZXcgUHJvbWlzZSgoKG8saSk9PntmdW5jdGlvbiBzKCl7aShuZXcgRXJyb3IoIk9wZXJhdGlvbiBpcyBjYW5jZWxlZC4iKSksdCgpfSgwLFhhLnJlbmRlcikoKDAsUWEuanN4KSgkYS5Nb2RhbCxPYmplY3QuYXNzaWduKHt0aXRsZTpyLmxvYWRpbmdUaXRsZSxvbkNsb3NlOnN9LHtjaGlsZHJlbjooMCxRYS5qc3gpKFphLlNlbGVjdEFjY291bnQse2FjY291bnRzOmUuYWNjb3VudHMsc2VsZWN0ZWRJbmRleDplLnNlbGVjdGVkSW5kZXh8fDAsb25Db25maXJtOmZ1bmN0aW9uKGUpe28oZSksdCgpfSxvbkNhbmNlbDpzLGdldEFjY291bnRzOmUuZ2V0QWNjb3VudHN9KX0pKSxuKX0pKX07dmFyIG5sPWUmJmUuX19hd2FpdGVyfHxmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKGUpe3RyeXtsKHIubmV4dChlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gYShlKXt0cnl7bChyLnRocm93KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBsKGUpe3ZhciB0O2UuZG9uZT9vKGUudmFsdWUpOih0PWUudmFsdWUsdCBpbnN0YW5jZW9mIG4/dDpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0KX0pKSkudGhlbihzLGEpfWwoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pKX0scmw9ZSYmZS5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGdlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxnZS5MZWRnZXJXYWxsZXQ9dm9pZCAwO2NvbnN0IG9sPXJsKEFlKSxpbD1ybChmcyksc2w9ZHM7ZnVuY3Rpb24gYWwoZSl7cmV0dXJuIG5sKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57c2V0VGltZW91dCh0LGUpfSkpfSkpfWNvbnN0IGxsPWZ1bmN0aW9uKHthY2NvdW50czplLGxlZGdlclV0aWxzOnR9KXtyZXR1cm4gbmwodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtjb25zdCBuPXlpZWxkKDAsc2wub3BlblNlbGVjdEFjY291bnRNb2RhbCkoe2FjY291bnRzOmUsZ2V0QWNjb3VudHM6dC5nZXRBY2NvdW50c30pLHI9KDAsc2wub3BlblZlcmlmeUFkZHJlc3NNb2RhbCkobi5hZGRyZXNzKTt0cnl7eWllbGQgdC5nZXRBZGRyZXNzKG4uaW5kZXgsITApfWZpbmFsbHl7bnVsbD09cnx8cigpfXJldHVybiBufSkpfTtyZXR1cm4gZ2UuTGVkZ2VyV2FsbGV0PWNsYXNze2NvbnN0cnVjdG9yKGU9e30pe3RoaXMuYXBwPW51bGwsdGhpcy50cmFuc3BvcnQ9bnVsbCx0aGlzLmZldGNoU3RhdGU9IkluaXRpYWwiLHRoaXMuc2VsZWN0ZWRJbmRleD0wLHRoaXMuX2FkZHJlc3M9IiIsdGhpcy5nZXRBY2NvdW50cz0oZSx0KT0+bmwodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJnZXRBY2NvdW50IHBhcmFtZXRlciBlcnJvcjogZnJvbSBjYW5ub3QgYmUgc21hbGxlciB0aGFuIDAuIik7aWYoZT49dCl0aHJvdyBuZXcgRXJyb3IoImdldEFjY291bnQgcGFyYW1ldGVyIGVycm9yOiBmcm9tIGNhbm5vdCBiZSBiaWdnZXIgdGhhbiB0by4iKTtpZigiRmV0Y2hpbmciPT09dGhpcy5mZXRjaFN0YXRlKXJldHVybiB5aWVsZCBhbCg1MDApLHRoaXMuZ2V0QWNjb3VudHMoZSx0KTt0aGlzLmZldGNoU3RhdGU9IkZldGNoaW5nIix5aWVsZCB0aGlzLm1ha2VBcHAoKTt0cnl7Y29uc3Qgbj17fTtmb3IobGV0IHI9ZTtyPHQ7cisrKXtjb25zdCBlPXlpZWxkIHRoaXMuZ2V0QWNjb3VudChyKTtuW2UuaW5kZXhdPWV9cmV0dXJuIE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGU9Pnt0aGlzLmFjY291bnRzWytlXT1uW2VdfSkpLHRoaXMuYWNjb3VudHMuc2xpY2UoZSx0KX1maW5hbGx5e3RoaXMuZmV0Y2hTdGF0ZT0iSW5pdGlhbCIseWllbGQgdGhpcy5jbGVhblVwKCl9fSkpLHRoaXMuZ2V0QWRkcmVzcz0oZSx0PSExKT0+bmwodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgbj10aGlzLmdldFBhdGhGb3JJbmRleChlKTtyZXR1cm4geWllbGQgdGhpcy5tYWtlQXBwKCkseWllbGQgdGhpcy5hcHAuZ2V0QWRkcmVzcyhuLHQpfWZpbmFsbHl7eWllbGQgdGhpcy5jbGVhblVwKCl9fSkpLHRoaXMuYWNjb3VudHM9W107Y29uc3R7YWNjb3VudE51bWJlcjp0PTF9PWU7aWYoWyJiZWZvcmVDb25uZWN0Iiwic2VsZWN0QWNjb3VudCIsImdldERlcml2YXRpb25QYXRoIl0uZm9yRWFjaCgodD0+e2lmKGVbdF0mJiJmdW5jdGlvbiIhPXR5cGVvZiBlW3RdKXRocm93IG5ldyBFcnJvcihgW0xlZGdlcl06ICR7dH0gbXVzdCBiZSBhIGZ1bmN0aW9uIWApfSkpLHQmJiFOdW1iZXIuaXNJbnRlZ2VyKCt0KSl0aHJvdyBuZXcgRXJyb3IoIltMZWRnZXJdOiBhY2NvdW50TnVtYmVyIG11c3QgYmUgYW4gaW50ZWdlciEiKTt0aGlzLmNvbmZpZz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2FjY291bnROdW1iZXI6dH0pfWdldCBhZGRyZXNzKCl7cmV0dXJuIHRoaXMuX2FkZHJlc3N9Y29ubmVjdChlKXtyZXR1cm4gbmwodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZigobnVsbD09ZT92b2lkIDA6ZS5hY2NvdW50KSYmIm9iamVjdCI9PXR5cGVvZiBlLmFjY291bnQpe2NvbnN0IHQ9ZS5hY2NvdW50O3JldHVybiB0aGlzLnNlbGVjdGVkSW5kZXg9K3QuaW5kZXgsdGhpcy5fYWRkcmVzcz10LmFkZHJlc3Msdm9pZCh2b2lkIDAhPT10LmluZGV4JiZ2b2lkIDAhPT10LmFkZHJlc3N8fGNvbnNvbGUud2FybigiW0xlZGdlcldhbGxldF0gYWNjb3VudCBwYXJhbWV0ZXIgcGFzc2VkIHRvIGNvbm5lY3QoKSBzaG91bGQgaGF2ZSB2YWxpZCBpbmRleCBhbmQgYWRkcmVzcyBwcm9wZXJ0eSIpKX1jb25zdCB0PXtnZXRBY2NvdW50czp0aGlzLmdldEFjY291bnRzLGdldEFkZHJlc3M6dGhpcy5nZXRBZGRyZXNzfTt0aGlzLmFjY291bnRzPVtdLHRoaXMuX2FkZHJlc3M9IiIsdGhpcy5zZWxlY3RlZEluZGV4PTA7Y29uc3R7YWNjb3VudE51bWJlcjpuPTEsYmVmb3JlQ29ubmVjdDpyLHNlbGVjdEFjY291bnQ6bz1sbH09dGhpcy5jb25maWc7bGV0IGk9bnVsbDt0cnl7cj95aWVsZCByKCk6aT0oMCxzbC5vcGVuQ29ubmVjdGluZ01vZGFsKSgpLHlpZWxkIHRoaXMubWFrZUFwcCgpO2NvbnN0IGU9eWllbGQgdGhpcy5nZXRBY2NvdW50KDApO3RoaXMuYWNjb3VudHNbMF09ZSx5aWVsZCB0aGlzLmNsZWFuVXAoKSxuPjEmJih5aWVsZCB0aGlzLmdldEFjY291bnRzKDEsbikpLG51bGw9PWl8fGkoKTtjb25zdCBzPXRoaXMuYWNjb3VudHMuc2xpY2UoMCxuKSxhPXlpZWxkIG8oe2FjY291bnRzOnMsbGVkZ2VyVXRpbHM6dH0pO3RoaXMuc2VsZWN0ZWRJbmRleD1hLmluZGV4LHRoaXMuX2FkZHJlc3M9YS5hZGRyZXNzfWZpbmFsbHl7eWllbGQgdGhpcy5jbGVhblVwKCl9fSkpfWRpc2Nvbm5lY3QoKXt0aGlzLnNlbGVjdGVkSW5kZXg9MCx0aGlzLl9hZGRyZXNzPSIifXNpZ25QZXJzb25hbE1lc3NhZ2UoZSl7cmV0dXJuIG5sKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7eWllbGQgdGhpcy53YWl0Rm9ySWRsZSgpO3RyeXtjb25zdCB0PXRoaXMuc2VsZWN0ZWRJbmRleDt5aWVsZCB0aGlzLm1ha2VBcHAoKTtjb25zdCBuPXRoaXMuZ2V0UGF0aEZvckluZGV4KHQpLHI9QnVmZmVyLmZyb20oZSkudG9TdHJpbmcoImhleCIpO3JldHVybiB5aWVsZCB0aGlzLmFwcC5zaWduUGVyc29uYWxNZXNzYWdlKG4scil9ZmluYWxseXt5aWVsZCB0aGlzLmNsZWFuVXAoKX19KSl9c2lnblRyYW5zYWN0aW9uKGUpe3JldHVybiBubCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3lpZWxkIHRoaXMud2FpdEZvcklkbGUoKTt0cnl7Y29uc3QgdD10aGlzLnNlbGVjdGVkSW5kZXgsbj10aGlzLmdldFBhdGhGb3JJbmRleCh0KTtsZXQgcjt5aWVsZCB0aGlzLm1ha2VBcHAoKTt0cnl7cj15aWVsZCB0aGlzLmFwcC5zaWduVHJhbnNhY3Rpb24obixlLnJhd19kYXRhX2hleCxbXSl9Y2F0Y2godCl7aWYoIS9Ub28gbWFueSBieXRlcyB0byBlbmNvZGUvLnRlc3QodC5tZXNzYWdlKSl0aHJvdyB0O3I9eWllbGQgdGhpcy5hcHAuc2lnblRyYW5zYWN0aW9uSGFzaChuLGUudHhJRCl9cmV0dXJuIEFycmF5LmlzQXJyYXkoZS5zaWduYXR1cmUpP2Uuc2lnbmF0dXJlLmluY2x1ZGVzKHIpfHxlLnNpZ25hdHVyZS5wdXNoKHIpOmUuc2lnbmF0dXJlPVtyXSxlfWZpbmFsbHl7eWllbGQgdGhpcy5jbGVhblVwKCl9fSkpfWdldEFjY291bnQoZSl7cmV0dXJuIG5sKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3QgdD10aGlzLmdldFBhdGhGb3JJbmRleChlKSx7YWRkcmVzczpufT15aWVsZCB0aGlzLmFwcC5nZXRBZGRyZXNzKHQpO3JldHVybntwYXRoOnQsYWRkcmVzczpuLGluZGV4OmV9fSkpfXdhaXRGb3JJZGxlKCl7cmV0dXJuIG5sKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7IkZldGNoaW5nIj09PXRoaXMuZmV0Y2hTdGF0ZSYmKHlpZWxkIGFsKDMwMCkseWllbGQgdGhpcy53YWl0Rm9ySWRsZSgpKX0pKX1nZXRQYXRoRm9ySW5kZXgoZSl7cmV0dXJuIHRoaXMuY29uZmlnLmdldERlcml2YXRpb25QYXRoP3RoaXMuY29uZmlnLmdldERlcml2YXRpb25QYXRoKGUpOmA0NCcvMTk1Jy8ke2V9Jy8wLzBgfW1ha2VBcHAoKXtyZXR1cm4gbmwodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy5hcHB8fCh0aGlzLnRyYW5zcG9ydD15aWVsZCBpbC5kZWZhdWx0LmNyZWF0ZSgpLHRoaXMuYXBwPW5ldyBvbC5kZWZhdWx0KHRoaXMudHJhbnNwb3J0KSl9KSl9Y2xlYW5VcCgpe3ZhciBlO3JldHVybiBubCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RoaXMuYXBwPW51bGwseWllbGQgbnVsbD09PShlPXRoaXMudHJhbnNwb3J0KXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jbG9zZSgpLHRoaXMudHJhbnNwb3J0PW51bGx9KSl9fSxmdW5jdGlvbih0KXt2YXIgbj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyhlKXt0cnl7bChyLm5leHQoZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIGEoZSl7dHJ5e2woci50aHJvdyhlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gbChlKXt2YXIgdDtlLmRvbmU/byhlLnZhbHVlKToodD1lLnZhbHVlLHQgaW5zdGFuY2VvZiBuP3Q6bmV3IG4oKGZ1bmN0aW9uKGUpe2UodCl9KSkpLnRoZW4ocyxhKX1sKChyPXIuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkxlZGdlckFkYXB0ZXI9dC5MZWRnZXJBZGFwdGVyTmFtZT12b2lkIDA7Y29uc3Qgcj1zZSxvPWdlO3QuTGVkZ2VyQWRhcHRlck5hbWU9IkxlZGdlciI7Y2xhc3MgaSBleHRlbmRzIHIuQWRhcHRlcntjb25zdHJ1Y3RvcihlPXt9KXtzdXBlcigpLHRoaXMubmFtZT10LkxlZGdlckFkYXB0ZXJOYW1lLHRoaXMudXJsPSJodHRwczovL3d3dy5sZWRnZXIuY29tLyIsdGhpcy5pY29uPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUtBQUFBQ2dDQVlBQUFDTHoyY3RBQUFBQVhOU1IwSUFyczRjNlFBQUZNaEpSRUZVZUFIdFhYdU1GRVVlcnVXNVBKYndGRVZRakF0Y3ZCQ0ptb0FTaVVHNE8zSUNpb0JpRU01Z05QZ0hKdWJFUnp3Mkh1QXBIT3J4aDNnY1JMSVNsQTJlZ2hMZmlDVEtHZ05CdWNOREZnaUtJTHNJZXl5NzdMSTg3dnVhN3JtWjJabWU3cGwrVlBmOEt1bnA3dXJxK3YzcXEyOSs5ZXlxRWlVdUJZR3lzcksrNTg2ZEczYng0a1hyNkZkU1VsS0dRR1h3TTg2OHQ2N05seHZnMXdDL0J0d2Ixenp6SHY1MU9QYnk2TkNodzk2R2hvYmo1anR5QWdJbHhZcEMvLzc5dTlYWDE0OEdTVzRBQnNPU2p0NCtZM0lDOGUrMURoQnpaOCtlUGI4NGR1eFlvODl5dFl5K2FBaFlYbDdlK2ZEaHc2T1FDMk5CT2g0amNkMVJrMXhwQlJHL3dyRUYrbXdaT0hCZ2RVMU5UWXNtdXZtcVJxd0oyTGx6NXlFZzJsUms3TzA0M3dJa3UvaUtwbmVSbjRIT1gwTG5UM0hlME5MU3NzKzdxUFdLS1hZRTdOR2pSMjlrMkQzSXZQc0I5YzE2d1oyM050dEJ4TmZ4aDFwLzZ0UXBGdUd4Y2JFZzRJMDMzdGh4OSs3ZHYwY20zUS9pM1lIYzZSU2JIRXBOeUZtazhUMms4ZlhodzRkdjNyRmpSMnZxNCtqZFJacUEzYnAxNjQ4VzYyUElrRG1BdmsvMDRDOUk0MTlBeHRWb1diL1kyTmg0cktDWVFudzVrZ1RzMHFYTG9Bc1hMc3dIOFI0RWRxVWg0cWVENkdZUWNWVzdkdTJXbkRsejVrY2RGSEtqUTZRSWlEcFFPUkwzSklnM0MyZGRXckJ1OFBZekxGdlNsUkR3UE9yQU5YNEs4akx1U0JEUWJNMCtpNFJQeDlIZVN3QmlHTmQ1cEtrS1pLeUlRdXRaNjh4RWYxaVhzMmZQVnNEaXJRV29JM0MwaXlGaHZFNFNNUnFPNDZHT0hUdDJ2dnp5eTZ2UmNqN250UkN2NHRQV0FzTHFzVFc3SE9TN3hxdkVGbU04c0lRSGtlNTVzSWJ2NlpoKzdRaFlXbHA2TlVqM054eVRkUVFzcWpxQmlCdHhQTnJjM0h4SXB6Um9VNlJObXphdGZhZE9uWjVFNjNhUGtNOTdpaEJUWWt1TWliWDNFdktMVVFzTDJMVnIxeXZPbnorL0RpRGRsbDh5NUMwM0NNQVNibTNmdnYxOVRVMU5SOTI4NTBmWTBBbUl1dDU0Skd3dHlIZVpId21VT0RNakFCTFc0c2xNMUEwL3pod2lHTi9RaW1BV0E2anZMUUx4UGhEeUJaUFp5VktJT2JGbkhvUlpKSWRpQVZIa0RrQ1Ird1lBR0pNTWlseUhnd0NzNFRZVXlUTlFKQjhKV29QQUNZaGh0SkdvREw4TDh2VUxPckVpTHpzQ0lHRWRodk1tWWpqdnEreWh2SDhTS0FGUjM1c0E0bTFBTXJwNm54U0owUU1FbWtERXFhZ1h2dTlCWEk2aUNLdzVqcnJHVEpCdlBiVHE3RWd6Q1JRR0FoeGZ2d2NqS0FjeHkramJJQlFJaElDd2ZKd3l0UUlKQ2tSZUVNREZXRVk3NU5WZG1PYlZnSHI2ZHIvVDZXc3JHQWtwQWZtVzRMd01DUW0wdVBjYnVKakhYOEk4TS9QTzEzenpMWEtTRDhYdVAzQ2VFL1BNaW5YeVVDZGNoZUc3aDNDKzZFZENmYk9BSU44TFFqNC9zaXpZT0pHSER6SXYvWkxxUzUzTXJQTTk2NWZTRW0vZ0NJejJxMDdvT1FITjFpNGJITDRWNzRIREx3S0p3Ry9RT3Q3dmRldllVNUxBOHJHZmJ4T1U3U0I1RmtzRXpxRXVPTW5MZmtMUENNZ1JEalRiK1dXL2RETEhrbnVKUkRWaDJHNnNWeU1tbmhEUUhOdmRCZXNudzJ1SmZJcnZCYXhnSFVnNHdvdXg0NEpid1p4SllVNHNFUExGbDNNcEthT2hZWjU3TVl1bTRFYklnUU1IRmtJaExvTWhycmdRdUhyZnZuM3QwU2hodFN0dlYxQVJqRWJIZUpEdkEwZ3YySkxtblFKNU1Vd0VMcUE0L2wwaGsxcnpKcUE1alo3MVBwbkpIQ1lGUXBZTkF0YWE5Y0c4cHZmblpibk1laCsvNFJEeWhVeUFzTVdUQTZnUHJzdTNQcGlYQmVTWFZVajRYOEpPdk1qWENvR25zSWpBODI0MWNrMUFqSFJjemMvN0lFajYrOXlpSGUvd1RaaFJmWjNiNzQ1ZEY4RXd1Y3VGZlBGbVVwNnA2MnB5dzlYcnJpd2dXcjEzUU1pN3JpUkk0S0pDQUkyU2lXZ1ZPMTRHeExFRjVFSkJRSkxXVDV3Z1lJZkFjcE1yZG1FU3p4eGJRTlQ5RnFMdTkwemlUYzB1TUYxSThVQURTVjE1NVpVS3VpcjhHNDBELzBqMXd3OC9LTFRXRkN5NEk4MFpGN3FhRk1BMDNuUDBraytCVUs5U3RiVzFodTVNUTJ1cjNpdnpvaTY0Q0RyL3lRa2NqZ2lJb3BlcnpmOExFV3ExOWpMNm54UVdKVmVUSmsxU3c0WU5NNjZ4LzRkeG41ejRreWRQcXNyS1NyVjI3VnIxN2JlNXY3WHAzcjI3bWoxN3RobzllclM2Kys2N2s2TUs1ZnI0OGVOcTQ4YU5odXpUcDArcm4zNzZTYjM1NXBzSlVvYWlsTDNRRnZ6NWgrT1BuM04xZjBjRWhGVlpCM2t6N0dVRzl4VC9NRFY0OEdCMTIyMjNxYmx6NXlvczJHMVl1bHdhVkZkWHEvSGp4eXQwRjlnR1pieWJObTFTK09QWmhndno0WGZmZmFmV3JWdW5xcXFxMUtGRGh4eGI5Z0IxZmdNNDM1ZExYazRDSWhQS1lmMytnNGdLSGpmT3BZeVQ1NWdVcVVhTkdxV1dMVnRtRUk5a2RPcFlqQTBkT2xSaEtwSHRLM2ZlZWFkYXY1NWZrT3J2c1BtT2V2enh4OVhtelpzVnF4b2F1Zk93Z3IrQ1RyYkxCVHZKUFhZNmEwRStXcVFwVTZhb1YxNTVSVjEvL2ZYS0RmbVlNUmc0ZDJRcFdIK01pbU1kbFhqTW1qVkxzZXFna1NObnlCMWJaMHRBcmtZUDZ6ZkxOb2FBSHJLK3grS3pvcUxDc0dJQmlZMkVtRjY5ZXFsRml4WVpmMDQyd25SeDVBNDVaS2VQTFFGaENlYmpaUzFXbzZmRlc3QmdnYnIyMm12dDBsTzB6N0Rob1ZxNGNLRzY5ZFpiZGNLZ284bWhyRHBsSlNBM2dRR0R1UTlINkk0dDJ4ZGVlTUVvZGtOWFJtTUZzQ0M1bWpObmppSmV1amh5aUZ6S3BrOVdBcUsrOUJoZTBtSVRtSmt6WjZveFk4WmtTNFA0SnlIQUJoVHJnNnl5YU9KS1RTNWxWQ2NqQWJuM0dwZzdKK01iQVh1dVdiTkdQZkRBQXdGTGphNDRFbzkvV0ZnZGJSSkJMcEZUbVJUS1NFQnUvSWZBV3V5OU5uMzZkRFZreUpCTXVvdGZGZ1RZT1kvOWtiTThEY1c3ajhtcE5zSXpFaEQ5TjlwODQ0R04rTm9vTFI3MkNBd1lNRUJObmp6WlVlZThmVXplUGMzR3FUWUU1SDY3TUpuY0pFWmNoQkVZTkdpUVZ2MkM1QlM1bFE1cEd3S2k1L29lQk5Lbk15bGRZN2wzaE1DTUdUTjA2N0xxWkhJclJmODJCQVJUdGVoNFR0RlNibHdqd0ZFaWpWckNodjdnVnB1cVhRb0JPZXNGSVVlNVRxMjhJQWc0UStCbWsyT0owQ2tFQkVPbkpwN0loU0RnQXdMcEhFc2hJRm9xdC9zZ1U2SVVCQklJcEhNc1FVRDBHM1VHTzI5SmhJemhCUWZxM2M2Z2lTRU1vU2FKSENQWExDVVNCTVM4TXRiOStOMkhWbzd6Lzd4eW5FV2NhektxVjdJa25xd0lkREc1WmdSSVhraHliTlpYUW55d2E5Y3VvejhyM1hMQmxEdWEyMGZWR2ZiRER6OVVMNy84c2pFbk1NVGtpT2hMQ0pCcm4vTXlRVUNZUmkwSk9HN2NPS1BZdExvVW9LZEJLSXVBdkU5MzFqUDY4NXFPSC9PSTlUT2dDUDNINUZvRkZURUlpT2s3M2ZEaHpzalFOY3VnQUdjeGk0c1hBaURnU0hMdTJMRmpqVVlkc0w2K2ZqU1M2RjFsSzE1NFNXcThSNkNqeWJsTDYvcUJrVGQ0TDBOaUZBU3lJMkJ4enJDQUNEWXNlMUI1SWdqNGdvREJPU0dnTDloS3BBNFFFQUk2QUVtQytJZkFKUUtXbFpYMWhZdzI4N1Q4a3lzeEN3SUdBcjNKdlhibzVwRDZuekFpRkFUSXZRNW9qV2hOUUg3bnl1RTRybFlGWFEyZzJMbWN2UHBWTnZTU3cyTkxBV01ObFNpdGVwQXRYWEh4Si9lMEorRDc3Nzl2RUxCUTBFbkFSeDU1UkczYnRxM1FxT1I5anhBZ0Fiazl1OVlyM2VkYVNNZ3BGdnl5N3FXWFh0SjZ4U3VuYVlsTE9IS3ZIWXF6c3Jna0tGYzYrdmJ0SzlPeGNvRVU0SE55ai8yQVJVTkExdi93cndzUVloR1ZBNEV5RnNGRlE4QWNZTWpqZ0JFZzkyZ0J0VnBVTG1BTVJGeTRDSFF2cWpwZ3VGaUw5SFFFakRxZ0ZNSHBzTWg5VUFoWVJiRFVBWU5DWE9Ta0kyRFVBZE05NVY0UUNBd0JOa0lhQXBNbWdnU0JWQVFhMkFnUkFxYUNJbmNCSVVEdXNSOVFDQmdRNENJbUZRRnlUNHJnVkV6a0xsZ0VwQWdPRm0rUmxveUFVUVREUTRyZ1pGVGtPa2dFakRyZzZTQWxpaXhCd0VMQXFBUENETlphSG5FL2MyWjEraG96bWRJTVRESjVSODdQV3M1RVY4V0JjeDI3WWZicXFpRDF3bDVqbnFpSGY1dGF1WEtsby9WaEdocWlYeXZac0dHRDJyOS92eWZZK1JVSnVkZEJkd0p5U2o0M1hVbTNYQ1FVZE0rSmpSV0dxMk90V2JQRzBlcFluMy8rdWJINUh6ZXN0dDZudkNnNDZzdmQ0UmN2WHF4T25EaWh0Y3JRZFc4SlA0M0Q2dVYxV21zSzVkd1MwQ0tNOVY0K2sxR1ptWHpmaWt0M2pLZ2ZkYzRucldHa0RldEY5ek5NQ0ZZTy9RVUt5TGZCWWVSQzhjbzhnZVh5K3JBam1rN3JldUFsRmVVM1pnZ1luQk1DeGl4WEk1UWNJV0NFTWl1T3F2NmZnS2k0N294akNpVk4raUpnY2M0b2dySGQreGRRdFZWZmRVV3ptQ0hRYW5MdTBncXBYS3NYalB3cVpvbVU1R2lLQUxsR3psRTlxeEhDL3FNdG11b3Jhc1VNZ1dTdUpiWnBRQnBKd0FXNnBYWEtsQ25LMnVFSWlodnF1ZWtZdGpxaXYvbm1HN1Zueng1anU0WmNhYVFjRkJGcXpKZ3h4aDRsdkhlN3FwYlZnZjNKSjUrbzQ4ZVBPNUxMc2R2Qmd3ZXJrU1B6MjdDQWV2S2d2QzFidGpnYWRzeUZoVS9QRThZdU1aYkY3Wk13aEhNU0FyMFpmUFZJOCtibTVzUndXQ0ZSSGpseVJNMmRPOWZZc0NZWGdmdjE2MmNNWmMyZVBic1FrY2E3bjMzMm1abzNiNTc2L3Z2dmM4YTFZTUVDTlczYU5EVjA2TkNjWWUwQ2NFK1VwNTkrV3IzNjZxdUsrR25temx4MTFWVzlhbXBxV3FoWGdvQzh3ZERJSjhnY3JUWXNyS3VyVTlocG0rb1Y3QTRjT0tCR2pCaWhNUFJvRzllRUNSUFVPKys4WXh2R3pVTVM0ZEZISDdWOWhUTjFObTNhcE1hT0hXc2J6dWxEN3EvQ3NXenVOS1dUZzRYK0ZQaVBzM1JLMUFIcEFmSjlhajJJNDVremE2d2kyUzU5WHU1UFJ6bGR1M2ExRTJjOG8xNWVic3JEQlQxNTZPYlNPWlpDUUxCemcyNEtlNmtQaTE0ZVFUc245VWMvZEFzanJibXdUZWRZQ2dGaEd2Y2hndTI1SXBIbmdrQ2VDR3czT1paNFBZV0E5QVZEWDA4OGxRdFBFQUNtbnNRVDlVZ3ljYXNOQWRFUVdZK0VubzE2WW5YU1A2eWkwRWw5TjBDY3pwcmNTaEhaaG9DblRwMDZBYWErbHhKS2JncEN3SWtGOUxvT1dGMWRyWDcrK2VlQzlQYnlaWEtLM0VxUHN3MEJHUUJnU0RHY2psVEU3ci8rK211dENKaU5VeGtKT0h6NDhNM0FtN09rUTNkT3JFZm9TbXFtUUdOam85cTllN2RxYmRWbWZza3ZKcWZhSUpXUmdEdDI3R2hGeHE5dUV6b0VEL2JrczJkZm5ITUVqaDQ5cXZneGx5Nk9YQ0tuTXVtVGtZQU1pRTdNRjNFS2ZSem5wcHR1VWl0V3JNaWt1L2hsUVFERFhBcjFyU3hQQS9kdU5ybVVVWEJXQXNLTUh3TnpWMlY4SzBCUFZxU3JxcW9VcHU4RUtEVzZvbGowUHZmY2M5cU1BWk5ENUZJMlJMTVNrQytnR2I4RXA0eW1NMXVFZnZpelFzM0JkWEc1RWVDZmRlZE9iU2E0dDVvY3lxcTRMUUd4VGRhUFlIQmwxcmNEZXNDaHJJOCsra2h0M3k2RE5IYVFjeldFeXNwS2JSb2Y1QTQ1WktlekxRSE5GNS9IT2ZSV1FHMXRyZUxjUUpMUXlkaXFYYUxqK0d6anhvMnFvcUpDcDY0WGNvYmNzWFU1Q1lpeHV4ckVVR1ViUzBBUHVkVEV2ZmZlcStiUG42Kzgyc1F3SU5WOUZmUFdXMitwSjU1NFFySHhvWkdyTXJsanExSk9Bdkp0bU5JS25Pd24wZG1LOGU0aEd5V3JWNjlXRHovOHNPSmN3V0ozWEFPR2N3MFBIanlvRXhRdEptZHk2dVJvd2hobk1KU1dsaTVGMGZkTXpoZ0RDTkRVMUtUZWZ2dHRZLzlmTGx6a3BNT1Y0NkpPVjczaXZEeGFXQ3dkVVhCcXVuZnY3dGhhTTEyVTZjYTZ2L2JhYTlyOUVZSDFVdlRmY21aVlR1ZDRtc2JBZ1FPN3dPTDhHME1xMStTTVZRSVVMUUt3ZkFmeFNjT3ZEeDgrZk1ZSkNJNEp5TWd3bStFT0VQQmRKeEZMbU9KRUFBU2NpQkxUOFdRV1IzVkFDMHBHREFFYnJYczVDd0xKQ0pBYmJzakhkMTFaUUw2QXV1RFZxQXZ1d1dYdUR4MzRncmhpUWFBSmRiL3JVUGM3NUNiQjdkMEVabGhVMFArTDcxY3Y0REx4WlpQYk9DUjhMQkZZQU92SFdWU3VuS3NpMklwNTh1VEpTMkZ1dDFyM2NpNXVCTWdGY2lJZkZGd1h3WllRZkdwNEJhWko3VUtqNURMTFQ4N0Zod0RJVjRzU2NRUzZrSTdtay9xOExDQUZtUUpuNHBMRnNiamlSSUI1UHpOZjhoRXkxM1hBWkp4aEFRL2dJKzVPc0lKamt2M2x1amdRUUtQak9kVDdWaFdTMnJ3dG9DVjA0c1NKRlRERDI2eDdPUmNIQXN4ejVuMmhxYzI3RHBnc0dQWEJBV1o5c0YreXYxekhFd0dRcjg2czl4MHBOSVVGVzBBcWdEckFFWmpqaWJ3c1ZDRjVYM3NFMk44M2tYbnVoYWFlRUpDS1lBRDlLL3d6cHVMeW5CZUtTUnhhSW5DT2VjeTg5a3E3Z2hvaDZVcWdHSzVCbytRZ0dpVjM0WmtueFh1NkRMa1BEWUdMc0h4L1FLUGpuMTVxNENrQnFSaEdTcjdGVjFEYzdlKzNYaW9xY1lXTEFDemZIMEcrdjN1dGhlY0VwSUt3aE50QndtNjRITzIxd2hKZjhBaUFmRXRCdmovN0lkbTNZaExGY0FrbUxxekUrVUUvRkpjNGcwRUE1RnVGQ1FZUDRlekx3b3FlTlVMUzRhRENwdUo1alJHbXh5ZjN3U05BeStjbitaZ2kzeXhnTWx5WXlQb1lMT0ZmZzVLWExGdXU4MExnSXNqSE9oOVh4L0RWK1ZJSFROZVlkVUswanZlRGhKUHd6RGVybXk1WDd2TkM0SnpaMnZXOHdaRkptMEFzb0NVWWxuQUNTTWgxcUdVeXF3V0tYdWNtV0w2cHNIeUJyV3dVS0FHSk5WYXFINGtaMWUrQ2lESnNweEg1UUx3NmpuQjQyY25zSkhtQkY0ZE1JTWNSa2VCdFRoU1VNUDRqd0x4Z25nUk5QcVlzY0FKU0tNY1JKMDJhTkJiL3VNVzRsZm1FQkNVY2Q0RjV3THp3YW16WGJUSUNMNExURlVTOWNEejgxcUpJbHBuVjZlRDRlQStyVjR2b1o2Sys5N0dQWW5KR0hZb0ZUTmFLQUpoRjh0WmtmN24yRHdHUWJ5c3hENXQ4VEdIb0JLUVNNUDlIVVF6d0s3dW5lRXMvY2I0Z1FHeWZJdGJFM0JjSkxpTU52UWhPMTVmZkhhTTRYbzZEZlliaVBFSUFWbThUam5sdXY5djFTSHpXYUxRam9LVXBsd0hCTllsNGplVW5aL2NJZ0hSY05tc2VpbHZIeTJXNGw1TC9HMW9Vd1puVUoyQmM1QWF0dEVWNFh2Z3lWWm1FeE51dmhkZ1JRMTNKUi9pMXRZREozSUExSEFKTCtDejhwdU1JWlBnd1dYN0Vycmt5YVJVc1h3V0k1MmlKdEREVEZ3a0NXZ0NCaU9XNGZoSmtuSVZ6Ujh0ZnpnWUMzTnVsRWxmUGczZzFVY0VrVWdTMFFNVnczaUFNNTgwSEVUblhzTlR5TDlKek00aTNDc1h0RW94ay9CZzFEQ0pKUUF0a3JJN2FINThBY0tyWEhQajFzZnlMNVB3TGlMZWFtOERZN2NPaE94YmFOa0tjQUVmZ1VkdzhnWDNJcmtENHU1QWgvR0FtemcyV3MyWWE3MkthbWZZb2s0OTVIR2tMeUFTa3V4NDlldlJHeHR4ajFoTkhwVCtQNkgwMWlGZUpPdkQ2VEZ1ZVJqUk5odHF4STJCeVpwaXQ1Nm5Jdk50QnlGdndyRXZ5YzQydnowRG5MNkh6cHpodndCOUsrOVpzdmxqR21vREpvSlNYbDNmR3d0bTBpR09Sc1R4RzRscVhsalJic1B5d2Z3dDAyb0lGNGF1eDUwZExzdjV4dlM0YUFxWm5ZUC8rL2J2VjE5ZVBCaEZ2d0xOaFNVZnY5TEFlMzU5QWZIdXRBNlRiMmJObnp5K3dHV09qeDNJaUVWM1JFakJiN3BTVmxmVkZ5M29ZaUdrZGw0RWtaUWhmQmorZXUvUGV2T1k5WFFQOEd1REhEL0pQODVwK3ZNZDFMWTY5UE5CaTNZdTlTbzd6QlhHWEVQZ2YzMGh2S1ZTYUk5a0FBQUFBU1VWT1JLNUNZSUk9Iix0aGlzLl9yZWFkeVN0YXRlPXIuV2FsbGV0UmVhZHlTdGF0ZS5Mb2FkaW5nLHRoaXMuX3N0YXRlPXIuQWRhcHRlclN0YXRlLk5vdEZvdW5kLHRoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fYWRkcmVzcz1udWxsLHRoaXMuY29uZmlnPWUsdGhpcy5fd2FsbGV0PW5ldyBvLkxlZGdlcldhbGxldChlKSxnbG9iYWxUaGlzLm5hdmlnYXRvciYmZ2xvYmFsVGhpcy5uYXZpZ2F0b3IuaGlkPyh0aGlzLl9yZWFkeVN0YXRlPXIuV2FsbGV0UmVhZHlTdGF0ZS5Gb3VuZCx0aGlzLl9zdGF0ZT1yLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0KTp0aGlzLl9yZWFkeVN0YXRlPXIuV2FsbGV0UmVhZHlTdGF0ZS5Ob3RGb3VuZH1nZXQgYWRkcmVzcygpe3JldHVybiB0aGlzLl9hZGRyZXNzfWdldCBzdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZX1nZXQgY29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWdldCByZWFkeVN0YXRlKCl7cmV0dXJuIHRoaXMuX3JlYWR5U3RhdGV9Z2V0IGxlZGdlclV0aWxzKCl7cmV0dXJue2dldEFjY291bnRzOnRoaXMuX3dhbGxldC5nZXRBY2NvdW50cyxnZXRBZGRyZXNzOnRoaXMuX3dhbGxldC5nZXRBZGRyZXNzfX1jb25uZWN0KGUpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2lmKHRoaXMuY29ubmVjdGVkfHx0aGlzLmNvbm5lY3RpbmcpcmV0dXJuO2lmKHRoaXMuc3RhdGU9PT1yLkFkYXB0ZXJTdGF0ZS5Ob3RGb3VuZCl0aHJvdyExIT09dGhpcy5jb25maWcub3BlblVybFdoZW5XYWxsZXROb3RGb3VuZCYmKDAsci5pc0luQnJvd3NlcikoKSYmd2luZG93Lm9wZW4odGhpcy51cmwsIl9ibGFuayIpLG5ldyByLldhbGxldE5vdEZvdW5kRXJyb3I7dGhpcy5fY29ubmVjdGluZz0hMDt0cnl7eWllbGQgdGhpcy5fd2FsbGV0LmNvbm5lY3QoZSl9Y2F0Y2goZSl7dGhyb3cgbmV3IHIuV2FsbGV0Q29ubmVjdGlvbkVycm9yKGAke2UubWVzc2FnZX0uYCl9dGhpcy5fYWRkcmVzcz10aGlzLl93YWxsZXQuYWRkcmVzcyx0aGlzLl9zdGF0ZT1yLkFkYXB0ZXJTdGF0ZS5Db25uZWN0ZWQsdGhpcy5lbWl0KCJjb25uZWN0Iix0aGlzLmFkZHJlc3N8fCIiKSx0aGlzLmVtaXQoInN0YXRlQ2hhbmdlZCIsdGhpcy5fc3RhdGUpfWNhdGNoKGUpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLGUpLGV9ZmluYWxseXt0aGlzLl9jb25uZWN0aW5nPSExfX0pKX1kaXNjb25uZWN0KCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZih0aGlzLnN0YXRlPT09ci5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKXRyeXt0aGlzLl93YWxsZXQuZGlzY29ubmVjdCgpLHRoaXMuX3N0YXRlPXIuQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QsdGhpcy5fYWRkcmVzcz1udWxsLHRoaXMuZW1pdCgiZGlzY29ubmVjdCIpLHRoaXMuZW1pdCgic3RhdGVDaGFuZ2VkIix0aGlzLl9zdGF0ZSl9Y2F0Y2goZSl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsZSksbmV3IHIuV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yKGUubWVzc2FnZSl9fSkpfXNpZ25UcmFuc2FjdGlvbihlKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtpZih0aGlzLnN0YXRlIT09ci5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKXRocm93IG5ldyByLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO3RyeXtyZXR1cm4geWllbGQgdGhpcy5fd2FsbGV0LnNpZ25UcmFuc2FjdGlvbihlKX1jYXRjaChlKXt0aHJvdyBuZXcgci5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcihlLm1lc3NhZ2UpfX1jYXRjaChlKXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIixlKSxlfX0pKX1zaWduTWVzc2FnZShlKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtpZih0aGlzLnN0YXRlIT09ci5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkKXRocm93IG5ldyByLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO3RyeXtyZXR1cm4geWllbGQgdGhpcy5fd2FsbGV0LnNpZ25QZXJzb25hbE1lc3NhZ2UoZSl9Y2F0Y2goZSl7dGhyb3cgbmV3IHIuV2FsbGV0U2lnbk1lc3NhZ2VFcnJvcihudWxsPT1lP3ZvaWQgMDplLm1lc3NhZ2UsZSl9fWNhdGNoKGUpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLGUpLGV9fSkpfX10LkxlZGdlckFkYXB0ZXI9aX0oaWUpLGZ1bmN0aW9uKHQpe3ZhciBuPWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQsbixyKXt2b2lkIDA9PT1yJiYocj1uKTt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7byYmISgiZ2V0ImluIG8/IXQuX19lc01vZHVsZTpvLndyaXRhYmxlfHxvLmNvbmZpZ3VyYWJsZSl8fChvPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsbyl9OmZ1bmN0aW9uKGUsdCxuLHIpe3ZvaWQgMD09PXImJihyPW4pLGVbcl09dFtuXX0pLHI9ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIGUpImRlZmF1bHQiPT09cnx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscil8fG4odCxlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscihpZSx0KSxyKGRzLHQpfShyKSx0KHIpfSkpOwo="}},"time_used":13,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":12,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"orangerosehamburg.com/files/tronwallet-adapter-walletconnect/lib/umd/index.js","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.649Z","timestamp":1785140382649,"http_version":"HTTP/3","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":"orangerosehamburg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Jul 2026 04:01:40 GMT","end":"Mon, 05 Oct 2026 05:00:08 GMT"},"fingerprint":{"sha1":"0E:20:A6:BB:D6:C3:9A:0A:E1:5A:F3:79:45:1E:34:E1:F9:91:32:3D","sha256":"17:4A:A7:99:F6:38:19:32:B9:BE:7D:C9:ED:7C:5C:D4:F8:82:07:5A:C4:F4:09:DD:A7:04:92:5C:0F:AC:27:BE"}}},"request":{"raw":"GET /files/tronwallet-adapter-walletconnect/lib/umd/index.js HTTP/1.1\r\nHost: orangerosehamburg.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: application/javascript\r\netag: W/\"699045d9-7433a\"\r\npriority: u=3,i=?0\r\nlast-modified: Sat, 14 Feb 2026 09:52:25 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nexpires: Mon, 27 Jul 2026 09:19:42 GMT\r\ncache-control: public, max-age=14400, immutable\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=pkBZ2NN8nB96zyJmPyaElCMIy34UJo7dAUP2iiJMhOZxesD0ZcIAgcLT06SBb04l7PQhp%2BJWBuz65ZhllZCyyvedP1bQNXNJd%2FQGklNk1nZbWsVoMjg1rGGL6j3iGLlawiqGCm3B3T4%3D\"}]}\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\ncf-ray: a21a387f9839723c-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]}],"data":{"size":475962,"size_decoded":147750,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"9414e5d455ff6ecd455430bf86b240c2","sha1":"8abf6ede9de08257728d808f7b54f270febfa45e","sha256":"0b1a36787e79f8bb0b46c0beb6ec8eae9ca526593623178e787b178aab720a1c","sha512":"966183cbf2f411b640d2b3cac24cb5a2b90deb2a7e8948a7f04de5e738d12448c5714dceb777389d3d1a33af178317ad4a7db96fb274051171592d836758b467","ssdeep":"6144:5S8OglnAKs7CbTv7/EDYzA8BciAaYjMUXSfT3LMDzegPTKuwhFIK0iD/bC:Yh4hf8Dzj7VwhFIG/e","tlshash":"13a46dd47360b12a539343aa417f000bf3387865580d456cb26cd9eba4e99edd6bbf38","first_seen":"2025-06-29T04:43:04.402452Z","last_seen":"2026-07-27T11:57:52.213411Z","times_seen":260,"resource_available":true,"data":"IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KHJlcXVpcmUoIkB3YWxsZXRjb25uZWN0L3NpZ24tY2xpZW50IikpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiQHdhbGxldGNvbm5lY3Qvc2lnbi1jbGllbnQiXSx0KTooZT0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczplfHxzZWxmKVsiQHRyb253ZWIzL3Ryb253YWxsZXQtYWRhcHRlci13YWxsZXRjb25uZWN0Il09dChlWyJAd2FsbGV0Y29ubmVjdC9zaWduLWNsaWVudCJdKX0odGhpcyxmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQsbixyLGksbyxhLHMsbCwkLGMsaCx1LGQsXyxmLHAsZyxtLHcsdixiLHkseCxFLEMsRCxrLEEsSSxULFMsTD0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9O2Z1bmN0aW9uIE4oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImRlZmF1bHQiKT9lLmRlZmF1bHQ6ZX1mdW5jdGlvbiBPKGUpe2lmKGUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD1lLmRlZmF1bHQ7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBuPWZ1bmN0aW9uIGUoKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGU/UmVmbGVjdC5jb25zdHJ1Y3QodCxhcmd1bWVudHMsdGhpcy5jb25zdHJ1Y3Rvcik6dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O24ucHJvdG90eXBlPXQucHJvdG90eXBlfWVsc2Ugbj17fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHQsci5nZXQ/cjp7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX19KX0pLG59dmFyIE09e30sUD17fSxSPXt9LFU9e30sQj17ZXhwb3J0czp7fX07IWZ1bmN0aW9uKGUpe3ZhciB0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbj0ifiI7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBpKGUsdCxuKXt0aGlzLmZuPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5vbmNlPW58fCExfWZ1bmN0aW9uIG8oZSx0LHIsbyxhKXtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBUeXBlRXJyb3IoIlRoZSBsaXN0ZW5lciBtdXN0IGJlIGEgZnVuY3Rpb24iKTt2YXIgcz1uZXcgaShyLG98fGUsYSksbD1uP24rdDp0O3JldHVybiBlLl9ldmVudHNbbF0/ZS5fZXZlbnRzW2xdLmZuP2UuX2V2ZW50c1tsXT1bZS5fZXZlbnRzW2xdLHNdOmUuX2V2ZW50c1tsXS5wdXNoKHMpOihlLl9ldmVudHNbbF09cyxlLl9ldmVudHNDb3VudCsrKSxlfWZ1bmN0aW9uIGEoZSx0KXswPT0tLWUuX2V2ZW50c0NvdW50P2UuX2V2ZW50cz1uZXcgcjpkZWxldGUgZS5fZXZlbnRzW3RdfWZ1bmN0aW9uIHMoKXt0aGlzLl9ldmVudHM9bmV3IHIsdGhpcy5fZXZlbnRzQ291bnQ9MH1PYmplY3QuY3JlYXRlJiYoci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShudWxsKSxuZXcgcigpLl9fcHJvdG9fX3x8KG49ITEpKSxzLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uIGUoKXt2YXIgcixpLG89W107aWYoMD09PXRoaXMuX2V2ZW50c0NvdW50KXJldHVybiBvO2ZvcihpIGluIHI9dGhpcy5fZXZlbnRzKXQuY2FsbChyLGkpJiZvLnB1c2gobj9pLnNsaWNlKDEpOmkpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP28uY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocikpOm99LHMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbiBlKHQpe3ZhciByPW4/bit0OnQsaT10aGlzLl9ldmVudHNbcl07aWYoIWkpcmV0dXJuW107aWYoaS5mbilyZXR1cm5baS5mbl07Zm9yKHZhciBvPTAsYT1pLmxlbmd0aCxzPUFycmF5KGEpO288YTtvKyspc1tvXT1pW29dLmZuO3JldHVybiBzfSxzLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PWZ1bmN0aW9uIGUodCl7dmFyIHI9bj9uK3Q6dCxpPXRoaXMuX2V2ZW50c1tyXTtyZXR1cm4gaT9pLmZuPzE6aS5sZW5ndGg6MH0scy5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbiBlKHQscixpLG8sYSxzKXt2YXIgbD1uP24rdDp0O2lmKCF0aGlzLl9ldmVudHNbbF0pcmV0dXJuITE7dmFyICQsYyxoPXRoaXMuX2V2ZW50c1tsXSx1PWFyZ3VtZW50cy5sZW5ndGg7aWYoaC5mbil7c3dpdGNoKGgub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcih0LGguZm4sdm9pZCAwLCEwKSx1KXtjYXNlIDE6cmV0dXJuIGguZm4uY2FsbChoLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gaC5mbi5jYWxsKGguY29udGV4dCxyKSwhMDtjYXNlIDM6cmV0dXJuIGguZm4uY2FsbChoLmNvbnRleHQscixpKSwhMDtjYXNlIDQ6cmV0dXJuIGguZm4uY2FsbChoLmNvbnRleHQscixpLG8pLCEwO2Nhc2UgNTpyZXR1cm4gaC5mbi5jYWxsKGguY29udGV4dCxyLGksbyxhKSwhMDtjYXNlIDY6cmV0dXJuIGguZm4uY2FsbChoLmNvbnRleHQscixpLG8sYSxzKSwhMH1mb3IoYz0xLCQ9QXJyYXkodS0xKTtjPHU7YysrKSRbYy0xXT1hcmd1bWVudHNbY107aC5mbi5hcHBseShoLmNvbnRleHQsJCl9ZWxzZXt2YXIgZCxfPWgubGVuZ3RoO2ZvcihjPTA7YzxfO2MrKylzd2l0Y2goaFtjXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKHQsaFtjXS5mbix2b2lkIDAsITApLHUpe2Nhc2UgMTpoW2NdLmZuLmNhbGwoaFtjXS5jb250ZXh0KTticmVhaztjYXNlIDI6aFtjXS5mbi5jYWxsKGhbY10uY29udGV4dCxyKTticmVhaztjYXNlIDM6aFtjXS5mbi5jYWxsKGhbY10uY29udGV4dCxyLGkpO2JyZWFrO2Nhc2UgNDpoW2NdLmZuLmNhbGwoaFtjXS5jb250ZXh0LHIsaSxvKTticmVhaztkZWZhdWx0OmlmKCEkKWZvcihkPTEsJD1BcnJheSh1LTEpO2Q8dTtkKyspJFtkLTFdPWFyZ3VtZW50c1tkXTtoW2NdLmZuLmFwcGx5KGhbY10uY29udGV4dCwkKX19cmV0dXJuITB9LHMucHJvdG90eXBlLm9uPWZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiBvKHRoaXMsdCxuLHIsITEpfSxzLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiBvKHRoaXMsdCxuLHIsITApfSxzLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbiBlKHQscixpLG8pe3ZhciBzPW4/bit0OnQ7aWYoIXRoaXMuX2V2ZW50c1tzXSlyZXR1cm4gdGhpcztpZighcilyZXR1cm4gYSh0aGlzLHMpLHRoaXM7dmFyIGw9dGhpcy5fZXZlbnRzW3NdO2lmKGwuZm4pbC5mbiE9PXJ8fG8mJiFsLm9uY2V8fGkmJmwuY29udGV4dCE9PWl8fGEodGhpcyxzKTtlbHNle2Zvcih2YXIgJD0wLGM9W10saD1sLmxlbmd0aDskPGg7JCsrKShsWyRdLmZuIT09cnx8byYmIWxbJF0ub25jZXx8aSYmbFskXS5jb250ZXh0IT09aSkmJmMucHVzaChsWyRdKTtjLmxlbmd0aD90aGlzLl9ldmVudHNbc109MT09PWMubGVuZ3RoP2NbMF06YzphKHRoaXMscyl9cmV0dXJuIHRoaXN9LHMucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbiBlKHQpe3ZhciBpO3JldHVybiB0PyhpPW4/bit0OnQsdGhpcy5fZXZlbnRzW2ldJiZhKHRoaXMsaSkpOih0aGlzLl9ldmVudHM9bmV3IHIsdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30scy5wcm90b3R5cGUub2ZmPXMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLHMucHJvdG90eXBlLmFkZExpc3RlbmVyPXMucHJvdG90eXBlLm9uLHMucHJlZml4ZWQ9bixzLkV2ZW50RW1pdHRlcj1zLGUuZXhwb3J0cz1zfShCKTt2YXIgVz1CLmV4cG9ydHM7IWZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPUwmJkwuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLkFkYXB0ZXI9ZS5BZGFwdGVyU3RhdGU9ZS5XYWxsZXRSZWFkeVN0YXRlPWUuRXZlbnRFbWl0dGVyPXZvaWQgMDtsZXQgbz1pKFcpO2UuRXZlbnRFbWl0dGVyPW8uZGVmYXVsdCwodD1lLldhbGxldFJlYWR5U3RhdGV8fChlLldhbGxldFJlYWR5U3RhdGU9e30pKS5Mb2FkaW5nPSJMb2FkaW5nIix0Lk5vdEZvdW5kPSJOb3RGb3VuZCIsdC5Gb3VuZD0iRm91bmQiLChuPXI9ZS5BZGFwdGVyU3RhdGV8fChlLkFkYXB0ZXJTdGF0ZT17fSkpLkxvYWRpbmc9IkxvYWRpbmciLG4uTm90Rm91bmQ9Ik5vdEZvdW5kIixuLkRpc2Nvbm5lY3Q9IkRpc2Nvbm5lY3RlZCIsbi5Db25uZWN0ZWQ9IkNvbm5lY3RlZCI7Y2xhc3MgYSBleHRlbmRzIG8uZGVmYXVsdHtnZXQgY29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT1yLkNvbm5lY3RlZH1kaXNjb25uZWN0KCl7cmV0dXJuIGNvbnNvbGUuaW5mbygiVGhlIGN1cnJlbnQgYWRhcHRlciBkb2Vzbid0IHN1cHBvcnQgZGlzY29ubmVjdCBieSBEQXBwLiIpLFByb21pc2UucmVzb2x2ZSgpfW11bHRpU2lnbiguLi5lKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoIlRoZSBjdXJyZW50IHdhbGxldCBkb2Vzbid0IHN1cHBvcnQgbXVsdGlTaWduLiIpfXN3aXRjaENoYWluKGUpe3JldHVybiBQcm9taXNlLnJlamVjdCgiVGhlIGN1cnJlbnQgd2FsbGV0IGRvZXNuJ3Qgc3VwcG9ydCBzd2l0Y2ggY2hhaW4uIil9fWUuQWRhcHRlcj1hfShVKTt2YXIgRj17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksRi5XYWxsZXRHZXROZXR3b3JrRXJyb3I9Ri5XYWxsZXRTd2l0Y2hDaGFpbkVycm9yPUYuV2FsbGV0V2luZG93Q2xvc2VkRXJyb3I9Ri5XYWxsZXRXYWxsZXRMb2FkRXJyb3I9Ri5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcj1GLldhbGxldFNpZ25NZXNzYWdlRXJyb3I9Ri5XYWxsZXREaXNjb25uZWN0aW9uRXJyb3I9Ri5XYWxsZXRDb25uZWN0aW9uRXJyb3I9Ri5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcj1GLldhbGxldE5vdFNlbGVjdGVkRXJyb3I9Ri5XYWxsZXROb3RGb3VuZEVycm9yPUYuV2FsbGV0RXJyb3I9dm9pZCAwO2NsYXNzIHogZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUpLHRoaXMuZXJyb3I9dH19Ri5XYWxsZXRFcnJvcj16LEYuV2FsbGV0Tm90Rm91bmRFcnJvcj1jbGFzcyBlIGV4dGVuZHMgentjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXROb3RGb3VuZEVycm9yIix0aGlzLm1lc3NhZ2U9IlRoZSB3YWxsZXQgaXMgbm90IGZvdW5kLiJ9fSxGLldhbGxldE5vdFNlbGVjdGVkRXJyb3I9Y2xhc3MgZSBleHRlbmRzIHp7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0Tm90U2VsZWN0ZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJObyB3YWxsZXQgaXMgc2VsZWN0ZWQuIFBsZWFzZSBzZWxlY3QgYSB3YWxsZXQuIn19LEYuV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I9Y2xhc3MgZSBleHRlbmRzIHp7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0RGlzY29ubmVjdGVkRXJyb3IiLHRoaXMubWVzc2FnZT0iVGhlIHdhbGxldCBpcyBkaXNjb25uZWN0ZWQuIFBsZWFzZSBjb25uZWN0IGZpcnN0LiJ9fSxGLldhbGxldENvbm5lY3Rpb25FcnJvcj1jbGFzcyBlIGV4dGVuZHMgentjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRDb25uZWN0aW9uRXJyb3IifX0sRi5XYWxsZXREaXNjb25uZWN0aW9uRXJyb3I9Y2xhc3MgZSBleHRlbmRzIHp7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yIn19LEYuV2FsbGV0U2lnbk1lc3NhZ2VFcnJvcj1jbGFzcyBlIGV4dGVuZHMgentjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRTaWduTWVzc2FnZUVycm9yIn19LEYuV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3I9Y2xhc3MgZSBleHRlbmRzIHp7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0U2lnblRyYW5zYWN0aW9uRXJyb3IifX0sRi5XYWxsZXRXYWxsZXRMb2FkRXJyb3I9Y2xhc3MgZSBleHRlbmRzIHp7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0V2FsbGV0TG9hZEVycm9yIn19LEYuV2FsbGV0V2luZG93Q2xvc2VkRXJyb3I9Y2xhc3MgZSBleHRlbmRzIHp7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iV2FsbGV0V2luZG93Q2xvc2VkRXJyb3IiLHRoaXMubWVzc2FnZT0iVGhlIFFSIHdpbmRvdyBpcyBjbG9zZWQuIn19LEYuV2FsbGV0U3dpdGNoQ2hhaW5FcnJvcj1jbGFzcyBlIGV4dGVuZHMgentjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lPSJXYWxsZXRTd2l0Y2hDaGFpbkVycm9yIn19LEYuV2FsbGV0R2V0TmV0d29ya0Vycm9yPWNsYXNzIGUgZXh0ZW5kcyB6e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IldhbGxldEdldE5ldHdvcmtFcnJvciJ9fTt2YXIgSCxqLFosWT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoSD1ZLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxILkNoYWluTmV0d29yaz1ILk5ldHdvcmtUeXBlPXZvaWQgMCwoaj1ILk5ldHdvcmtUeXBlfHwoSC5OZXR3b3JrVHlwZT17fSkpLk1haW5uZXQ9Ik1haW5uZXQiLGouU2hhc3RhPSJTaGFzdGEiLGouTmlsZT0iTmlsZSIsai5Vbmtub3duPSJVbmtub3duIiwoWj1ILkNoYWluTmV0d29ya3x8KEguQ2hhaW5OZXR3b3JrPXt9KSkuTWFpbm5ldD0iTWFpbm5ldCIsWi5TaGFzdGE9IlNoYXN0YSIsWi5OaWxlPSJOaWxlIjt2YXIgVj17fTtmdW5jdGlvbiBHKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShWLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxWLmlzSW5Nb2JpbGVCcm93c2VyPVYuY2hlY2tBZGFwdGVyU3RhdGU9Vi5pc0luQnJvd3Nlcj12b2lkIDAsVi5pc0luQnJvd3Nlcj1HLFYuY2hlY2tBZGFwdGVyU3RhdGU9ZnVuY3Rpb24gZSh0KXtpZighRygpKXJldHVybjtsZXQgbj1bXTtmdW5jdGlvbiByKCl7Zm9yKGxldCBlIG9mIG4pZSgpfWZ1bmN0aW9uIGkoKXt0KCkmJnIoKX1sZXQgbz1zZXRJbnRlcnZhbChpLDUwMCk7bi5wdXNoKCgpPT5jbGVhckludGVydmFsKG8pKSwibG9hZGluZyI9PT1kb2N1bWVudC5yZWFkeVN0YXRlJiYoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsaSx7b25jZTohMH0pLG4ucHVzaCgoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsaSkpKSwiY29tcGxldGUiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixpLHtvbmNlOiEwfSksbi5wdXNoKCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsaSkpKSxpKCksc2V0VGltZW91dChyLDZlNCl9LFYuaXNJbk1vYmlsZUJyb3dzZXI9ZnVuY3Rpb24gZSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxXaW5kb3dzIFBob25lL2kpfSx0Tz1SLHRNPUwmJkwuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQsbixyKXt2b2lkIDA9PT1yJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoImdldCJpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX06ZnVuY3Rpb24oZSx0LG4scil7dm9pZCAwPT09ciYmKHI9biksZVtyXT10W25dfSksdFA9TCYmTC5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIGUpImRlZmF1bHQiPT09bnx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbil8fHRNKHQsZSxuKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHRPLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0UChVLHRPKSx0UChGLHRPKSx0UChZLHRPKSx0UChWLHRPKTt2YXIgSz17fSxxPXt9O2xldCBRPVN5bWJvbCgpLFg9T2JqZWN0LmdldFByb3RvdHlwZU9mLEo9bmV3IFdlYWtNYXAsZWU9ZT0+ZSYmKEouaGFzKGUpP0ouZ2V0KGUpOlgoZSk9PT1PYmplY3QucHJvdG90eXBlfHxYKGUpPT09QXJyYXkucHJvdG90eXBlKSxldD1lPT5lZShlKSYmZVtRXXx8bnVsbCxlbj0oZSx0PSEwKT0+e0ouc2V0KGUsdCl9LGVyPWU9PiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUsZWk9bmV3IFdlYWtNYXAsZW89bmV3IFdlYWtTZXQsZWE9KGU9T2JqZWN0LmlzLHQ9KGUsdCk9Pm5ldyBQcm94eShlLHQpLG49ZT0+ZXIoZSkmJiFlby5oYXMoZSkmJihBcnJheS5pc0FycmF5KGUpfHwhKFN5bWJvbC5pdGVyYXRvciBpbiBlKSkmJiEoZSBpbnN0YW5jZW9mIFdlYWtNYXApJiYhKGUgaW5zdGFuY2VvZiBXZWFrU2V0KSYmIShlIGluc3RhbmNlb2YgRXJyb3IpJiYhKGUgaW5zdGFuY2VvZiBOdW1iZXIpJiYhKGUgaW5zdGFuY2VvZiBEYXRlKSYmIShlIGluc3RhbmNlb2YgU3RyaW5nKSYmIShlIGluc3RhbmNlb2YgUmVnRXhwKSYmIShlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpLHI9ZT0+e3N3aXRjaChlLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiBlLnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IGUucmVhc29uO2RlZmF1bHQ6dGhyb3cgZX19LGk9bmV3IFdlYWtNYXAsbz0oZSx0LG49cik9PntsZXQgYT1pLmdldChlKTtpZigobnVsbD09YT92b2lkIDA6YVswXSk9PT10KXJldHVybiBhWzFdO2xldCBzPUFycmF5LmlzQXJyYXkoZSk/W106T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpO3JldHVybiBlbihzLCEwKSxpLnNldChlLFt0LHNdKSxSZWZsZWN0Lm93bktleXMoZSkuZm9yRWFjaCh0PT57aWYoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLHQpKXJldHVybjtsZXQgcj1SZWZsZWN0LmdldChlLHQpLGk9e3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9O2lmKGVvLmhhcyhyKSllbihyLCExKTtlbHNlIGlmKHIgaW5zdGFuY2VvZiBQcm9taXNlKWRlbGV0ZSBpLnZhbHVlLGkuZ2V0PSgpPT5uKHIpO2Vsc2UgaWYoZWkuaGFzKHIpKXtsZXRbYSxsXT1laS5nZXQocik7aS52YWx1ZT1vKGEsbCgpLG4pfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShzLHQsaSl9KSxzfSxhPW5ldyBXZWFrTWFwLHM9WzEsMV0sbD1yPT57aWYoIWVyKHIpKXRocm93IEVycm9yKCJvYmplY3QgcmVxdWlyZWQiKTtsZXQgaT1hLmdldChyKTtpZihpKXJldHVybiBpO2xldCAkPXNbMF0sYz1uZXcgU2V0LGg9KGUsdD0rK3NbMF0pPT57JCE9PXQmJigkPXQsYy5mb3JFYWNoKG49Pm4oZSx0KSkpfSx1PXNbMV0sZD0oZT0rK3NbMV0pPT4odT09PWV8fGMuc2l6ZXx8KHU9ZSxmLmZvckVhY2goKFt0XSk9PntsZXQgbj10WzFdKGUpO24+JCYmKCQ9bil9KSksJCksXz1lPT4odCxuKT0+e2xldCByPVsuLi50XTtyWzFdPVtlLC4uLnJbMV1dLGgocixuKX0sZj1uZXcgTWFwLHA9KGUsdCk9PntpZihmLmhhcyhlKSl0aHJvdyBFcnJvcigicHJvcCBsaXN0ZW5lciBhbHJlYWR5IGV4aXN0cyIpO2lmKGMuc2l6ZSl7bGV0IG49dFszXShfKGUpKTtmLnNldChlLFt0LG5dKX1lbHNlIGYuc2V0KGUsW3RdKX0sZz1lPT57dmFyIHQ7bGV0IG49Zi5nZXQoZSk7biYmKGYuZGVsZXRlKGUpLG51bGw9PSh0PW5bMV0pfHx0LmNhbGwobikpfSxtPWU9PntjLmFkZChlKSwxPT09Yy5zaXplJiZmLmZvckVhY2goKFtlLHRdLG4pPT57aWYodCl0aHJvdyBFcnJvcigicmVtb3ZlIGFscmVhZHkgZXhpc3RzIik7bGV0IHI9ZVszXShfKG4pKTtmLnNldChuLFtlLHJdKX0pO2xldCB0PSgpPT57Yy5kZWxldGUoZSksMD09PWMuc2l6ZSYmZi5mb3JFYWNoKChbZSx0XSxuKT0+e3QmJih0KCksZi5zZXQobixbZV0pKX0pfTtyZXR1cm4gdH0sdz1BcnJheS5pc0FycmF5KHIpP1tdOk9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpKSx2PXtkZWxldGVQcm9wZXJ0eShlLHQpe2xldCBuPVJlZmxlY3QuZ2V0KGUsdCk7Zyh0KTtsZXQgcj1SZWZsZWN0LmRlbGV0ZVByb3BlcnR5KGUsdCk7cmV0dXJuIHImJmgoWyJkZWxldGUiLFt0XSxuXSkscn0sc2V0KHQscixpLG8pe2xldCBzPVJlZmxlY3QuaGFzKHQsciksJD1SZWZsZWN0LmdldCh0LHIsbyk7aWYocyYmKGUoJCxpKXx8YS5oYXMoaSkmJmUoJCxhLmdldChpKSkpKXJldHVybiEwO2cociksZXIoaSkmJihpPWV0KGkpfHxpKTtsZXQgYz1pO2lmKGkgaW5zdGFuY2VvZiBQcm9taXNlKWkudGhlbihlPT57aS5zdGF0dXM9ImZ1bGZpbGxlZCIsaS52YWx1ZT1lLGgoWyJyZXNvbHZlIixbcl0sZV0pfSkuY2F0Y2goZT0+e2kuc3RhdHVzPSJyZWplY3RlZCIsaS5yZWFzb249ZSxoKFsicmVqZWN0Iixbcl0sZV0pfSk7ZWxzZXshZWkuaGFzKGkpJiZuKGkpJiYoYz1sKGkpKTtsZXQgdT0hZW8uaGFzKGMpJiZlaS5nZXQoYyk7dSYmcChyLHUpfXJldHVybiBSZWZsZWN0LnNldCh0LHIsYyxvKSxoKFsic2V0Iixbcl0saSwkXSksITB9fSxiPXQodyx2KTthLnNldChyLGIpO2xldCB5PVt3LGQsbyxtXTtyZXR1cm4gZWkuc2V0KGIseSksUmVmbGVjdC5vd25LZXlzKHIpLmZvckVhY2goZT0+e2xldCB0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocixlKTsidmFsdWUiaW4gdCYmKGJbZV09cltlXSxkZWxldGUgdC52YWx1ZSxkZWxldGUgdC53cml0YWJsZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHcsZSx0KX0pLGJ9KT0+W2wsZWksZW8sZSx0LG4scixpLG8sYSxzXSxbZXNdPWVhKCk7ZnVuY3Rpb24gZWwoZT17fSl7cmV0dXJuIGVzKGUpfWZ1bmN0aW9uIGUkKGUsdCxuKXtsZXQgcj1laS5nZXQoZSk7cnx8Y29uc29sZS53YXJuKCJQbGVhc2UgdXNlIHByb3h5IG9iamVjdCIpO2xldCBpLG89W10sYT1yWzNdLHM9ITEsbD1lPT57aWYoby5wdXNoKGUpLG4pe3Qoby5zcGxpY2UoMCkpO3JldHVybn1pfHwoaT1Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57aT12b2lkIDAscyYmdChvLnNwbGljZSgwKSl9KSl9LCQ9YShsKTtyZXR1cm4gcz0hMCwoKT0+e3M9ITEsJCgpfX12YXIgZWM9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSxlaD1bXSxldT1bXSxlZD0idW5kZWZpbmVkIiE9dHlwZW9mIFVpbnQ4QXJyYXk/VWludDhBcnJheTpBcnJheSxlXz0hMTtmdW5jdGlvbiBlZigpe2VfPSEwO2Zvcih2YXIgZT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsdD0wLG49ZS5sZW5ndGg7dDxuOysrdCllaFt0XT1lW3RdLGV1W2UuY2hhckNvZGVBdCh0KV09dDtldVsiLSIuY2hhckNvZGVBdCgwKV09NjIsZXVbIl8iLmNoYXJDb2RlQXQoMCldPTYzfWZ1bmN0aW9uIGVwKGUpe3JldHVybiBlaFtlPj4xOCY2M10rZWhbZT4+MTImNjNdK2VoW2U+PjYmNjNdK2VoWzYzJmVdfWZ1bmN0aW9uIGUxKGUsdCxuKXtmb3IodmFyIHIsaT1bXSxvPXQ7bzxuO28rPTMpaS5wdXNoKGVwKHI9KGVbb108PDE2KSsoZVtvKzFdPDw4KStlW28rMl0pKTtyZXR1cm4gaS5qb2luKCIiKX1mdW5jdGlvbiBlMChlKXtlX3x8ZWYoKTtmb3IodmFyIHQsbj1lLmxlbmd0aCxyPW4lMyxpPSIiLG89W10sYT0wLHM9bi1yO2E8czthKz0xNjM4MylvLnB1c2goZTEoZSxhLGErMTYzODM+cz9zOmErMTYzODMpKTtyZXR1cm4gMT09PXI/KGkrPWVoWyh0PWVbbi0xXSk+PjJdLGkrPWVoW3Q8PDQmNjNdLGkrPSI9PSIpOjI9PT1yJiYoaSs9ZWhbKHQ9KGVbbi0yXTw8OCkrZVtuLTFdKT4+MTBdLGkrPWVoW3Q+PjQmNjNdLGkrPWVoW3Q8PDImNjNdLGkrPSI9Iiksby5wdXNoKGkpLG8uam9pbigiIil9ZnVuY3Rpb24gZWcoZSx0LG4scixpKXt2YXIgbyxhLHM9OCppLXItMSxsPSgxPDxzKS0xLCQ9bD4+MSxjPS03LGg9bj9pLTE6MCx1PW4/LTE6MSxkPWVbdCtoXTtmb3IoaCs9dSxvPWQmKDE8PC1jKS0xLGQ+Pj0tYyxjKz1zO2M+MDtvPTI1NipvK2VbdCtoXSxoKz11LGMtPTgpO2ZvcihhPW8mKDE8PC1jKS0xLG8+Pj0tYyxjKz1yO2M+MDthPTI1NiphK2VbdCtoXSxoKz11LGMtPTgpO2lmKDA9PT1vKW89MS0kO2Vsc2V7aWYobz09PWwpcmV0dXJuIGE/TmFOOihkPy0xOjEpKigxLzApO2ErPU1hdGgucG93KDIsciksby09JH1yZXR1cm4oZD8tMToxKSphKk1hdGgucG93KDIsby1yKX1mdW5jdGlvbiBlbShlLHQsbixyLGksbyl7dmFyIGEscyxsLCQ9OCpvLWktMSxjPSgxPDwkKS0xLGg9Yz4+MSx1PTIzPT09aT81OTYwNDY0NDc3NTM5MDYyZS0yMzowLGQ9cj8wOm8tMSxfPXI/MTotMSxmPXQ8MHx8MD09PXQmJjEvdDwwPzE6MDtmb3IoaXNOYU4odD1NYXRoLmFicyh0KSl8fHQ9PT0xLzA/KHM9aXNOYU4odCk/MTowLGE9Yyk6KGE9TWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMiksdCoobD1NYXRoLnBvdygyLC1hKSk8MSYmKGEtLSxsKj0yKSxhK2g+PTE/dCs9dS9sOnQrPXUqTWF0aC5wb3coMiwxLWgpLHQqbD49MiYmKGErKyxsLz0yKSxhK2g+PWM/KHM9MCxhPWMpOmEraD49MT8ocz0odCpsLTEpKk1hdGgucG93KDIsaSksYSs9aCk6KHM9dCpNYXRoLnBvdygyLGgtMSkqTWF0aC5wb3coMixpKSxhPTApKTtpPj04O2VbbitkXT0yNTUmcyxkKz1fLHMvPTI1NixpLT04KTtmb3IoYT1hPDxpfHMsJCs9aTskPjA7ZVtuK2RdPTI1NSZhLGQrPV8sYS89MjU2LCQtPTgpO2VbbitkLV9dfD0xMjgqZn12YXIgZTM9e30udG9TdHJpbmcsZXc9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09ZTMuY2FsbChlKX0sZXY9NTA7ZTguVFlQRURfQVJSQVlfU1VQUE9SVD12b2lkIDA9PT1lYy5UWVBFRF9BUlJBWV9TVVBQT1JUfHxlYy5UWVBFRF9BUlJBWV9TVVBQT1JUO3ZhciBlMj1lNCgpO2Z1bmN0aW9uIGU0KCl7cmV0dXJuIGU4LlRZUEVEX0FSUkFZX1NVUFBPUlQ/MjE0NzQ4MzY0NzoxMDczNzQxODIzfWZ1bmN0aW9uIGViKGUsdCl7aWYoZTQoKTx0KXRocm93IFJhbmdlRXJyb3IoIkludmFsaWQgdHlwZWQgYXJyYXkgbGVuZ3RoIik7cmV0dXJuIGU4LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KGU9bmV3IFVpbnQ4QXJyYXkodCkpLl9fcHJvdG9fXz1lOC5wcm90b3R5cGU6KG51bGw9PT1lJiYoZT1uZXcgZTgodCkpLGUubGVuZ3RoPXQpLGV9ZnVuY3Rpb24gZTgoZSx0LG4pe2lmKCFlOC5UWVBFRF9BUlJBWV9TVVBQT1JUJiYhKHRoaXMgaW5zdGFuY2VvZiBlOCkpcmV0dXJuIG5ldyBlOChlLHQsbik7aWYoIm51bWJlciI9PXR5cGVvZiBlKXtpZigic3RyaW5nIj09dHlwZW9mIHQpdGhyb3cgRXJyb3IoIklmIGVuY29kaW5nIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIGU1KHRoaXMsZSl9cmV0dXJuIGU2KHRoaXMsZSx0LG4pfWZ1bmN0aW9uIGU2KGUsdCxuLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBUeXBlRXJyb3IoJyJ2YWx1ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXInKTtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/ZnVuY3Rpb24gZSh0LG4scixpKXtpZihuLmJ5dGVMZW5ndGgscjwwfHxuLmJ5dGVMZW5ndGg8cil0aHJvdyBSYW5nZUVycm9yKCInb2Zmc2V0JyBpcyBvdXQgb2YgYm91bmRzIik7aWYobi5ieXRlTGVuZ3RoPHIrKGl8fDApKXRocm93IFJhbmdlRXJyb3IoIidsZW5ndGgnIGlzIG91dCBvZiBib3VuZHMiKTtyZXR1cm4gbj12b2lkIDA9PT1yJiZ2b2lkIDA9PT1pP25ldyBVaW50OEFycmF5KG4pOnZvaWQgMD09PWk/bmV3IFVpbnQ4QXJyYXkobixyKTpuZXcgVWludDhBcnJheShuLHIsaSksZTguVFlQRURfQVJSQVlfU1VQUE9SVD8odD1uKS5fX3Byb3RvX189ZTgucHJvdG90eXBlOnQ9ZXgodCxuKSx0fShlLHQsbixyKToic3RyaW5nIj09dHlwZW9mIHQ/ZnVuY3Rpb24gZSh0LG4scil7aWYoKCJzdHJpbmciIT10eXBlb2Ygcnx8IiI9PT1yKSYmKHI9InV0ZjgiKSwhZTguaXNFbmNvZGluZyhyKSl0aHJvdyBUeXBlRXJyb3IoJyJlbmNvZGluZyIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBlbmNvZGluZycpO3ZhciBpPTB8ZUMobixyKSxvPSh0PWViKHQsaSkpLndyaXRlKG4scik7cmV0dXJuIG8hPT1pJiYodD10LnNsaWNlKDAsbykpLHR9KGUsdCxuKTpmdW5jdGlvbiBlKHQsbil7aWYoZUUobikpe3ZhciByPTB8ZTcobi5sZW5ndGgpO3JldHVybiAwPT09KHQ9ZWIodCxyKSkubGVuZ3RofHxuLmNvcHkodCwwLDAsciksdH1pZihuKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZuLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHwibGVuZ3RoImluIG4pcmV0dXJuIm51bWJlciIhPXR5cGVvZiBuLmxlbmd0aHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9KG4ubGVuZ3RoKT9lYih0LDApOmV4KHQsbik7aWYoIkJ1ZmZlciI9PT1uLnR5cGUmJmV3KG4uZGF0YSkpcmV0dXJuIGV4KHQsbi5kYXRhKX10aHJvdyBUeXBlRXJyb3IoIkZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBhcnJheS1saWtlIG9iamVjdC4iKX0oZSx0KX1mdW5jdGlvbiBleShlKXtpZigibnVtYmVyIiE9dHlwZW9mIGUpdGhyb3cgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpO2lmKGU8MCl0aHJvdyBSYW5nZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKX1mdW5jdGlvbiBlNShlLHQpe2lmKGV5KHQpLGU9ZWIoZSx0PDA/MDowfGU3KHQpKSwhZTguVFlQRURfQVJSQVlfU1VQUE9SVClmb3IodmFyIG49MDtuPHQ7KytuKWVbbl09MDtyZXR1cm4gZX1mdW5jdGlvbiBleChlLHQpe3ZhciBuPXQubGVuZ3RoPDA/MDowfGU3KHQubGVuZ3RoKTtlPWViKGUsbik7Zm9yKHZhciByPTA7cjxuO3IrPTEpZVtyXT0yNTUmdFtyXTtyZXR1cm4gZX1mdW5jdGlvbiBlNyhlKXtpZihlPj1lNCgpKXRocm93IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK2U0KCkudG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gMHxlfWZ1bmN0aW9uIGVFKGUpe3JldHVybiEhKG51bGwhPWUmJmUuX2lzQnVmZmVyKX1mdW5jdGlvbiBlQyhlLHQpe2lmKGVFKGUpKXJldHVybiBlLmxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3JiYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpfHxlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXJldHVybiBlLmJ5dGVMZW5ndGg7InN0cmluZyIhPXR5cGVvZiBlJiYoZT0iIitlKTt2YXIgbj1lLmxlbmd0aDtpZigwPT09bilyZXR1cm4gMDtmb3IodmFyIHI9ITE7Oylzd2l0Y2godCl7Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gbjtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2Ugdm9pZCAwOnJldHVybiBlcShlKS5sZW5ndGg7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiAyKm47Y2FzZSJoZXgiOnJldHVybiBuPj4+MTtjYXNlImJhc2U2NCI6cmV0dXJuIGVRKGUpLmxlbmd0aDtkZWZhdWx0OmlmKHIpcmV0dXJuIGVxKGUpLmxlbmd0aDt0PSgiIit0KS50b0xvd2VyQ2FzZSgpLHI9ITB9fWZ1bmN0aW9uIGVEKGUsdCxuKXt2YXIgcj0hMTtpZigodm9pZCAwPT09dHx8dDwwKSYmKHQ9MCksdD50aGlzLmxlbmd0aHx8KCh2b2lkIDA9PT1ufHxuPnRoaXMubGVuZ3RoKSYmKG49dGhpcy5sZW5ndGgpLG48PTB8fChuPj4+PTApPD0odD4+Pj0wKSkpcmV0dXJuIiI7Zm9yKGV8fChlPSJ1dGY4Iik7Oylzd2l0Y2goZSl7Y2FzZSJoZXgiOnJldHVybiBlQih0aGlzLHQsbik7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gZTkodGhpcyx0LG4pO2Nhc2UiYXNjaWkiOnJldHVybiBlUih0aGlzLHQsbik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gZVUodGhpcyx0LG4pO2Nhc2UiYmFzZTY0IjpyZXR1cm4gZVAodGhpcyx0LG4pO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gZVcodGhpcyx0LG4pO2RlZmF1bHQ6aWYocil0aHJvdyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrZSk7ZT0oZSsiIikudG9Mb3dlckNhc2UoKSxyPSEwfX1mdW5jdGlvbiBlayhlLHQsbil7dmFyIHI9ZVt0XTtlW3RdPWVbbl0sZVtuXT1yfWZ1bmN0aW9uIGVBKGUsdCxuLHIsaSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiAtMTtpZigic3RyaW5nIj09dHlwZW9mIG4/KHI9bixuPTApOm4+MjE0NzQ4MzY0Nz9uPTIxNDc0ODM2NDc6bjwtMjE0NzQ4MzY0OCYmKG49LTIxNDc0ODM2NDgpLGlzTmFOKG49K24pJiYobj1pPzA6ZS5sZW5ndGgtMSksbjwwJiYobj1lLmxlbmd0aCtuKSxuPj1lLmxlbmd0aCl7aWYoaSlyZXR1cm4gLTE7bj1lLmxlbmd0aC0xfWVsc2UgaWYobjwwKXtpZighaSlyZXR1cm4gLTE7bj0wfWlmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9ZTguZnJvbSh0LHIpKSxlRSh0KSlyZXR1cm4gMD09PXQubGVuZ3RoPy0xOmVJKGUsdCxuLHIsaSk7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybih0Jj0yNTUsZTguVFlQRURfQVJSQVlfU1VQUE9SVCYmImZ1bmN0aW9uIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YpP2k/VWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGUsdCxuKTpVaW50OEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGUsdCxuKTplSShlLFt0XSxuLHIsaSk7dGhyb3cgVHlwZUVycm9yKCJ2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXIiKX1mdW5jdGlvbiBlSShlLHQsbixyLGkpe3ZhciBvLGE9MSxzPWUubGVuZ3RoLGw9dC5sZW5ndGg7aWYodm9pZCAwIT09ciYmKCJ1Y3MyIj09PShyPVN0cmluZyhyKS50b0xvd2VyQ2FzZSgpKXx8InVjcy0yIj09PXJ8fCJ1dGYxNmxlIj09PXJ8fCJ1dGYtMTZsZSI9PT1yKSl7aWYoZS5sZW5ndGg8Mnx8dC5sZW5ndGg8MilyZXR1cm4gLTE7YT0yLHMvPTIsbC89MixuLz0yfWZ1bmN0aW9uICQoZSx0KXtyZXR1cm4gMT09PWE/ZVt0XTplLnJlYWRVSW50MTZCRSh0KmEpfWlmKGkpe3ZhciBjPS0xO2ZvcihvPW47bzxzO28rKylpZigkKGUsbyk9PT0kKHQsLTE9PT1jPzA6by1jKSl7aWYoLTE9PT1jJiYoYz1vKSxvLWMrMT09PWwpcmV0dXJuIGMqYX1lbHNlIC0xIT09YyYmKG8tPW8tYyksYz0tMX1lbHNlIGZvcihuK2w+cyYmKG49cy1sKSxvPW47bz49MDtvLS0pe2Zvcih2YXIgaD0hMCx1PTA7dTxsO3UrKylpZigkKGUsbyt1KSE9PSQodCx1KSl7aD0hMTticmVha31pZihoKXJldHVybiBvfXJldHVybiAtMX1mdW5jdGlvbiBlVChlLHQsbixyKXtuPU51bWJlcihuKXx8MDt2YXIgaT1lLmxlbmd0aC1uO3I/KHI9TnVtYmVyKHIpKT5pJiYocj1pKTpyPWk7dmFyIG89dC5sZW5ndGg7aWYobyUyIT0wKXRocm93IFR5cGVFcnJvcigiSW52YWxpZCBoZXggc3RyaW5nIik7cj5vLzImJihyPW8vMik7Zm9yKHZhciBhPTA7YTxyOysrYSl7dmFyIHM9cGFyc2VJbnQodC5zdWJzdHIoMiphLDIpLDE2KTtpZihpc05hTihzKSlicmVhaztlW24rYV09c31yZXR1cm4gYX1mdW5jdGlvbiBlUyhlLHQsbixyKXtyZXR1cm4gZVgoZXEodCxlLmxlbmd0aC1uKSxlLG4scil9ZnVuY3Rpb24gZUwoZSx0LG4scil7cmV0dXJuIGVYKGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBuPVtdLHI9MDtyPHQubGVuZ3RoOysrciluLnB1c2goMjU1JnQuY2hhckNvZGVBdChyKSk7cmV0dXJuIG59KHQpLGUsbixyKX1mdW5jdGlvbiBlTihlLHQsbixyKXtyZXR1cm4gZUwoZSx0LG4scil9ZnVuY3Rpb24gZU8oZSx0LG4scil7cmV0dXJuIGVYKGVRKHQpLGUsbixyKX1mdW5jdGlvbiBlTShlLHQsbixyKXtyZXR1cm4gZVgoZnVuY3Rpb24gZSh0LG4pe2Zvcih2YXIgcixpLG8sYT1bXSxzPTA7czx0Lmxlbmd0aCYmISgobi09Mik8MCk7KytzKWk9KHI9dC5jaGFyQ29kZUF0KHMpKT4+OCxvPXIlMjU2LGEucHVzaChvKSxhLnB1c2goaSk7cmV0dXJuIGF9KHQsZS5sZW5ndGgtbiksZSxuLHIpfWZ1bmN0aW9uIGVQKGUsdCxuKXtyZXR1cm4gMD09PXQmJm49PT1lLmxlbmd0aD9lMChlKTplMChlLnNsaWNlKHQsbikpfWZ1bmN0aW9uIGU5KGUsdCxuKXtuPU1hdGgubWluKGUubGVuZ3RoLG4pO2Zvcih2YXIgcj1bXSxpPXQ7aTxuOyl7dmFyIG8sYSxzLGwsJD1lW2ldLGM9bnVsbCxoPSQ+MjM5PzQ6JD4yMjM/MzokPjE5MT8yOjE7aWYoaStoPD1uKXN3aXRjaChoKXtjYXNlIDE6JDwxMjgmJihjPSQpO2JyZWFrO2Nhc2UgMjooMTkyJihvPWVbaSsxXSkpPT0xMjgmJihsPSgzMSYkKTw8Nnw2MyZvKT4xMjcmJihjPWwpO2JyZWFrO2Nhc2UgMzpvPWVbaSsxXSxhPWVbaSsyXSwoMTkyJm8pPT0xMjgmJigxOTImYSk9PTEyOCYmKGw9KDE1JiQpPDwxMnwoNjMmbyk8PDZ8NjMmYSk+MjA0NyYmKGw8NTUyOTZ8fGw+NTczNDMpJiYoYz1sKTticmVhaztjYXNlIDQ6bz1lW2krMV0sYT1lW2krMl0scz1lW2krM10sKDE5MiZvKT09MTI4JiYoMTkyJmEpPT0xMjgmJigxOTImcyk9PTEyOCYmKGw9KDE1JiQpPDwxOHwoNjMmbyk8PDEyfCg2MyZhKTw8Nnw2MyZzKT42NTUzNSYmbDwxMTE0MTEyJiYoYz1sKX1udWxsPT09Yz8oYz02NTUzMyxoPTEpOmM+NjU1MzUmJihjLT02NTUzNixyLnB1c2goYz4+PjEwJjEwMjN8NTUyOTYpLGM9NTYzMjB8MTAyMyZjKSxyLnB1c2goYyksaSs9aH1yZXR1cm4gZnVuY3Rpb24gZSh0KXt2YXIgbj10Lmxlbmd0aDtpZihuPD00MDk2KXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx0KTtmb3IodmFyIHI9IiIsaT0wO2k8bjspcis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsdC5zbGljZShpLGkrPTQwOTYpKTtyZXR1cm4gcn0ocil9ZnVuY3Rpb24gZVIoZSx0LG4pe3ZhciByPSIiO249TWF0aC5taW4oZS5sZW5ndGgsbik7Zm9yKHZhciBpPXQ7aTxuOysraSlyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyZlW2ldKTtyZXR1cm4gcn1mdW5jdGlvbiBlVShlLHQsbil7dmFyIHI9IiI7bj1NYXRoLm1pbihlLmxlbmd0aCxuKTtmb3IodmFyIGk9dDtpPG47KytpKXIrPVN0cmluZy5mcm9tQ2hhckNvZGUoZVtpXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gZUIoZSx0LG4pe3ZhciByPWUubGVuZ3RoOyghdHx8dDwwKSYmKHQ9MCksKCFufHxuPDB8fG4+cikmJihuPXIpO2Zvcih2YXIgaT0iIixvPXQ7bzxuOysrbylpKz1lSyhlW29dKTtyZXR1cm4gaX1mdW5jdGlvbiBlVyhlLHQsbil7Zm9yKHZhciByPWUuc2xpY2UodCxuKSxpPSIiLG89MDtvPHIubGVuZ3RoO28rPTIpaSs9U3RyaW5nLmZyb21DaGFyQ29kZShyW29dKzI1NipyW28rMV0pO3JldHVybiBpfWZ1bmN0aW9uIGVGKGUsdCxuKXtpZihlJTEhPTB8fGU8MCl0aHJvdyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgbm90IHVpbnQiKTtpZihlK3Q+bil0aHJvdyBSYW5nZUVycm9yKCJUcnlpbmcgdG8gYWNjZXNzIGJleW9uZCBidWZmZXIgbGVuZ3RoIil9ZnVuY3Rpb24gZXooZSx0LG4scixpLG8pe2lmKCFlRShlKSl0aHJvdyBUeXBlRXJyb3IoJyJidWZmZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKTtpZih0Pml8fHQ8byl0aHJvdyBSYW5nZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IGlzIG91dCBvZiBib3VuZHMnKTtpZihuK3I+ZS5sZW5ndGgpdGhyb3cgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gZUgoZSx0LG4scil7dDwwJiYodD02NTUzNSt0KzEpO2Zvcih2YXIgaT0wLG89TWF0aC5taW4oZS5sZW5ndGgtbiwyKTtpPG87KytpKWVbbitpXT0odCYyNTU8PDgqKHI/aToxLWkpKT4+PihyP2k6MS1pKSo4fWZ1bmN0aW9uIGVqKGUsdCxuLHIpe3Q8MCYmKHQ9NDI5NDk2NzI5NSt0KzEpO2Zvcih2YXIgaT0wLG89TWF0aC5taW4oZS5sZW5ndGgtbiw0KTtpPG87KytpKWVbbitpXT10Pj4+KHI/aTozLWkpKjgmMjU1fWZ1bmN0aW9uIGVaKGUsdCxuLHIsaSxvKXtpZihuK3I+ZS5sZW5ndGh8fG48MCl0aHJvdyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBlWShlLHQsbixyLGkpe3JldHVybiBpfHxlWihlLHQsbiw0KSxlbShlLHQsbixyLDIzLDQpLG4rNH1mdW5jdGlvbiBlVihlLHQsbixyLGkpe3JldHVybiBpfHxlWihlLHQsbiw4KSxlbShlLHQsbixyLDUyLDgpLG4rOH1lOC5wb29sU2l6ZT04MTkyLGU4Ll9hdWdtZW50PWZ1bmN0aW9uKGUpe3JldHVybiBlLl9fcHJvdG9fXz1lOC5wcm90b3R5cGUsZX0sZTguZnJvbT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU2KG51bGwsZSx0LG4pfSxlOC5UWVBFRF9BUlJBWV9TVVBQT1JUJiYoZTgucHJvdG90eXBlLl9fcHJvdG9fXz1VaW50OEFycmF5LnByb3RvdHlwZSxlOC5fX3Byb3RvX189VWludDhBcnJheSwidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnNwZWNpZXMmJmU4W1N5bWJvbC5zcGVjaWVzXSksZTguYWxsb2M9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbztyZXR1cm4gcj1lLGk9dCxvPW4sKGV5KHIpLHI8PTApP2ViKG51bGwscik6dm9pZCAwIT09aT8ic3RyaW5nIj09dHlwZW9mIG8/ZWIobnVsbCxyKS5maWxsKGksbyk6ZWIobnVsbCxyKS5maWxsKGkpOmViKG51bGwscil9LGU4LmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe3JldHVybiBlNShudWxsLGUpfSxlOC5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIGU1KG51bGwsZSl9LGU4LmlzQnVmZmVyPXRlLGU4LmNvbXBhcmU9ZnVuY3Rpb24gZSh0LG4pe2lmKCFlRSh0KXx8IWVFKG4pKXRocm93IFR5cGVFcnJvcigiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVycyIpO2lmKHQ9PT1uKXJldHVybiAwO2Zvcih2YXIgcj10Lmxlbmd0aCxpPW4ubGVuZ3RoLG89MCxhPU1hdGgubWluKHIsaSk7bzxhOysrbylpZih0W29dIT09bltvXSl7cj10W29dLGk9bltvXTticmVha31yZXR1cm4gcjxpPy0xOmk8cj8xOjB9LGU4LmlzRW5jb2Rpbmc9ZnVuY3Rpb24gZSh0KXtzd2l0Y2goU3RyaW5nKHQpLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sZTguY29uY2F0PWZ1bmN0aW9uIGUodCxuKXtpZighZXcodCkpdGhyb3cgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PXQubGVuZ3RoKXJldHVybiBlOC5hbGxvYygwKTtpZih2b2lkIDA9PT1uKWZvcihyPTAsbj0wO3I8dC5sZW5ndGg7KytyKW4rPXRbcl0ubGVuZ3RoO3ZhciByLGk9ZTguYWxsb2NVbnNhZmUobiksbz0wO2ZvcihyPTA7cjx0Lmxlbmd0aDsrK3Ipe3ZhciBhPXRbcl07aWYoIWVFKGEpKXRocm93IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2EuY29weShpLG8pLG8rPWEubGVuZ3RofXJldHVybiBpfSxlOC5ieXRlTGVuZ3RoPWVDLGU4LnByb3RvdHlwZS5faXNCdWZmZXI9ITAsZTgucHJvdG90eXBlLnN3YXAxNj1mdW5jdGlvbiBlKCl7dmFyIHQ9dGhpcy5sZW5ndGg7aWYodCUyIT0wKXRocm93IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciBuPTA7bjx0O24rPTIpZWsodGhpcyxuLG4rMSk7cmV0dXJuIHRoaXN9LGU4LnByb3RvdHlwZS5zd2FwMzI9ZnVuY3Rpb24gZSgpe3ZhciB0PXRoaXMubGVuZ3RoO2lmKHQlNCE9MCl0aHJvdyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgbj0wO248dDtuKz00KWVrKHRoaXMsbixuKzMpLGVrKHRoaXMsbisxLG4rMik7cmV0dXJuIHRoaXN9LGU4LnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24gZSgpe3ZhciB0PXRoaXMubGVuZ3RoO2lmKHQlOCE9MCl0aHJvdyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cyIpO2Zvcih2YXIgbj0wO248dDtuKz04KWVrKHRoaXMsbixuKzcpLGVrKHRoaXMsbisxLG4rNiksZWsodGhpcyxuKzIsbis1KSxlayh0aGlzLG4rMyxuKzQpO3JldHVybiB0aGlzfSxlOC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24gZSgpe3ZhciB0PTB8dGhpcy5sZW5ndGg7cmV0dXJuIDA9PT10PyIiOjA9PT1hcmd1bWVudHMubGVuZ3RoP2U5KHRoaXMsMCx0KTplRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGU4LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24gZSh0KXtpZighZUUodCkpdGhyb3cgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7cmV0dXJuIHRoaXM9PT10fHwwPT09ZTguY29tcGFyZSh0aGlzLHQpfSxlOC5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbiBlKCl7dmFyIHQ9IiIsbj1ldjtyZXR1cm4gdGhpcy5sZW5ndGg+MCYmKHQ9dGhpcy50b1N0cmluZygiaGV4IiwwLG4pLm1hdGNoKC8uezJ9L2cpLmpvaW4oIiAiKSx0aGlzLmxlbmd0aD5uJiYodCs9IiAuLi4gIikpLCI8QnVmZmVyICIrdCsiPiJ9LGU4LnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uIGUodCxuLHIsaSxvKXtpZighZUUodCkpdGhyb3cgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7aWYodm9pZCAwPT09biYmKG49MCksdm9pZCAwPT09ciYmKHI9dD90Lmxlbmd0aDowKSx2b2lkIDA9PT1pJiYoaT0wKSx2b2lkIDA9PT1vJiYobz10aGlzLmxlbmd0aCksbjwwfHxyPnQubGVuZ3RofHxpPDB8fG8+dGhpcy5sZW5ndGgpdGhyb3cgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIGluZGV4Iik7aWYoaT49byYmbj49cilyZXR1cm4gMDtpZihpPj1vKXJldHVybiAtMTtpZihuPj1yKXJldHVybiAxO2lmKG4+Pj49MCxyPj4+PTAsaT4+Pj0wLG8+Pj49MCx0aGlzPT09dClyZXR1cm4gMDtmb3IodmFyIGE9by1pLHM9ci1uLGw9TWF0aC5taW4oYSxzKSwkPXRoaXMuc2xpY2UoaSxvKSxjPXQuc2xpY2UobixyKSxoPTA7aDxsOysraClpZigkW2hdIT09Y1toXSl7YT0kW2hdLHM9Y1toXTticmVha31yZXR1cm4gYTxzPy0xOnM8YT8xOjB9LGU4LnByb3RvdHlwZS5pbmNsdWRlcz1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gLTEhPT10aGlzLmluZGV4T2YodCxuLHIpfSxlOC5wcm90b3R5cGUuaW5kZXhPZj1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gZUEodGhpcyx0LG4sciwhMCl9LGU4LnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gZUEodGhpcyx0LG4sciwhMSl9LGU4LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbiBlKHQsbixyLGkpe2lmKHZvaWQgMD09PW4paT0idXRmOCIscj10aGlzLmxlbmd0aCxuPTA7ZWxzZSBpZih2b2lkIDA9PT1yJiYic3RyaW5nIj09dHlwZW9mIG4paT1uLHI9dGhpcy5sZW5ndGgsbj0wO2Vsc2UgaWYoaXNGaW5pdGUobikpbnw9MCxpc0Zpbml0ZShyKT8ocnw9MCx2b2lkIDA9PT1pJiYoaT0idXRmOCIpKTooaT1yLHI9dm9pZCAwKTtlbHNlIHRocm93IEVycm9yKCJCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIpO3ZhciBvLGEscyxsLCQ9dGhpcy5sZW5ndGgtbjtpZigodm9pZCAwPT09cnx8cj4kKSYmKHI9JCksdC5sZW5ndGg+MCYmKHI8MHx8bjwwKXx8bj50aGlzLmxlbmd0aCl0aHJvdyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kcyIpO2l8fChpPSJ1dGY4Iik7Zm9yKHZhciBjPSExOzspc3dpdGNoKGkpe2Nhc2UiaGV4IjpyZXR1cm4gZVQodGhpcyx0LG4scik7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gZVModGhpcyx0LG4scik7Y2FzZSJhc2NpaSI6cmV0dXJuIGVMKHRoaXMsdCxuLHIpO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIG89dGhpcyxhPXQscz1uLGVMKG8sYSxzLGw9cik7Y2FzZSJiYXNlNjQiOnJldHVybiBlTyh0aGlzLHQsbixyKTtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIGVNKHRoaXMsdCxuLHIpO2RlZmF1bHQ6aWYoYyl0aHJvdyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIraSk7aT0oIiIraSkudG9Mb3dlckNhc2UoKSxjPSEwfX0sZTgucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbiBlKCl7cmV0dXJue3R5cGU6IkJ1ZmZlciIsZGF0YTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnJ8fHRoaXMsMCl9fSxlOC5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24gZSh0LG4pe3ZhciByLGk9dGhpcy5sZW5ndGg7aWYodD1+fnQsbj12b2lkIDA9PT1uP2k6fn5uLHQ8MD8odCs9aSk8MCYmKHQ9MCk6dD5pJiYodD1pKSxuPDA/KG4rPWkpPDAmJihuPTApOm4+aSYmKG49aSksbjx0JiYobj10KSxlOC5UWVBFRF9BUlJBWV9TVVBQT1JUKShyPXRoaXMuc3ViYXJyYXkodCxuKSkuX19wcm90b19fPWU4LnByb3RvdHlwZTtlbHNle3ZhciBvPW4tdDtyPW5ldyBlOChvLHZvaWQgMCk7Zm9yKHZhciBhPTA7YTxvOysrYSlyW2FdPXRoaXNbYSt0XX1yZXR1cm4gcn0sZTgucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24gZSh0LG4scil7dHw9MCxufD0wLHJ8fGVGKHQsbix0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPXRoaXNbdF0sbz0xLGE9MDsrK2E8biYmKG8qPTI1Nik7KWkrPXRoaXNbdCthXSpvO3JldHVybiBpfSxlOC5wcm90b3R5cGUucmVhZFVJbnRCRT1mdW5jdGlvbiBlKHQsbixyKXt0fD0wLG58PTAscnx8ZUYodCxuLHRoaXMubGVuZ3RoKTtmb3IodmFyIGk9dGhpc1t0Ky0tbl0sbz0xO24+MCYmKG8qPTI1Nik7KWkrPXRoaXNbdCstLW5dKm87cmV0dXJuIGl9LGU4LnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiBufHxlRih0LDEsdGhpcy5sZW5ndGgpLHRoaXNbdF19LGU4LnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiBufHxlRih0LDIsdGhpcy5sZW5ndGgpLHRoaXNbdF18dGhpc1t0KzFdPDw4fSxlOC5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gbnx8ZUYodCwyLHRoaXMubGVuZ3RoKSx0aGlzW3RdPDw4fHRoaXNbdCsxXX0sZTgucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIG58fGVGKHQsNCx0aGlzLmxlbmd0aCksKHRoaXNbdF18dGhpc1t0KzFdPDw4fHRoaXNbdCsyXTw8MTYpKzE2Nzc3MjE2KnRoaXNbdCszXX0sZTgucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIG58fGVGKHQsNCx0aGlzLmxlbmd0aCksMTY3NzcyMTYqdGhpc1t0XSsodGhpc1t0KzFdPDwxNnx0aGlzW3QrMl08PDh8dGhpc1t0KzNdKX0sZTgucHJvdG90eXBlLnJlYWRJbnRMRT1mdW5jdGlvbiBlKHQsbixyKXt0fD0wLG58PTAscnx8ZUYodCxuLHRoaXMubGVuZ3RoKTtmb3IodmFyIGk9dGhpc1t0XSxvPTEsYT0wOysrYTxuJiYobyo9MjU2KTspaSs9dGhpc1t0K2FdKm87cmV0dXJuIGk+PShvKj0xMjgpJiYoaS09TWF0aC5wb3coMiw4Km4pKSxpfSxlOC5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uIGUodCxuLHIpe3R8PTAsbnw9MCxyfHxlRih0LG4sdGhpcy5sZW5ndGgpO2Zvcih2YXIgaT1uLG89MSxhPXRoaXNbdCstLWldO2k+MCYmKG8qPTI1Nik7KWErPXRoaXNbdCstLWldKm87cmV0dXJuIGE+PShvKj0xMjgpJiYoYS09TWF0aC5wb3coMiw4Km4pKSxhfSxlOC5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24gZSh0LG4pe3JldHVybihufHxlRih0LDEsdGhpcy5sZW5ndGgpLDEyOCZ0aGlzW3RdKT8tKCgyNTUtdGhpc1t0XSsxKSoxKTp0aGlzW3RdfSxlOC5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24gZSh0LG4pe258fGVGKHQsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1t0XXx0aGlzW3QrMV08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LGU4LnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbiBlKHQsbil7bnx8ZUYodCwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW3QrMV18dGhpc1t0XTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sZTgucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gbnx8ZUYodCw0LHRoaXMubGVuZ3RoKSx0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2fHRoaXNbdCszXTw8MjR9LGU4LnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIG58fGVGKHQsNCx0aGlzLmxlbmd0aCksdGhpc1t0XTw8MjR8dGhpc1t0KzFdPDwxNnx0aGlzW3QrMl08PDh8dGhpc1t0KzNdfSxlOC5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiBufHxlRih0LDQsdGhpcy5sZW5ndGgpLGVnKHRoaXMsdCwhMCwyMyw0KX0sZTgucHJvdG90eXBlLnJlYWRGbG9hdEJFPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gbnx8ZUYodCw0LHRoaXMubGVuZ3RoKSxlZyh0aGlzLHQsITEsMjMsNCl9LGU4LnByb3RvdHlwZS5yZWFkRG91YmxlTEU9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiBufHxlRih0LDgsdGhpcy5sZW5ndGgpLGVnKHRoaXMsdCwhMCw1Miw4KX0sZTgucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIG58fGVGKHQsOCx0aGlzLmxlbmd0aCksZWcodGhpcyx0LCExLDUyLDgpfSxlOC5wcm90b3R5cGUud3JpdGVVSW50TEU9ZnVuY3Rpb24gZSh0LG4scixpKXtpZih0PSt0LG58PTAscnw9MCwhaSl7dmFyIG89TWF0aC5wb3coMiw4KnIpLTE7ZXoodGhpcyx0LG4scixvLDApfXZhciBhPTEscz0wO2Zvcih0aGlzW25dPTI1NSZ0OysrczxyJiYoYSo9MjU2KTspdGhpc1tuK3NdPXQvYSYyNTU7cmV0dXJuIG4rcn0sZTgucHJvdG90eXBlLndyaXRlVUludEJFPWZ1bmN0aW9uIGUodCxuLHIsaSl7aWYodD0rdCxufD0wLHJ8PTAsIWkpe3ZhciBvPU1hdGgucG93KDIsOCpyKS0xO2V6KHRoaXMsdCxuLHIsbywwKX12YXIgYT1yLTEscz0xO2Zvcih0aGlzW24rYV09MjU1JnQ7LS1hPj0wJiYocyo9MjU2KTspdGhpc1tuK2FdPXQvcyYyNTU7cmV0dXJuIG4rcn0sZTgucHJvdG90eXBlLndyaXRlVUludDg9ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuIHQ9K3Qsbnw9MCxyfHxleih0aGlzLHQsbiwxLDI1NSwwKSxlOC5UWVBFRF9BUlJBWV9TVVBQT1JUfHwodD1NYXRoLmZsb29yKHQpKSx0aGlzW25dPTI1NSZ0LG4rMX0sZTgucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuIHQ9K3Qsbnw9MCxyfHxleih0aGlzLHQsbiwyLDY1NTM1LDApLGU4LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbbl09MjU1JnQsdGhpc1tuKzFdPXQ+Pj44KTplSCh0aGlzLHQsbiwhMCksbisyfSxlOC5wcm90b3R5cGUud3JpdGVVSW50MTZCRT1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gdD0rdCxufD0wLHJ8fGV6KHRoaXMsdCxuLDIsNjU1MzUsMCksZTguVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tuXT10Pj4+OCx0aGlzW24rMV09MjU1JnQpOmVIKHRoaXMsdCxuLCExKSxuKzJ9LGU4LnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiB0PSt0LG58PTAscnx8ZXoodGhpcyx0LG4sNCw0Mjk0OTY3Mjk1LDApLGU4LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbbiszXT10Pj4+MjQsdGhpc1tuKzJdPXQ+Pj4xNix0aGlzW24rMV09dD4+PjgsdGhpc1tuXT0yNTUmdCk6ZWoodGhpcyx0LG4sITApLG4rNH0sZTgucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuIHQ9K3Qsbnw9MCxyfHxleih0aGlzLHQsbiw0LDQyOTQ5NjcyOTUsMCksZTguVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tuXT10Pj4+MjQsdGhpc1tuKzFdPXQ+Pj4xNix0aGlzW24rMl09dD4+PjgsdGhpc1tuKzNdPTI1NSZ0KTplaih0aGlzLHQsbiwhMSksbis0fSxlOC5wcm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbiBlKHQsbixyLGkpe2lmKHQ9K3Qsbnw9MCwhaSl7dmFyIG89TWF0aC5wb3coMiw4KnItMSk7ZXoodGhpcyx0LG4scixvLTEsLW8pfXZhciBhPTAscz0xLGw9MDtmb3IodGhpc1tuXT0yNTUmdDsrK2E8ciYmKHMqPTI1Nik7KXQ8MCYmMD09PWwmJjAhPT10aGlzW24rYS0xXSYmKGw9MSksdGhpc1tuK2FdPSh0L3M+PjApLWwmMjU1O3JldHVybiBuK3J9LGU4LnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uIGUodCxuLHIsaSl7aWYodD0rdCxufD0wLCFpKXt2YXIgbz1NYXRoLnBvdygyLDgqci0xKTtleih0aGlzLHQsbixyLG8tMSwtbyl9dmFyIGE9ci0xLHM9MSxsPTA7Zm9yKHRoaXNbbithXT0yNTUmdDstLWE+PTAmJihzKj0yNTYpOyl0PDAmJjA9PT1sJiYwIT09dGhpc1tuK2ErMV0mJihsPTEpLHRoaXNbbithXT0odC9zPj4wKS1sJjI1NTtyZXR1cm4gbityfSxlOC5wcm90b3R5cGUud3JpdGVJbnQ4PWZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiB0PSt0LG58PTAscnx8ZXoodGhpcyx0LG4sMSwxMjcsLTEyOCksZTguVFlQRURfQVJSQVlfU1VQUE9SVHx8KHQ9TWF0aC5mbG9vcih0KSksdDwwJiYodD0yNTUrdCsxKSx0aGlzW25dPTI1NSZ0LG4rMX0sZTgucHJvdG90eXBlLndyaXRlSW50MTZMRT1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gdD0rdCxufD0wLHJ8fGV6KHRoaXMsdCxuLDIsMzI3NjcsLTMyNzY4KSxlOC5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW25dPTI1NSZ0LHRoaXNbbisxXT10Pj4+OCk6ZUgodGhpcyx0LG4sITApLG4rMn0sZTgucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gdD0rdCxufD0wLHJ8fGV6KHRoaXMsdCxuLDIsMzI3NjcsLTMyNzY4KSxlOC5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW25dPXQ+Pj44LHRoaXNbbisxXT0yNTUmdCk6ZUgodGhpcyx0LG4sITEpLG4rMn0sZTgucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gdD0rdCxufD0wLHJ8fGV6KHRoaXMsdCxuLDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksZTguVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tuXT0yNTUmdCx0aGlzW24rMV09dD4+PjgsdGhpc1tuKzJdPXQ+Pj4xNix0aGlzW24rM109dD4+PjI0KTplaih0aGlzLHQsbiwhMCksbis0fSxlOC5wcm90b3R5cGUud3JpdGVJbnQzMkJFPWZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiB0PSt0LG58PTAscnx8ZXoodGhpcyx0LG4sNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0PDAmJih0PTQyOTQ5NjcyOTUrdCsxKSxlOC5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW25dPXQ+Pj4yNCx0aGlzW24rMV09dD4+PjE2LHRoaXNbbisyXT10Pj4+OCx0aGlzW24rM109MjU1JnQpOmVqKHRoaXMsdCxuLCExKSxuKzR9LGU4LnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuIGVZKHRoaXMsdCxuLCEwLHIpfSxlOC5wcm90b3R5cGUud3JpdGVGbG9hdEJFPWZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiBlWSh0aGlzLHQsbiwhMSxyKX0sZTgucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuIGVWKHRoaXMsdCxuLCEwLHIpfSxlOC5wcm90b3R5cGUud3JpdGVEb3VibGVCRT1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gZVYodGhpcyx0LG4sITEscil9LGU4LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uIGUodCxuLHIsaSl7aWYocnx8KHI9MCksaXx8MD09PWl8fChpPXRoaXMubGVuZ3RoKSxuPj10Lmxlbmd0aCYmKG49dC5sZW5ndGgpLG58fChuPTApLGk+MCYmaTxyJiYoaT1yKSxpPT09cnx8MD09PXQubGVuZ3RofHwwPT09dGhpcy5sZW5ndGgpcmV0dXJuIDA7aWYobjwwKXRocm93IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihyPDB8fHI+PXRoaXMubGVuZ3RoKXRocm93IFJhbmdlRXJyb3IoInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihpPDApdGhyb3cgUmFuZ2VFcnJvcigic291cmNlRW5kIG91dCBvZiBib3VuZHMiKTtpPnRoaXMubGVuZ3RoJiYoaT10aGlzLmxlbmd0aCksdC5sZW5ndGgtbjxpLXImJihpPXQubGVuZ3RoLW4rcik7dmFyIG8sYT1pLXI7aWYodGhpcz09PXQmJnI8biYmbjxpKWZvcihvPWEtMTtvPj0wOy0tbyl0W28rbl09dGhpc1tvK3JdO2Vsc2UgaWYoYTwxZTN8fCFlOC5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcihvPTA7bzxhOysrbyl0W28rbl09dGhpc1tvK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwodCx0aGlzLnN1YmFycmF5KHIscithKSxuKTtyZXR1cm4gYX0sZTgucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24gZSh0LG4scixpKXtpZigic3RyaW5nIj09dHlwZW9mIHQpe2lmKCJzdHJpbmciPT10eXBlb2Ygbj8oaT1uLG49MCxyPXRoaXMubGVuZ3RoKToic3RyaW5nIj09dHlwZW9mIHImJihpPXIscj10aGlzLmxlbmd0aCksMT09PXQubGVuZ3RoKXt2YXIgbyxhPXQuY2hhckNvZGVBdCgwKTthPDI1NiYmKHQ9YSl9aWYodm9pZCAwIT09aSYmInN0cmluZyIhPXR5cGVvZiBpKXRocm93IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT10eXBlb2YgaSYmIWU4LmlzRW5jb2RpbmcoaSkpdGhyb3cgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK2kpfWVsc2UibnVtYmVyIj09dHlwZW9mIHQmJih0Jj0yNTUpO2lmKG48MHx8dGhpcy5sZW5ndGg8bnx8dGhpcy5sZW5ndGg8cil0aHJvdyBSYW5nZUVycm9yKCJPdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihyPD1uKXJldHVybiB0aGlzO2lmKG4+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsdHx8KHQ9MCksIm51bWJlciI9PXR5cGVvZiB0KWZvcihvPW47bzxyOysrbyl0aGlzW29dPXQ7ZWxzZXt2YXIgcz1lRSh0KT90OmVxKG5ldyBlOCh0LGkpLnRvU3RyaW5nKCkpLGw9cy5sZW5ndGg7Zm9yKG89MDtvPHItbjsrK28pdGhpc1tvK25dPXNbbyVsXX1yZXR1cm4gdGhpc307dmFyIGVHPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIGVLKGUpe3JldHVybiBlPDE2PyIwIitlLnRvU3RyaW5nKDE2KTplLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBlcShlLHQpe3Q9dHx8MS8wO2Zvcih2YXIgbixyPWUubGVuZ3RoLGk9bnVsbCxvPVtdLGE9MDthPHI7KythKXtpZigobj1lLmNoYXJDb2RlQXQoYSkpPjU1Mjk1JiZuPDU3MzQ0KXtpZighaSl7aWYobj41NjMxOXx8YSsxPT09cil7KHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWk9bjtjb250aW51ZX1pZihuPDU2MzIwKXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSksaT1uO2NvbnRpbnVlfW49KGktNTUyOTY8PDEwfG4tNTYzMjApKzY1NTM2fWVsc2UgaSYmKHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2lmKGk9bnVsbCxuPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7by5wdXNoKG4pfWVsc2UgaWYobjwyMDQ4KXtpZigodC09Mik8MClicmVhaztvLnB1c2gobj4+NnwxOTIsNjMmbnwxMjgpfWVsc2UgaWYobjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7by5wdXNoKG4+PjEyfDIyNCxuPj42JjYzfDEyOCw2MyZufDEyOCl9ZWxzZSBpZihuPDExMTQxMTIpe2lmKCh0LT00KTwwKWJyZWFrO28ucHVzaChuPj4xOHwyNDAsbj4+MTImNjN8MTI4LG4+PjYmNjN8MTI4LDYzJm58MTI4KX1lbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKX1yZXR1cm4gb31mdW5jdGlvbiBlUShlKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtlX3x8ZWYoKTt2YXIgbixyLGksbyxhLHMsbD10Lmxlbmd0aDtpZihsJTQ+MCl0aHJvdyBFcnJvcigiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIpO2E9Ij0iPT09dFtsLTJdPzI6Ij0iPT09dFtsLTFdPzE6MCxzPW5ldyBlZCgzKmwvNC1hKSxpPWE+MD9sLTQ6bDt2YXIgJD0wO2ZvcihuPTAscj0wO248aTtuKz00LHIrPTMpbz1ldVt0LmNoYXJDb2RlQXQobildPDwxOHxldVt0LmNoYXJDb2RlQXQobisxKV08PDEyfGV1W3QuY2hhckNvZGVBdChuKzIpXTw8NnxldVt0LmNoYXJDb2RlQXQobiszKV0sc1skKytdPW8+PjE2JjI1NSxzWyQrK109bz4+OCYyNTUsc1skKytdPTI1NSZvO3JldHVybiAyPT09YT8obz1ldVt0LmNoYXJDb2RlQXQobildPDwyfGV1W3QuY2hhckNvZGVBdChuKzEpXT4+NCxzWyQrK109MjU1Jm8pOjE9PT1hJiYobz1ldVt0LmNoYXJDb2RlQXQobildPDwxMHxldVt0LmNoYXJDb2RlQXQobisxKV08PDR8ZXVbdC5jaGFyQ29kZUF0KG4rMildPj4yLHNbJCsrXT1vPj44JjI1NSxzWyQrK109MjU1Jm8pLHN9KGZ1bmN0aW9uIGUodCl7dmFyIG47aWYoKHQ9KG49dCxuLnRyaW0/bi50cmltKCk6bi5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIikpLnJlcGxhY2UoZUcsIiIpKS5sZW5ndGg8MilyZXR1cm4iIjtmb3IoO3QubGVuZ3RoJTQhPTA7KXQrPSI9IjtyZXR1cm4gdH0oZSkpfWZ1bmN0aW9uIGVYKGUsdCxuLHIpe2Zvcih2YXIgaT0wO2k8ciYmIShpK24+PXQubGVuZ3RoKSYmIShpPj1lLmxlbmd0aCk7KytpKXRbaStuXT1lW2ldO3JldHVybiBpfWZ1bmN0aW9uIGVKKGUpe3JldHVybiBlIT1lfWZ1bmN0aW9uIHRlKGUpe3ZhciB0O3JldHVybiBudWxsIT1lJiYoISFlLl9pc0J1ZmZlcnx8dHQoZSl8fCh0PWUsImZ1bmN0aW9uIj09dHlwZW9mIHQucmVhZEZsb2F0TEUmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnNsaWNlJiZ0dCh0LnNsaWNlKDAsMCkpKSl9ZnVuY3Rpb24gdHQoZSl7cmV0dXJuISFlLmNvbnN0cnVjdG9yJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmZS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihlKX12YXIgdG49T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQnVmZmVyOmU4LElOU1BFQ1RfTUFYX0JZVEVTOmV2LFNsb3dCdWZmZXI6ZnVuY3Rpb24gZSh0KXtyZXR1cm4rdCE9dCYmKHQ9MCksZTguYWxsb2MoK3QpfSxpc0J1ZmZlcjp0ZSxrTWF4TGVuZ3RoOmUyfSk7bGV0IHRyLHRpPXtldGhlcmV1bUNsaWVudDp2b2lkIDAsc2V0RXRoZXJldW1DbGllbnQoZSl7dHI9ZX0sY2xpZW50KCl7aWYodHIpcmV0dXJuIHRyO3Rocm93IEVycm9yKCJDbGllbnRDdHJsIGhhcyBubyBjbGllbnQgc2V0Iil9fSx0bz1lbCh7aGlzdG9yeTpbIkNvbm5lY3RXYWxsZXQiXSx2aWV3OiJDb25uZWN0V2FsbGV0IixkYXRhOnZvaWQgMH0pLHRhPXtzdGF0ZTp0byxzdWJzY3JpYmU6ZT0+ZSQodG8sKCk9PmUodG8pKSxwdXNoKGUsdCl7ZSE9PXRvLnZpZXcmJih0by52aWV3PWUsdCYmKHRvLmRhdGE9dCksdG8uaGlzdG9yeS5wdXNoKGUpKX0scmVzZXQoZSl7dG8udmlldz1lLHRvLmhpc3Rvcnk9W2VdfSxyZXBsYWNlKGUpe3RvLmhpc3RvcnkubGVuZ3RoPjEmJih0by5oaXN0b3J5W3RvLmhpc3RvcnkubGVuZ3RoLTFdPWUsdG8udmlldz1lKX0sZ29CYWNrKCl7aWYodG8uaGlzdG9yeS5sZW5ndGg+MSl7dG8uaGlzdG9yeS5wb3AoKTtsZXRbZV09dG8uaGlzdG9yeS5zbGljZSgtMSk7dG8udmlldz1lfX0sc2V0RGF0YShlKXt0by5kYXRhPWV9fSx0cz17V0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0U6IldBTExFVENPTk5FQ1RfREVFUExJTktfQ0hPSUNFIixXM01fVkVSU0lPTjoiVzNNX1ZFUlNJT04iLFczTV9QUkVGRVJfSU5KRUNURURfVVJMX0ZMQUc6InczbVByZWZlckluamVjdGVkIixSRUNPTU1FTkRFRF9XQUxMRVRfQU1PVU5UOjksaXNNb2JpbGU6KCk9PiJ1Ij50eXBlb2Ygd2luZG93JiYhISh3aW5kb3cubWF0Y2hNZWRpYSgiKHBvaW50ZXI6Y29hcnNlKSIpLm1hdGNoZXN8fC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxPcGVyYSBNaW5pL3UudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSksaXNBbmRyb2lkOigpPT50cy5pc01vYmlsZSgpJiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImFuZHJvaWQiKSxpc0lvcygpe2xldCBlPW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtyZXR1cm4gdHMuaXNNb2JpbGUoKSYmKGUuaW5jbHVkZXMoImlwaG9uZSIpfHxlLmluY2x1ZGVzKCJpcGFkIikpfSxpc0h0dHBVcmw6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vIil8fGUuc3RhcnRzV2l0aCgiaHR0cHM6Ly8iKSxpc0FycmF5OmU9PkFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjAsZm9ybWF0TmF0aXZlVXJsKGUsdCxuKXtpZih0cy5pc0h0dHBVcmwoZSkpcmV0dXJuIHRoaXMuZm9ybWF0VW5pdmVyc2FsVXJsKGUsdCxuKTtsZXQgcj1lO3IuaW5jbHVkZXMoIjovLyIpfHwocj1gJHtyPWUucmVwbGFjZUFsbCgiLyIsIiIpLnJlcGxhY2VBbGwoIjoiLCIiKX06Ly9gKSx0aGlzLnNldFdhbGxldENvbm5lY3REZWVwTGluayhyLG4pO2xldCBpPWVuY29kZVVSSUNvbXBvbmVudCh0KTtyZXR1cm5gJHtyfXdjP3VyaT0ke2l9YH0sZm9ybWF0VW5pdmVyc2FsVXJsKGUsdCxuKXtpZighdHMuaXNIdHRwVXJsKGUpKXJldHVybiB0aGlzLmZvcm1hdE5hdGl2ZVVybChlLHQsbik7bGV0IHI9ZTtlLmVuZHNXaXRoKCIvIikmJihyPWUuc2xpY2UoMCwtMSkpLHRoaXMuc2V0V2FsbGV0Q29ubmVjdERlZXBMaW5rKHIsbik7bGV0IGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQpO3JldHVybmAke3J9L3djP3VyaT0ke2l9YH0sd2FpdDphc3luYyBlPT5uZXcgUHJvbWlzZSh0PT57c2V0VGltZW91dCh0LGUpfSksb3BlbkhyZWYoZSx0KXt3aW5kb3cub3BlbihlLHQsIm5vcmVmZXJyZXIgbm9vcGVuZXIiKX0sc2V0V2FsbGV0Q29ubmVjdERlZXBMaW5rKGUsdCl7bG9jYWxTdG9yYWdlLnNldEl0ZW0odHMuV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UsSlNPTi5zdHJpbmdpZnkoe2hyZWY6ZSxuYW1lOnR9KSl9LHNldFdhbGxldENvbm5lY3RBbmRyb2lkRGVlcExpbmsoZSl7bGV0W3RdPWUuc3BsaXQoIj8iKTtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0cy5XQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRSxKU09OLnN0cmluZ2lmeSh7aHJlZjp0LG5hbWU6IkFuZHJvaWQifSkpfSxyZW1vdmVXYWxsZXRDb25uZWN0RGVlcExpbmsoKXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0cy5XQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRSl9LHNldFdlYjNNb2RhbFZlcnNpb25JblN0b3JhZ2UoKXsidSI+dHlwZW9mIGxvY2FsU3RvcmFnZSYmbG9jYWxTdG9yYWdlLnNldEl0ZW0odHMuVzNNX1ZFUlNJT04sIjIuNC4yLTNkNjcyNDgxIil9LGdldFdhbGxldFJvdXRlckRhdGEoKXt2YXIgZTtsZXQgdD1udWxsPT0oZT10YS5zdGF0ZS5kYXRhKT92b2lkIDA6ZS5XYWxsZXQ7aWYoIXQpdGhyb3cgRXJyb3IoJ01pc3NpbmcgIldhbGxldCIgdmlldyBkYXRhJyk7cmV0dXJuIHR9LGdldFN3aXRjaE5ldHdvcmtSb3V0ZXJEYXRhKCl7dmFyIGU7bGV0IHQ9bnVsbD09KGU9dGEuc3RhdGUuZGF0YSk/dm9pZCAwOmUuU3dpdGNoTmV0d29yaztpZighdCl0aHJvdyBFcnJvcignTWlzc2luZyAiU3dpdGNoTmV0d29yayIgdmlldyBkYXRhJyk7cmV0dXJuIHR9LGlzUHJlZmVySW5qZWN0ZWRGbGFnOigpPT4idSI+dHlwZW9mIGxvY2F0aW9uJiZuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCkuaGFzKHRzLlczTV9QUkVGRVJfSU5KRUNURURfVVJMX0ZMQUcpfSx0bD0idSI+dHlwZW9mIGxvY2F0aW9uJiYobG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoImxvY2FsaG9zdCIpfHxsb2NhdGlvbi5wcm90b2NvbC5pbmNsdWRlcygiaHR0cHMiKSksdCQ9ZWwoe2VuYWJsZWQ6dGwsdXNlclNlc3Npb25JZDoiIixldmVudHM6W10sY29ubmVjdGVkV2FsbGV0SWQ6dm9pZCAwfSksdGM9e3N0YXRlOnQkLHN1YnNjcmliZTplPT5lJCh0JC5ldmVudHMsKCk9PmUoZnVuY3Rpb24gZSh0LG4pe2xldCByPWVpLmdldCh0KTtyfHxjb25zb2xlLndhcm4oIlBsZWFzZSB1c2UgcHJveHkgb2JqZWN0Iik7bGV0W2ksbyxhXT1yO3JldHVybiBhKGksbygpLHZvaWQgMCl9KHQkLmV2ZW50c1t0JC5ldmVudHMubGVuZ3RoLTFdKSkpLGluaXRpYWxpemUoKXt0JC5lbmFibGVkJiYidSI+dHlwZW9mIGNyeXB0byYmKHQkLnVzZXJTZXNzaW9uSWQ9Y3J5cHRvLnJhbmRvbVVVSUQoKSl9LHNldENvbm5lY3RlZFdhbGxldElkKGUpe3QkLmNvbm5lY3RlZFdhbGxldElkPWV9LGNsaWNrKGUpe2lmKHQkLmVuYWJsZWQpe2xldCB0PXt0eXBlOiJDTElDSyIsbmFtZTplLm5hbWUsdXNlclNlc3Npb25JZDp0JC51c2VyU2Vzc2lvbklkLHRpbWVzdGFtcDpEYXRlLm5vdygpLGRhdGE6ZX07dCQuZXZlbnRzLnB1c2godCl9fSx0cmFjayhlKXtpZih0JC5lbmFibGVkKXtsZXQgdD17dHlwZToiVFJBQ0siLG5hbWU6ZS5uYW1lLHVzZXJTZXNzaW9uSWQ6dCQudXNlclNlc3Npb25JZCx0aW1lc3RhbXA6RGF0ZS5ub3coKSxkYXRhOmV9O3QkLmV2ZW50cy5wdXNoKHQpfX0sdmlldyhlKXtpZih0JC5lbmFibGVkKXtsZXQgdD17dHlwZToiVklFVyIsbmFtZTplLm5hbWUsdXNlclNlc3Npb25JZDp0JC51c2VyU2Vzc2lvbklkLHRpbWVzdGFtcDpEYXRlLm5vdygpLGRhdGE6ZX07dCQuZXZlbnRzLnB1c2godCl9fX0sdGg9ZWwoe3NlbGVjdGVkQ2hhaW46dm9pZCAwLGNoYWluczp2b2lkIDAsc3RhbmRhbG9uZUNoYWluczp2b2lkIDAsc3RhbmRhbG9uZVVyaTp2b2lkIDAsaXNTdGFuZGFsb25lOiExLGlzQXV0aDohMSxpc0N1c3RvbURlc2t0b3A6ITEsaXNDdXN0b21Nb2JpbGU6ITEsaXNEYXRhTG9hZGVkOiExLGlzVWlMb2FkZWQ6ITEsaXNQcmVmZXJJbmplY3RlZDohMSx3YWxsZXRDb25uZWN0VmVyc2lvbjoxfSksdHU9e3N0YXRlOnRoLHN1YnNjcmliZTplPT5lJCh0aCwoKT0+ZSh0aCkpLHNldENoYWlucyhlKXt0aC5jaGFpbnM9ZX0sc2V0U3RhbmRhbG9uZUNoYWlucyhlKXt0aC5zdGFuZGFsb25lQ2hhaW5zPWV9LHNldFN0YW5kYWxvbmVVcmkoZSl7dGguc3RhbmRhbG9uZVVyaT1lfSxnZXRTZWxlY3RlZENoYWluKCl7bGV0IGU9dGkuY2xpZW50KCkuZ2V0TmV0d29yaygpLmNoYWluO3JldHVybiBlJiYodGguc2VsZWN0ZWRDaGFpbj1lKSx0aC5zZWxlY3RlZENoYWlufSxzZXRTZWxlY3RlZENoYWluKGUpe3RoLnNlbGVjdGVkQ2hhaW49ZX0sc2V0SXNTdGFuZGFsb25lKGUpe3RoLmlzU3RhbmRhbG9uZT1lfSxzZXRJc0N1c3RvbURlc2t0b3AoZSl7dGguaXNDdXN0b21EZXNrdG9wPWV9LHNldElzQ3VzdG9tTW9iaWxlKGUpe3RoLmlzQ3VzdG9tTW9iaWxlPWV9LHNldElzRGF0YUxvYWRlZChlKXt0aC5pc0RhdGFMb2FkZWQ9ZX0sc2V0SXNVaUxvYWRlZChlKXt0aC5pc1VpTG9hZGVkPWV9LHNldFdhbGxldENvbm5lY3RWZXJzaW9uKGUpe3RoLndhbGxldENvbm5lY3RWZXJzaW9uPWV9LHNldElzUHJlZmVySW5qZWN0ZWQoZSl7dGguaXNQcmVmZXJJbmplY3RlZD1lfSxzZXRJc0F1dGgoZSl7dGguaXNBdXRoPWV9fSx0ZD1lbCh7cHJvamVjdElkOiIiLG1vYmlsZVdhbGxldHM6dm9pZCAwLGRlc2t0b3BXYWxsZXRzOnZvaWQgMCx3YWxsZXRJbWFnZXM6dm9pZCAwLGNoYWluSW1hZ2VzOnZvaWQgMCx0b2tlbkltYWdlczp2b2lkIDAsdG9rZW5Db250cmFjdHM6dm9pZCAwLHN0YW5kYWxvbmVDaGFpbnM6dm9pZCAwLGVuYWJsZVN0YW5kYWxvbmVNb2RlOiExLGVuYWJsZUF1dGhNb2RlOiExLGVuYWJsZU5ldHdvcmtWaWV3OiExLGVuYWJsZUFjY291bnRWaWV3OiEwLGVuYWJsZUV4cGxvcmVyOiEwLGRlZmF1bHRDaGFpbjp2b2lkIDAsZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczp2b2lkIDAsZXhwbG9yZXJSZWNvbW1lbmRlZFdhbGxldElkczp2b2lkIDAsdGVybXNPZlNlcnZpY2VVcmw6dm9pZCAwLHByaXZhY3lQb2xpY3lVcmw6dm9pZCAwfSksdF89e3N0YXRlOnRkLHN1YnNjcmliZTplPT5lJCh0ZCwoKT0+ZSh0ZCkpLHNldENvbmZpZyhlKXt2YXIgdCxuLHIsaTt0Yy5pbml0aWFsaXplKCksdHUuc2V0U3RhbmRhbG9uZUNoYWlucyhlLnN0YW5kYWxvbmVDaGFpbnMpLHR1LnNldElzU3RhbmRhbG9uZSghIShudWxsIT0odD1lLnN0YW5kYWxvbmVDaGFpbnMpJiZ0Lmxlbmd0aCl8fCEhZS5lbmFibGVTdGFuZGFsb25lTW9kZSksdHUuc2V0SXNBdXRoKCEhZS5lbmFibGVBdXRoTW9kZSksdHUuc2V0SXNDdXN0b21Nb2JpbGUoISEobnVsbCE9KG49ZS5tb2JpbGVXYWxsZXRzKSYmbi5sZW5ndGgpKSx0dS5zZXRJc0N1c3RvbURlc2t0b3AoISEobnVsbCE9KHI9ZS5kZXNrdG9wV2FsbGV0cykmJnIubGVuZ3RoKSksdHUuc2V0V2FsbGV0Q29ubmVjdFZlcnNpb24obnVsbCE9KGk9ZS53YWxsZXRDb25uZWN0VmVyc2lvbik/aToxKSx0dS5zdGF0ZS5pc1N0YW5kYWxvbmV8fCh0dS5zZXRDaGFpbnModGkuY2xpZW50KCkuY2hhaW5zKSx0dS5zZXRJc1ByZWZlckluamVjdGVkKHRpLmNsaWVudCgpLmlzSW5qZWN0ZWRQcm92aWRlckluc3RhbGxlZCgpJiZ0cy5pc1ByZWZlckluamVjdGVkRmxhZygpKSksZS5kZWZhdWx0Q2hhaW4mJnR1LnNldFNlbGVjdGVkQ2hhaW4oZS5kZWZhdWx0Q2hhaW4pLHRzLnNldFdlYjNNb2RhbFZlcnNpb25JblN0b3JhZ2UoKSxPYmplY3QuYXNzaWduKHRkLGUpfX0sdGY9ZWwoe2FkZHJlc3M6dm9pZCAwLHByb2ZpbGVOYW1lOnZvaWQgMCxwcm9maWxlQXZhdGFyOnZvaWQgMCxwcm9maWxlTG9hZGluZzohMSxiYWxhbmNlTG9hZGluZzohMSxiYWxhbmNlOnZvaWQgMCxpc0Nvbm5lY3RlZDohMX0pLHRwPXtzdGF0ZTp0ZixzdWJzY3JpYmU6ZT0+ZSQodGYsKCk9PmUodGYpKSxnZXRBY2NvdW50KCl7bGV0IGU9dGkuY2xpZW50KCkuZ2V0QWNjb3VudCgpO3RmLmFkZHJlc3M9ZS5hZGRyZXNzLHRmLmlzQ29ubmVjdGVkPWUuaXNDb25uZWN0ZWR9LGFzeW5jIGZldGNoUHJvZmlsZShlLHQpe3ZhciBuO3RyeXt0Zi5wcm9maWxlTG9hZGluZz0hMDtsZXQgcj10Pz90Zi5hZGRyZXNzLGk9bnVsbD09KG49dHUuc3RhdGUuY2hhaW5zKT92b2lkIDA6bi5maW5kKGU9PjE9PT1lLmlkKTtpZihyJiZpKXtsZXQgbz1hd2FpdCB0aS5jbGllbnQoKS5mZXRjaEVuc05hbWUoe2FkZHJlc3M6cixjaGFpbklkOjF9KTtpZihvKXtsZXQgYT1hd2FpdCB0aS5jbGllbnQoKS5mZXRjaEVuc0F2YXRhcih7bmFtZTpvLGNoYWluSWQ6MX0pO2EmJmF3YWl0IGUoYSksdGYucHJvZmlsZUF2YXRhcj1hfXRmLnByb2ZpbGVOYW1lPW99fWZpbmFsbHl7dGYucHJvZmlsZUxvYWRpbmc9ITF9fSxhc3luYyBmZXRjaEJhbGFuY2UoZSl7dHJ5e2xldHtjaGFpbjp0fT10aS5jbGllbnQoKS5nZXROZXR3b3JrKCkse3Rva2VuQ29udHJhY3RzOm59PXRfLnN0YXRlLHI7dCYmbiYmKHI9blt0LmlkXSksdGYuYmFsYW5jZUxvYWRpbmc9ITA7bGV0IGk9ZT8/dGYuYWRkcmVzcztpZihpKXtsZXQgbz1hd2FpdCB0aS5jbGllbnQoKS5mZXRjaEJhbGFuY2Uoe2FkZHJlc3M6aSx0b2tlbjpyfSk7dGYuYmFsYW5jZT17YW1vdW50Om8uZm9ybWF0dGVkLHN5bWJvbDpvLnN5bWJvbH19fWZpbmFsbHl7dGYuYmFsYW5jZUxvYWRpbmc9ITF9fSxzZXRBZGRyZXNzKGUpe3RmLmFkZHJlc3M9ZX0sc2V0SXNDb25uZWN0ZWQoZSl7dGYuaXNDb25uZWN0ZWQ9ZX0scmVzZXRCYWxhbmNlKCl7dGYuYmFsYW5jZT12b2lkIDB9LHJlc2V0QWNjb3VudCgpe3RmLmFkZHJlc3M9dm9pZCAwLHRmLmlzQ29ubmVjdGVkPSExLHRmLnByb2ZpbGVOYW1lPXZvaWQgMCx0Zi5wcm9maWxlQXZhdGFyPXZvaWQgMCx0Zi5iYWxhbmNlPXZvaWQgMH19LHQxPSJodHRwczovL2V4cGxvcmVyLWFwaS53YWxsZXRjb25uZWN0LmNvbSI7YXN5bmMgZnVuY3Rpb24gdDAoZSx0KXtsZXQgbj1uZXcgVVJMKGUsdDEpO3JldHVybiBuLnNlYXJjaFBhcmFtcy5hcHBlbmQoInByb2plY3RJZCIsdF8uc3RhdGUucHJvamVjdElkKSxPYmplY3QuZW50cmllcyh0KS5mb3JFYWNoKChbZSx0XSk9Pnt0JiZuLnNlYXJjaFBhcmFtcy5hcHBlbmQoZSxTdHJpbmcodCkpfSksKGF3YWl0IGZldGNoKG4pKS5qc29uKCl9bGV0IHRnPXtnZXREZXNrdG9wTGlzdGluZ3M6YXN5bmMgZT0+dDAoIi93M20vdjEvZ2V0RGVza3RvcExpc3RpbmdzIixlKSxnZXRNb2JpbGVMaXN0aW5nczphc3luYyBlPT50MCgiL3czbS92MS9nZXRNb2JpbGVMaXN0aW5ncyIsZSksZ2V0SW5qZWN0ZWRMaXN0aW5nczphc3luYyBlPT50MCgiL3czbS92MS9nZXRJbmplY3RlZExpc3RpbmdzIixlKSxnZXRBbGxMaXN0aW5nczphc3luYyBlPT50MCgiL3czbS92MS9nZXRBbGxMaXN0aW5ncyIsZSksZ2V0V2FsbGV0SW1hZ2VVcmw6ZT0+YCR7dDF9L3czbS92MS9nZXRXYWxsZXRJbWFnZS8ke2V9P3Byb2plY3RJZD0ke3RfLnN0YXRlLnByb2plY3RJZH1gLGdldEFzc2V0SW1hZ2VVcmw6ZT0+YCR7dDF9L3czbS92MS9nZXRBc3NldEltYWdlLyR7ZX0/cHJvamVjdElkPSR7dF8uc3RhdGUucHJvamVjdElkfWB9O3ZhciB0bT1PYmplY3QuZGVmaW5lUHJvcGVydHksdDM9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyx0dz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHR2PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsdDI9KGUsdCxuKT0+dCBpbiBlP3RtKGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOmVbdF09bix0ND0oZSx0KT0+e2Zvcih2YXIgbiBpbiB0fHwodD17fSkpdHcuY2FsbCh0LG4pJiZ0MihlLG4sdFtuXSk7aWYodDMpZm9yKHZhciBuIG9mIHQzKHQpKXR2LmNhbGwodCxuKSYmdDIoZSxuLHRbbl0pO3JldHVybiBlfTtsZXQgdGI9dHMuaXNNb2JpbGUoKSx0OD1lbCh7d2FsbGV0czp7bGlzdGluZ3M6W10sdG90YWw6MCxwYWdlOjF9LGluamVjdGVkV2FsbGV0czpbXSxzZWFyY2g6e2xpc3RpbmdzOltdLHRvdGFsOjAscGFnZToxfSxyZWNvbWVuZGVkV2FsbGV0czpbXX0pLHQ2PXtzdGF0ZTp0OCxhc3luYyBnZXRSZWNvbWVuZGVkV2FsbGV0cygpe2xldHtleHBsb3JlclJlY29tbWVuZGVkV2FsbGV0SWRzOmUsZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczp0fT10Xy5zdGF0ZTtpZigiTk9ORSI9PT1lfHwiQUxMIj09PXQmJiFlKXJldHVybiB0OC5yZWNvbWVuZGVkV2FsbGV0cztpZih0cy5pc0FycmF5KGUpKXtsZXQgbj17cmVjb21tZW5kZWRJZHM6ZS5qb2luKCIsIil9LHtsaXN0aW5nczpyfT1hd2FpdCB0Zy5nZXRBbGxMaXN0aW5ncyhuKSxpPU9iamVjdC52YWx1ZXMocik7aS5zb3J0KCh0LG4pPT57bGV0IHI9ZS5pbmRleE9mKHQuaWQpLGk9ZS5pbmRleE9mKG4uaWQpO3JldHVybiByLWl9KSx0OC5yZWNvbWVuZGVkV2FsbGV0cz1pfWVsc2V7bGV0e3N0YW5kYWxvbmVDaGFpbnM6byx3YWxsZXRDb25uZWN0VmVyc2lvbjphLGlzQXV0aDpzfT10dS5zdGF0ZSxsPW8/LmpvaW4oIiwiKSwkPXRzLmlzQXJyYXkodCksYz17cGFnZToxLHNka3M6cz8iYXV0aF92MSI6dm9pZCAwLGVudHJpZXM6dHMuUkVDT01NRU5ERURfV0FMTEVUX0FNT1VOVCxjaGFpbnM6bCx2ZXJzaW9uOmEsZXhjbHVkZWRJZHM6JD90LmpvaW4oIiwiKTp2b2lkIDB9LHtsaXN0aW5nczpofT10Yj9hd2FpdCB0Zy5nZXRNb2JpbGVMaXN0aW5ncyhjKTphd2FpdCB0Zy5nZXREZXNrdG9wTGlzdGluZ3MoYyk7dDgucmVjb21lbmRlZFdhbGxldHM9T2JqZWN0LnZhbHVlcyhoKX1yZXR1cm4gdDgucmVjb21lbmRlZFdhbGxldHN9LGFzeW5jIGdldFdhbGxldHMoZSl7bGV0IHQ9dDQoe30sZSkse2V4cGxvcmVyUmVjb21tZW5kZWRXYWxsZXRJZHM6bixleHBsb3JlckV4Y2x1ZGVkV2FsbGV0SWRzOnJ9PXRfLnN0YXRlLHtyZWNvbWVuZGVkV2FsbGV0czppfT10ODtpZigiQUxMIj09PXIpcmV0dXJuIHQ4LndhbGxldHM7dC5zZWFyY2h8fChpLmxlbmd0aD90LmV4Y2x1ZGVkSWRzPWkubWFwKGU9PmUuaWQpLmpvaW4oIiwiKTp0cy5pc0FycmF5KG4pJiYodC5leGNsdWRlZElkcz1uLmpvaW4oIiwiKSkpLHRzLmlzQXJyYXkocikmJih0LmV4Y2x1ZGVkSWRzPVt0LmV4Y2x1ZGVkSWRzLHJdLmZpbHRlcihCb29sZWFuKS5qb2luKCIsIikpLHR1LnN0YXRlLmlzQXV0aCYmKHQuc2Rrcz0iYXV0aF92MSIpO2xldHtwYWdlOm8sc2VhcmNoOmF9PWUse2xpc3RpbmdzOnMsdG90YWw6bH09dGI/YXdhaXQgdGcuZ2V0TW9iaWxlTGlzdGluZ3ModCk6YXdhaXQgdGcuZ2V0RGVza3RvcExpc3RpbmdzKHQpLCQ9T2JqZWN0LnZhbHVlcyhzKSxjPWE/InNlYXJjaCI6IndhbGxldHMiO3JldHVybiB0OFtjXT17bGlzdGluZ3M6Wy4uLnQ4W2NdLmxpc3RpbmdzLC4uLiRdLHRvdGFsOmwscGFnZTpvPz8xfSx7bGlzdGluZ3M6JCx0b3RhbDpsfX0sYXN5bmMgZ2V0SW5qZWN0ZWRXYWxsZXRzKCl7bGV0e2xpc3RpbmdzOmV9PWF3YWl0IHRnLmdldEluamVjdGVkTGlzdGluZ3Moe30pLHQ9T2JqZWN0LnZhbHVlcyhlKTtyZXR1cm4gdDguaW5qZWN0ZWRXYWxsZXRzPXQsdDguaW5qZWN0ZWRXYWxsZXRzfSxnZXRXYWxsZXRJbWFnZVVybDplPT50Zy5nZXRXYWxsZXRJbWFnZVVybChlKSxnZXRBc3NldEltYWdlVXJsOmU9PnRnLmdldEFzc2V0SW1hZ2VVcmwoZSkscmVzZXRTZWFyY2goKXt0OC5zZWFyY2g9e2xpc3RpbmdzOltdLHRvdGFsOjAscGFnZToxfX19LHR5PWVsKHtwYWlyaW5nVXJpOiIiLHBhaXJpbmdFcnJvcjohMX0pLHQ1PXtzdGF0ZTp0eSxzdWJzY3JpYmU6ZT0+ZSQodHksKCk9PmUodHkpKSxzZXRQYWlyaW5nVXJpKGUpe3R5LnBhaXJpbmdVcmk9ZX0sc2V0UGFpcmluZ0Vycm9yKGUpe3R5LnBhaXJpbmdFcnJvcj1lfX0sdHg9ZWwoe29wZW46ITF9KSx0Nz17c3RhdGU6dHgsc3Vic2NyaWJlOmU9PmUkKHR4LCgpPT5lKHR4KSksb3Blbjphc3luYyBlPT5uZXcgUHJvbWlzZSh0PT57bGV0e2lzU3RhbmRhbG9uZTpuLGlzVWlMb2FkZWQ6cixpc0RhdGFMb2FkZWQ6aSxpc1ByZWZlckluamVjdGVkOm8sc2VsZWN0ZWRDaGFpbjphfT10dS5zdGF0ZSx7aXNDb25uZWN0ZWQ6c309dHAuc3RhdGUse2VuYWJsZU5ldHdvcmtWaWV3Omx9PXRfLnN0YXRlO2lmKG4pdHUuc2V0U3RhbmRhbG9uZVVyaShlPy51cmkpLHR1LnNldFN0YW5kYWxvbmVDaGFpbnMoZT8uc3RhbmRhbG9uZUNoYWlucyksdGEucmVzZXQoIkNvbm5lY3RXYWxsZXQiKTtlbHNlIGlmKG51bGwhPWUmJmUucm91dGUpdGEucmVzZXQoZS5yb3V0ZSk7ZWxzZSBpZihzKXRhLnJlc2V0KCJBY2NvdW50Iik7ZWxzZSBpZihsKXRhLnJlc2V0KCJTZWxlY3ROZXR3b3JrIik7ZWxzZSBpZihvKXt0aS5jbGllbnQoKS5jb25uZWN0Q29ubmVjdG9yKCJpbmplY3RlZCIsYT8uaWQpLmNhdGNoKGU9PmNvbnNvbGUuZXJyb3IoZSkpLHQoKTtyZXR1cm59ZWxzZSB0YS5yZXNldCgiQ29ubmVjdFdhbGxldCIpO2xldHtwYWlyaW5nVXJpOiR9PXQ1LnN0YXRlO2lmKHImJmkmJihufHwkfHxzKSl0eC5vcGVuPSEwLHQoKTtlbHNle2xldCBjPXNldEludGVydmFsKCgpPT57bGV0IGU9dHUuc3RhdGUsbj10NS5zdGF0ZTtlLmlzVWlMb2FkZWQmJmUuaXNEYXRhTG9hZGVkJiYoZS5pc1N0YW5kYWxvbmV8fG4ucGFpcmluZ1VyaXx8cykmJihjbGVhckludGVydmFsKGMpLHR4Lm9wZW49ITAsdCgpKX0sMjAwKX19KSxjbG9zZSgpe3R4Lm9wZW49ITF9fTt2YXIgdEU9T2JqZWN0LmRlZmluZVByb3BlcnR5LHRDPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsdEQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0az1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLHRBPShlLHQsbik9PnQgaW4gZT90RShlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTplW3RdPW4sdEk9KGUsdCk9Pntmb3IodmFyIG4gaW4gdHx8KHQ9e30pKXRELmNhbGwodCxuKSYmdEEoZSxuLHRbbl0pO2lmKHRDKWZvcih2YXIgbiBvZiB0Qyh0KSl0ay5jYWxsKHQsbikmJnRBKGUsbix0W25dKTtyZXR1cm4gZX07bGV0IHRUPWVsKHt0aGVtZU1vZGU6InUiPnR5cGVvZiBtYXRjaE1lZGlhJiZtYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcz8iZGFyayI6ImxpZ2h0In0pLHRTPXtzdGF0ZTp0VCxzdWJzY3JpYmU6ZT0+ZSQodFQsKCk9PmUodFQpKSxzZXRUaGVtZUNvbmZpZyhlKXtsZXR7dGhlbWVNb2RlOnQsdGhlbWVWYXJpYWJsZXM6bn09ZTt0JiYodFQudGhlbWVNb2RlPXQpLG4mJih0VC50aGVtZVZhcmlhYmxlcz10SSh7fSxuKSl9fSx0TD1lbCh7b3BlbjohMSxtZXNzYWdlOiIiLHZhcmlhbnQ6InN1Y2Nlc3MifSksdE49e3N0YXRlOnRMLHN1YnNjcmliZTplPT5lJCh0TCwoKT0+ZSh0TCkpLG9wZW5Ub2FzdChlLHQpe3RMLm9wZW49ITAsdEwubWVzc2FnZT1lLHRMLnZhcmlhbnQ9dH0sY2xvc2VUb2FzdCgpe3RMLm9wZW49ITF9fTsidSI+dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5CdWZmZXJ8fCh3aW5kb3cuQnVmZmVyPWU4KSx3aW5kb3cuZ2xvYmFsfHwod2luZG93Lmdsb2JhbD13aW5kb3cpLHdpbmRvdy5wcm9jZXNzfHwod2luZG93LnByb2Nlc3M9e2Vudjp7fX0pKTt2YXIgdE8sdE0sdFAsdDk9T2JqZWN0LmRlZmluZVByb3BlcnR5LHRSPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsdFU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0Qj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLHRXPShlLHQsbik9PnQgaW4gZT90OShlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTplW3RdPW4sdEY9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsV2ViM01vZGFsOmNsYXNzIGV7Y29uc3RydWN0b3IoZSl7dGhpcy5vcGVuTW9kYWw9dDcub3Blbix0aGlzLmNsb3NlTW9kYWw9dDcuY2xvc2UsdGhpcy5zdWJzY3JpYmVNb2RhbD10Ny5zdWJzY3JpYmUsdGhpcy5zZXRUaGVtZT10Uy5zZXRUaGVtZUNvbmZpZyx0Uy5zZXRUaGVtZUNvbmZpZyhlKSx0Xy5zZXRDb25maWcoKChlLHQpPT57Zm9yKHZhciBuIGluIHR8fCh0PXt9KSl0VS5jYWxsKHQsbikmJnRXKGUsbix0W25dKTtpZih0Uilmb3IodmFyIG4gb2YgdFIodCkpdEIuY2FsbCh0LG4pJiZ0VyhlLG4sdFtuXSk7cmV0dXJuIGV9KSh7ZW5hYmxlU3RhbmRhbG9uZU1vZGU6ITB9LGUpKSx0aGlzLmluaXRVaSgpfWFzeW5jIGluaXRVaSgpe2lmKCJ1Ij50eXBlb2Ygd2luZG93KXthd2FpdCBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHZUfSk7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidzNtLW1vZGFsIik7ZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImJlZm9yZWVuZCIsZSksdHUuc2V0SXNVaUxvYWRlZCghMCl9fX19KSx0ej1PKHRGKSx0SD17fSx0aj17fSx0Wj17fSx0WT17fTshZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLHQpe3JldHVybiBlK3R8MH1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIGUtdHwwfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLm11bD1NYXRoLmltdWx8fGZ1bmN0aW9uIGUodCxuKXt2YXIgcj02NTUzNSZ0LGk9NjU1MzUmbjtyZXR1cm4gcippKygodD4+PjE2JjY1NTM1KSppK3IqKG4+Pj4xNiY2NTUzNSk8PDE2Pj4+MCl8MH0sZS5hZGQ9dCxlLnN1Yj1uLGUucm90bD1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIHQ8PG58dD4+PjMyLW59LGUucm90cj1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIHQ8PDMyLW58dD4+Pm59LGUuaXNJbnRlZ2VyPU51bWJlci5pc0ludGVnZXJ8fGZ1bmN0aW9uIGUodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZpc0Zpbml0ZSh0KSYmTWF0aC5mbG9vcih0KT09PXR9LGUuTUFYX1NBRkVfSU5URUdFUj05MDA3MTk5MjU0NzQwOTkxLGUuaXNTYWZlSW50ZWdlcj1mdW5jdGlvbih0KXtyZXR1cm4gZS5pc0ludGVnZXIodCkmJnQ+PS1lLk1BWF9TQUZFX0lOVEVHRVImJnQ8PWUuTUFYX1NBRkVfSU5URUdFUn19KHRZKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodFosIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0Vj10WTtmdW5jdGlvbiB0RyhlLHQsbil7cmV0dXJuIHZvaWQgMD09PXQmJih0PW5ldyBVaW50OEFycmF5KDIpKSx2b2lkIDA9PT1uJiYobj0wKSx0W24rMF09ZT4+PjgsdFtuKzFdPWU+Pj4wLHR9ZnVuY3Rpb24gdEsoZSx0LG4pe3JldHVybiB2b2lkIDA9PT10JiYodD1uZXcgVWludDhBcnJheSgyKSksdm9pZCAwPT09biYmKG49MCksdFtuKzBdPWU+Pj4wLHRbbisxXT1lPj4+OCx0fWZ1bmN0aW9uIHRxKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PTApLGVbdF08PDI0fGVbdCsxXTw8MTZ8ZVt0KzJdPDw4fGVbdCszXX1mdW5jdGlvbiB0UShlLHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0wKSwoZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdKT4+PjB9ZnVuY3Rpb24gdFgoZSx0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9MCksZVt0KzNdPDwyNHxlW3QrMl08PDE2fGVbdCsxXTw8OHxlW3RdfWZ1bmN0aW9uIHRKKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PTApLChlW3QrM108PDI0fGVbdCsyXTw8MTZ8ZVt0KzFdPDw4fGVbdF0pPj4+MH1mdW5jdGlvbiBuZShlLHQsbil7cmV0dXJuIHZvaWQgMD09PXQmJih0PW5ldyBVaW50OEFycmF5KDQpKSx2b2lkIDA9PT1uJiYobj0wKSx0W24rMF09ZT4+PjI0LHRbbisxXT1lPj4+MTYsdFtuKzJdPWU+Pj44LHRbbiszXT1lPj4+MCx0fWZ1bmN0aW9uIG50KGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9bmV3IFVpbnQ4QXJyYXkoNCkpLHZvaWQgMD09PW4mJihuPTApLHRbbiswXT1lPj4+MCx0W24rMV09ZT4+PjgsdFtuKzJdPWU+Pj4xNix0W24rM109ZT4+PjI0LHR9ZnVuY3Rpb24gbm4oZSx0LG4pe3JldHVybiB2b2lkIDA9PT10JiYodD1uZXcgVWludDhBcnJheSg4KSksdm9pZCAwPT09biYmKG49MCksbmUoZS80Mjk0OTY3Mjk2Pj4+MCx0LG4pLG5lKGU+Pj4wLHQsbis0KSx0fWZ1bmN0aW9uIG5yKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9bmV3IFVpbnQ4QXJyYXkoOCkpLHZvaWQgMD09PW4mJihuPTApLG50KGU+Pj4wLHQsbiksbnQoZS80Mjk0OTY3Mjk2Pj4+MCx0LG4rNCksdH10Wi5yZWFkSW50MTZCRT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPTApLCh0W24rMF08PDh8dFtuKzFdKTw8MTY+PjE2fSx0Wi5yZWFkVWludDE2QkU9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj0wKSwodFtuKzBdPDw4fHRbbisxXSk+Pj4wfSx0Wi5yZWFkSW50MTZMRT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPTApLCh0W24rMV08PDh8dFtuXSk8PDE2Pj4xNn0sdFoucmVhZFVpbnQxNkxFPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49MCksKHRbbisxXTw8OHx0W25dKT4+PjB9LHRaLndyaXRlVWludDE2QkU9dEcsdFoud3JpdGVJbnQxNkJFPXRHLHRaLndyaXRlVWludDE2TEU9dEssdFoud3JpdGVJbnQxNkxFPXRLLHRaLnJlYWRJbnQzMkJFPXRxLHRaLnJlYWRVaW50MzJCRT10USx0Wi5yZWFkSW50MzJMRT10WCx0Wi5yZWFkVWludDMyTEU9dEosdFoud3JpdGVVaW50MzJCRT1uZSx0Wi53cml0ZUludDMyQkU9bmUsdFoud3JpdGVVaW50MzJMRT1udCx0Wi53cml0ZUludDMyTEU9bnQsdFoucmVhZEludDY0QkU9ZnVuY3Rpb24gZSh0LG4pe3ZvaWQgMD09PW4mJihuPTApO3ZhciByPXRxKHQsbiksaT10cSh0LG4rNCk7cmV0dXJuIDQyOTQ5NjcyOTYqcitpLShpPj4zMSkqNDI5NDk2NzI5Nn0sdFoucmVhZFVpbnQ2NEJFPWZ1bmN0aW9uIGUodCxuKXt2b2lkIDA9PT1uJiYobj0wKTt2YXIgcj10USh0LG4pLGk9dFEodCxuKzQpO3JldHVybiA0Mjk0OTY3Mjk2KnIraX0sdFoucmVhZEludDY0TEU9ZnVuY3Rpb24gZSh0LG4pe3ZvaWQgMD09PW4mJihuPTApO3ZhciByPXRYKHQsbik7cmV0dXJuIDQyOTQ5NjcyOTYqdFgodCxuKzQpK3ItKHI+PjMxKSo0Mjk0OTY3Mjk2fSx0Wi5yZWFkVWludDY0TEU9ZnVuY3Rpb24gZSh0LG4pe3ZvaWQgMD09PW4mJihuPTApO3ZhciByPXRKKHQsbik7cmV0dXJuIDQyOTQ5NjcyOTYqdEoodCxuKzQpK3J9LHRaLndyaXRlVWludDY0QkU9bm4sdFoud3JpdGVJbnQ2NEJFPW5uLHRaLndyaXRlVWludDY0TEU9bnIsdFoud3JpdGVJbnQ2NExFPW5yLHRaLnJlYWRVaW50QkU9ZnVuY3Rpb24gZSh0LG4scil7aWYodm9pZCAwPT09ciYmKHI9MCksdCU4IT0wKXRocm93IEVycm9yKCJyZWFkVWludEJFIHN1cHBvcnRzIG9ubHkgYml0TGVuZ3RocyBkaXZpc2libGUgYnkgOCIpO2lmKHQvOD5uLmxlbmd0aC1yKXRocm93IEVycm9yKCJyZWFkVWludEJFOiBhcnJheSBpcyB0b28gc2hvcnQgZm9yIHRoZSBnaXZlbiBiaXRMZW5ndGgiKTtmb3IodmFyIGk9MCxvPTEsYT10Lzgrci0xO2E+PXI7YS0tKWkrPW5bYV0qbyxvKj0yNTY7cmV0dXJuIGl9LHRaLnJlYWRVaW50TEU9ZnVuY3Rpb24gZSh0LG4scil7aWYodm9pZCAwPT09ciYmKHI9MCksdCU4IT0wKXRocm93IEVycm9yKCJyZWFkVWludExFIHN1cHBvcnRzIG9ubHkgYml0TGVuZ3RocyBkaXZpc2libGUgYnkgOCIpO2lmKHQvOD5uLmxlbmd0aC1yKXRocm93IEVycm9yKCJyZWFkVWludExFOiBhcnJheSBpcyB0b28gc2hvcnQgZm9yIHRoZSBnaXZlbiBiaXRMZW5ndGgiKTtmb3IodmFyIGk9MCxvPTEsYT1yO2E8cit0Lzg7YSsrKWkrPW5bYV0qbyxvKj0yNTY7cmV0dXJuIGl9LHRaLndyaXRlVWludEJFPWZ1bmN0aW9uIGUodCxuLHIsaSl7aWYodm9pZCAwPT09ciYmKHI9bmV3IFVpbnQ4QXJyYXkodC84KSksdm9pZCAwPT09aSYmKGk9MCksdCU4IT0wKXRocm93IEVycm9yKCJ3cml0ZVVpbnRCRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDgiKTtpZighdFYuaXNTYWZlSW50ZWdlcihuKSl0aHJvdyBFcnJvcigid3JpdGVVaW50QkUgdmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyIik7Zm9yKHZhciBvPTEsYT10LzgraS0xO2E+PWk7YS0tKXJbYV09bi9vJjI1NSxvKj0yNTY7cmV0dXJuIHJ9LHRaLndyaXRlVWludExFPWZ1bmN0aW9uIGUodCxuLHIsaSl7aWYodm9pZCAwPT09ciYmKHI9bmV3IFVpbnQ4QXJyYXkodC84KSksdm9pZCAwPT09aSYmKGk9MCksdCU4IT0wKXRocm93IEVycm9yKCJ3cml0ZVVpbnRMRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDgiKTtpZighdFYuaXNTYWZlSW50ZWdlcihuKSl0aHJvdyBFcnJvcigid3JpdGVVaW50TEUgdmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyIik7Zm9yKHZhciBvPTEsYT1pO2E8aSt0Lzg7YSsrKXJbYV09bi9vJjI1NSxvKj0yNTY7cmV0dXJuIHJ9LHRaLnJlYWRGbG9hdDMyQkU9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj0wKSxuZXcgRGF0YVZpZXcodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCkuZ2V0RmxvYXQzMihuKX0sdFoucmVhZEZsb2F0MzJMRT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPTApLG5ldyBEYXRhVmlldyh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKS5nZXRGbG9hdDMyKG4sITApfSx0Wi5yZWFkRmxvYXQ2NEJFPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49MCksbmV3IERhdGFWaWV3KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpLmdldEZsb2F0NjQobil9LHRaLnJlYWRGbG9hdDY0TEU9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj0wKSxuZXcgRGF0YVZpZXcodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCkuZ2V0RmxvYXQ2NChuLCEwKX0sdFoud3JpdGVGbG9hdDMyQkU9ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuIHZvaWQgMD09PW4mJihuPW5ldyBVaW50OEFycmF5KDQpKSx2b2lkIDA9PT1yJiYocj0wKSxuZXcgRGF0YVZpZXcobi5idWZmZXIsbi5ieXRlT2Zmc2V0LG4uYnl0ZUxlbmd0aCkuc2V0RmxvYXQzMihyLHQpLG59LHRaLndyaXRlRmxvYXQzMkxFPWZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiB2b2lkIDA9PT1uJiYobj1uZXcgVWludDhBcnJheSg0KSksdm9pZCAwPT09ciYmKHI9MCksbmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLnNldEZsb2F0MzIocix0LCEwKSxufSx0Wi53cml0ZUZsb2F0NjRCRT1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4gdm9pZCAwPT09biYmKG49bmV3IFVpbnQ4QXJyYXkoOCkpLHZvaWQgMD09PXImJihyPTApLG5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKS5zZXRGbG9hdDY0KHIsdCksbn0sdFoud3JpdGVGbG9hdDY0TEU9ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuIHZvaWQgMD09PW4mJihuPW5ldyBVaW50OEFycmF5KDgpKSx2b2lkIDA9PT1yJiYocj0wKSxuZXcgRGF0YVZpZXcobi5idWZmZXIsbi5ieXRlT2Zmc2V0LG4uYnl0ZUxlbmd0aCkuc2V0RmxvYXQ2NChyLHQsITApLG59O3ZhciBuaT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkobmksIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG5pLndpcGU9ZnVuY3Rpb24gZSh0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl0W25dPTA7cmV0dXJuIHR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG5vPXRaLG5hPW5pO2Z1bmN0aW9uIG5zKGUsdCxuKXtmb3IodmFyIHI9blszXTw8MjR8blsyXTw8MTZ8blsxXTw8OHxuWzBdLGk9bls3XTw8MjR8bls2XTw8MTZ8bls1XTw8OHxuWzRdLG89blsxMV08PDI0fG5bMTBdPDwxNnxuWzldPDw4fG5bOF0sYT1uWzE1XTw8MjR8blsxNF08PDE2fG5bMTNdPDw4fG5bMTJdLHM9blsxOV08PDI0fG5bMThdPDwxNnxuWzE3XTw8OHxuWzE2XSxsPW5bMjNdPDwyNHxuWzIyXTw8MTZ8blsyMV08PDh8blsyMF0sJD1uWzI3XTw8MjR8blsyNl08PDE2fG5bMjVdPDw4fG5bMjRdLGM9blszMV08PDI0fG5bMzBdPDwxNnxuWzI5XTw8OHxuWzI4XSxoPXRbM108PDI0fHRbMl08PDE2fHRbMV08PDh8dFswXSx1PXRbN108PDI0fHRbNl08PDE2fHRbNV08PDh8dFs0XSxkPXRbMTFdPDwyNHx0WzEwXTw8MTZ8dFs5XTw8OHx0WzhdLF89dFsxNV08PDI0fHRbMTRdPDwxNnx0WzEzXTw8OHx0WzEyXSxmPTE2MzQ3NjA4MDUscD04NTc3NjA4NzgsZz0yMDM2NDc3MjM0LG09MTc5NzI4NTIzNix3PXIsdj1pLGI9byx5PWEseD1zLEU9bCxDPSQsRD1jLGs9aCxBPXUsST1kLFQ9XyxTPTA7UzwyMDtTKz0yKWtePWY9Zit3fDAsd149eD14KyhrPWs+Pj4xNnxrPDwxNil8MCx3PXc+Pj4yMHx3PDwxMixBXj1wPXArdnwwLHZePUU9RSsoQT1BPj4+MTZ8QTw8MTYpfDAsdj12Pj4+MjB8djw8MTIsSV49Zz1nK2J8MCxiXj1DPUMrKEk9ST4+PjE2fEk8PDE2KXwwLGI9Yj4+PjIwfGI8PDEyLFRePW09bSt5fDAseV49RD1EKyhUPVQ+Pj4xNnxUPDwxNil8MCx5PXk+Pj4yMHx5PDwxMixJXj1nPWcrYnwwLGJePUM9QysoST1JPj4+MjR8STw8OCl8MCxiPWI+Pj4yNXxiPDw3LFRePW09bSt5fDAseV49RD1EKyhUPVQ+Pj4yNHxUPDw4KXwwLHk9eT4+PjI1fHk8PDcsQV49cD1wK3Z8MCx2Xj1FPUUrKEE9QT4+PjI0fEE8PDgpfDAsdj12Pj4+MjV8djw8NyxrXj1mPWYrd3wwLHdePXg9eCsoaz1rPj4+MjR8azw8OCl8MCx3PXc+Pj4yNXx3PDw3LFRePWY9Zit2fDAsdl49Qz1DKyhUPVQ+Pj4xNnxUPDwxNil8MCx2PXY+Pj4yMHx2PDwxMixrXj1wPXArYnwwLGJePUQ9RCsoaz1rPj4+MTZ8azw8MTYpfDAsYj1iPj4+MjB8Yjw8MTIsQV49Zz1nK3l8MCx5Xj14PXgrKEE9QT4+PjE2fEE8PDE2KXwwLHk9eT4+PjIwfHk8PDEyLElePW09bSt3fDAsd149RT1FKyhJPUk+Pj4xNnxJPDwxNil8MCx3PXc+Pj4yMHx3PDwxMixBXj1nPWcreXwwLHlePXg9eCsoQT1BPj4+MjR8QTw8OCl8MCx5PXk+Pj4yNXx5PDw3LElePW09bSt3fDAsd149RT1FKyhJPUk+Pj4yNHxJPDw4KXwwLHc9dz4+PjI1fHc8PDcsa149cD1wK2J8MCxiXj1EPUQrKGs9az4+PjI0fGs8PDgpfDAsYj1iPj4+MjV8Yjw8NyxUXj1mPWYrdnwwLHZePUM9QysoVD1UPj4+MjR8VDw8OCl8MCx2PXY+Pj4yNXx2PDw3O25vLndyaXRlVWludDMyTEUoZisxNjM0NzYwODA1fDAsZSwwKSxuby53cml0ZVVpbnQzMkxFKHArODU3NzYwODc4fDAsZSw0KSxuby53cml0ZVVpbnQzMkxFKGcrMjAzNjQ3NzIzNHwwLGUsOCksbm8ud3JpdGVVaW50MzJMRShtKzE3OTcyODUyMzZ8MCxlLDEyKSxuby53cml0ZVVpbnQzMkxFKHcrcnwwLGUsMTYpLG5vLndyaXRlVWludDMyTEUoditpfDAsZSwyMCksbm8ud3JpdGVVaW50MzJMRShiK298MCxlLDI0KSxuby53cml0ZVVpbnQzMkxFKHkrYXwwLGUsMjgpLG5vLndyaXRlVWludDMyTEUoeCtzfDAsZSwzMiksbm8ud3JpdGVVaW50MzJMRShFK2x8MCxlLDM2KSxuby53cml0ZVVpbnQzMkxFKEMrJHwwLGUsNDApLG5vLndyaXRlVWludDMyTEUoRCtjfDAsZSw0NCksbm8ud3JpdGVVaW50MzJMRShrK2h8MCxlLDQ4KSxuby53cml0ZVVpbnQzMkxFKEErdXwwLGUsNTIpLG5vLndyaXRlVWludDMyTEUoSStkfDAsZSw1Niksbm8ud3JpdGVVaW50MzJMRShUK198MCxlLDYwKX1mdW5jdGlvbiBubChlLHQsbixyLGkpe2lmKHZvaWQgMD09PWkmJihpPTApLDMyIT09ZS5sZW5ndGgpdGhyb3cgRXJyb3IoIkNoYUNoYToga2V5IHNpemUgbXVzdCBiZSAzMiBieXRlcyIpO2lmKHIubGVuZ3RoPG4ubGVuZ3RoKXRocm93IEVycm9yKCJDaGFDaGE6IGRlc3RpbmF0aW9uIGlzIHNob3J0ZXIgdGhhbiBzb3VyY2UiKTtpZigwPT09aSl7aWYoOCE9PXQubGVuZ3RoJiYxMiE9PXQubGVuZ3RoKXRocm93IEVycm9yKCJDaGFDaGEgbm9uY2UgbXVzdCBiZSA4IG9yIDEyIGJ5dGVzIik7YT0obz1uZXcgVWludDhBcnJheSgxNikpLmxlbmd0aC10Lmxlbmd0aCxvLnNldCh0LGEpfWVsc2V7aWYoMTYhPT10Lmxlbmd0aCl0aHJvdyBFcnJvcigiQ2hhQ2hhIG5vbmNlIHdpdGggY291bnRlciBtdXN0IGJlIDE2IGJ5dGVzIik7bz10LGE9aX1mb3IodmFyIG8sYSxzPW5ldyBVaW50OEFycmF5KDY0KSxsPTA7bDxuLmxlbmd0aDtsKz02NCl7bnMocyxvLGUpO2Zvcih2YXIgJD1sOyQ8bCs2NCYmJDxuLmxlbmd0aDskKyspclskXT1uWyRdXnNbJC1sXTtuJChvLDAsYSl9cmV0dXJuIG5hLndpcGUocyksMD09PWkmJm5hLndpcGUobykscn1mdW5jdGlvbiBuJChlLHQsbil7Zm9yKHZhciByPTE7bi0tOylyPXIrKDI1NSZlW3RdKXwwLGVbdF09MjU1JnIscj4+Pj04LHQrKztpZihyPjApdGhyb3cgRXJyb3IoIkNoYUNoYTogY291bnRlciBvdmVyZmxvdyIpfXRqLnN0cmVhbVhPUj1ubCx0ai5zdHJlYW09ZnVuY3Rpb24gZSh0LG4scixpKXtyZXR1cm4gdm9pZCAwPT09aSYmKGk9MCksbmEud2lwZShyKSxubCh0LG4scixyLGkpfTt2YXIgbmM9e30sbmg9e307ZnVuY3Rpb24gbnUoZSx0KXtpZihlLmxlbmd0aCE9PXQubGVuZ3RoKXJldHVybiAwO2Zvcih2YXIgbj0wLHI9MDtyPGUubGVuZ3RoO3IrKylufD1lW3JdXnRbcl07cmV0dXJuIDEmbi0xPj4+OH1PYmplY3QuZGVmaW5lUHJvcGVydHkobmgsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG5oLnNlbGVjdD1mdW5jdGlvbiBlKHQsbixyKXtyZXR1cm5+KHQtMSkmbnx0LTEmcn0sbmgubGVzc09yRXF1YWw9ZnVuY3Rpb24gZSh0LG4pe3JldHVybigwfHQpLSgwfG4pLTE+Pj4zMSYxfSxuaC5jb21wYXJlPW51LG5oLmVxdWFsPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gMCE9PXQubGVuZ3RoJiYwIT09bi5sZW5ndGgmJjAhPT1udSh0LG4pfSxPYmplY3QuZGVmaW5lUHJvcGVydHkobmI9bmMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG44PW5oLG42PW5pLG5iLkRJR0VTVF9MRU5HVEg9MTYsbnk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuZGlnZXN0TGVuZ3RoPW5iLkRJR0VTVF9MRU5HVEgsdGhpcy5fYnVmZmVyPW5ldyBVaW50OEFycmF5KDE2KSx0aGlzLl9yPW5ldyBVaW50MTZBcnJheSgxMCksdGhpcy5faD1uZXcgVWludDE2QXJyYXkoMTApLHRoaXMuX3BhZD1uZXcgVWludDE2QXJyYXkoOCksdGhpcy5fbGVmdG92ZXI9MCx0aGlzLl9maW49MCx0aGlzLl9maW5pc2hlZD0hMTt2YXIgdD1lWzBdfGVbMV08PDg7dGhpcy5fclswXT04MTkxJnQ7dmFyIG49ZVsyXXxlWzNdPDw4O3RoaXMuX3JbMV09KHQ+Pj4xM3xuPDwzKSY4MTkxO3ZhciByPWVbNF18ZVs1XTw8ODt0aGlzLl9yWzJdPShuPj4+MTB8cjw8NikmNzkzOTt2YXIgaT1lWzZdfGVbN108PDg7dGhpcy5fclszXT0ocj4+Pjd8aTw8OSkmODE5MTt2YXIgbz1lWzhdfGVbOV08PDg7dGhpcy5fcls0XT0oaT4+PjR8bzw8MTIpJjI1NSx0aGlzLl9yWzVdPW8+Pj4xJjgxOTA7dmFyIGE9ZVsxMF18ZVsxMV08PDg7dGhpcy5fcls2XT0obz4+PjE0fGE8PDIpJjgxOTE7dmFyIHM9ZVsxMl18ZVsxM108PDg7dGhpcy5fcls3XT0oYT4+PjExfHM8PDUpJjgwNjU7dmFyIGw9ZVsxNF18ZVsxNV08PDg7dGhpcy5fcls4XT0ocz4+Pjh8bDw8OCkmODE5MSx0aGlzLl9yWzldPWw+Pj41JjEyNyx0aGlzLl9wYWRbMF09ZVsxNl18ZVsxN108PDgsdGhpcy5fcGFkWzFdPWVbMThdfGVbMTldPDw4LHRoaXMuX3BhZFsyXT1lWzIwXXxlWzIxXTw8OCx0aGlzLl9wYWRbM109ZVsyMl18ZVsyM108PDgsdGhpcy5fcGFkWzRdPWVbMjRdfGVbMjVdPDw4LHRoaXMuX3BhZFs1XT1lWzI2XXxlWzI3XTw8OCx0aGlzLl9wYWRbNl09ZVsyOF18ZVsyOV08PDgsdGhpcy5fcGFkWzddPWVbMzBdfGVbMzFdPDw4fXJldHVybiBlLnByb3RvdHlwZS5fYmxvY2tzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9dGhpcy5fZmluPzA6MjA0OCxpPXRoaXMuX2hbMF0sbz10aGlzLl9oWzFdLGE9dGhpcy5faFsyXSxzPXRoaXMuX2hbM10sbD10aGlzLl9oWzRdLCQ9dGhpcy5faFs1XSxjPXRoaXMuX2hbNl0saD10aGlzLl9oWzddLHU9dGhpcy5faFs4XSxkPXRoaXMuX2hbOV0sXz10aGlzLl9yWzBdLGY9dGhpcy5fclsxXSxwPXRoaXMuX3JbMl0sZz10aGlzLl9yWzNdLG09dGhpcy5fcls0XSx3PXRoaXMuX3JbNV0sdj10aGlzLl9yWzZdLGI9dGhpcy5fcls3XSx5PXRoaXMuX3JbOF0seD10aGlzLl9yWzldO24+PTE2Oyl7dmFyIEU9ZVt0KzBdfGVbdCsxXTw8ODtpKz04MTkxJkU7dmFyIEM9ZVt0KzJdfGVbdCszXTw8ODtvKz0oRT4+PjEzfEM8PDMpJjgxOTE7dmFyIEQ9ZVt0KzRdfGVbdCs1XTw8ODthKz0oQz4+PjEwfEQ8PDYpJjgxOTE7dmFyIGs9ZVt0KzZdfGVbdCs3XTw8ODtzKz0oRD4+Pjd8azw8OSkmODE5MTt2YXIgQT1lW3QrOF18ZVt0KzldPDw4O2wrPShrPj4+NHxBPDwxMikmODE5MSwkKz1BPj4+MSY4MTkxO3ZhciBJPWVbdCsxMF18ZVt0KzExXTw8ODtjKz0oQT4+PjE0fEk8PDIpJjgxOTE7dmFyIFQ9ZVt0KzEyXXxlW3QrMTNdPDw4O2grPShJPj4+MTF8VDw8NSkmODE5MTt2YXIgUz1lW3QrMTRdfGVbdCsxNV08PDg7dSs9KFQ+Pj44fFM8PDgpJjgxOTEsZCs9Uz4+PjV8cjt2YXIgTD0wLE49TDtOKz1pKl8sTis9byooNSp4KSxOKz1hKig1KnkpLE4rPXMqKDUqYiksTis9bCooNSp2KSxMPU4+Pj4xMyxOJj04MTkxLE4rPSQqKDUqdyksTis9YyooNSptKSxOKz1oKig1KmcpLE4rPXUqKDUqcCksTis9ZCooNSpmKSxMKz1OPj4+MTMsTiY9ODE5MTt2YXIgTz1MO08rPWkqZixPKz1vKl8sTys9YSooNSp4KSxPKz1zKig1KnkpLE8rPWwqKDUqYiksTD1PPj4+MTMsTyY9ODE5MSxPKz0kKig1KnYpLE8rPWMqKDUqdyksTys9aCooNSptKSxPKz11Kig1KmcpLE8rPWQqKDUqcCksTCs9Tz4+PjEzLE8mPTgxOTE7dmFyIE09TDtNKz1pKnAsTSs9bypmLE0rPWEqXyxNKz1zKig1KngpLE0rPWwqKDUqeSksTD1NPj4+MTMsTSY9ODE5MSxNKz0kKig1KmIpLE0rPWMqKDUqdiksTSs9aCooNSp3KSxNKz11Kig1Km0pLE0rPWQqKDUqZyksTCs9TT4+PjEzLE0mPTgxOTE7dmFyIFA9TDtQKz1pKmcsUCs9bypwLFArPWEqZixQKz1zKl8sUCs9bCooNSp4KSxMPVA+Pj4xMyxQJj04MTkxLFArPSQqKDUqeSksUCs9YyooNSpiKSxQKz1oKig1KnYpLFArPXUqKDUqdyksUCs9ZCooNSptKSxMKz1QPj4+MTMsUCY9ODE5MTt2YXIgUj1MO1IrPWkqbSxSKz1vKmcsUis9YSpwLFIrPXMqZixSKz1sKl8sTD1SPj4+MTMsUiY9ODE5MSxSKz0kKig1KngpLFIrPWMqKDUqeSksUis9aCooNSpiKSxSKz11Kig1KnYpLFIrPWQqKDUqdyksTCs9Uj4+PjEzLFImPTgxOTE7dmFyIFU9TDtVKz1pKncsVSs9byptLFUrPWEqZyxVKz1zKnAsVSs9bCpmLEw9VT4+PjEzLFUmPTgxOTEsVSs9JCpfLFUrPWMqKDUqeCksVSs9aCooNSp5KSxVKz11Kig1KmIpLFUrPWQqKDUqdiksTCs9VT4+PjEzLFUmPTgxOTE7dmFyIEI9TDtCKz1pKnYsQis9byp3LEIrPWEqbSxCKz1zKmcsQis9bCpwLEw9Qj4+PjEzLEImPTgxOTEsQis9JCpmLEIrPWMqXyxCKz1oKig1KngpLEIrPXUqKDUqeSksQis9ZCooNSpiKSxMKz1CPj4+MTMsQiY9ODE5MTt2YXIgVz1MO1crPWkqYixXKz1vKnYsVys9YSp3LFcrPXMqbSxXKz1sKmcsTD1XPj4+MTMsVyY9ODE5MSxXKz0kKnAsVys9YypmLFcrPWgqXyxXKz11Kig1KngpLFcrPWQqKDUqeSksTCs9Vz4+PjEzLFcmPTgxOTE7dmFyIEY9TDtGKz1pKnksRis9bypiLEYrPWEqdixGKz1zKncsRis9bCptLEw9Rj4+PjEzLEYmPTgxOTEsRis9JCpnLEYrPWMqcCxGKz1oKmYsRis9dSpfLEYrPWQqKDUqeCksTCs9Rj4+PjEzLEYmPTgxOTE7dmFyIHo9TDt6Kz1pKngseis9byp5LHorPWEqYix6Kz1zKnYseis9bCp3LEw9ej4+PjEzLHomPTgxOTEseis9JCptLHorPWMqZyx6Kz1oKnAseis9dSpmLHorPWQqXyxMKz16Pj4+MTMseiY9ODE5MSxOPTgxOTEmKEw9KEw9KEw8PDIpK0x8MCkrTnwwKSxMPj4+PTEzLE8rPUwsaT1OLG89TyxhPU0scz1QLGw9UiwkPVUsYz1CLGg9Vyx1PUYsZD16LHQrPTE2LG4tPTE2fXRoaXMuX2hbMF09aSx0aGlzLl9oWzFdPW8sdGhpcy5faFsyXT1hLHRoaXMuX2hbM109cyx0aGlzLl9oWzRdPWwsdGhpcy5faFs1XT0kLHRoaXMuX2hbNl09Yyx0aGlzLl9oWzddPWgsdGhpcy5faFs4XT11LHRoaXMuX2hbOV09ZH0sZS5wcm90b3R5cGUuZmluaXNoPWZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9MCk7dmFyIG4scixpLG8sYT1uZXcgVWludDE2QXJyYXkoMTApO2lmKHRoaXMuX2xlZnRvdmVyKXtmb3Iobz10aGlzLl9sZWZ0b3Zlcix0aGlzLl9idWZmZXJbbysrXT0xO288MTY7bysrKXRoaXMuX2J1ZmZlcltvXT0wO3RoaXMuX2Zpbj0xLHRoaXMuX2Jsb2Nrcyh0aGlzLl9idWZmZXIsMCwxNil9Zm9yKG49dGhpcy5faFsxXT4+PjEzLHRoaXMuX2hbMV0mPTgxOTEsbz0yO288MTA7bysrKXRoaXMuX2hbb10rPW4sbj10aGlzLl9oW29dPj4+MTMsdGhpcy5faFtvXSY9ODE5MTtmb3IodGhpcy5faFswXSs9NSpuLG49dGhpcy5faFswXT4+PjEzLHRoaXMuX2hbMF0mPTgxOTEsdGhpcy5faFsxXSs9bixuPXRoaXMuX2hbMV0+Pj4xMyx0aGlzLl9oWzFdJj04MTkxLHRoaXMuX2hbMl0rPW4sYVswXT10aGlzLl9oWzBdKzUsbj1hWzBdPj4+MTMsYVswXSY9ODE5MSxvPTE7bzwxMDtvKyspYVtvXT10aGlzLl9oW29dK24sbj1hW29dPj4+MTMsYVtvXSY9ODE5MTtmb3IoYVs5XS09ODE5MixyPSgxXm4pLTEsbz0wO288MTA7bysrKWFbb10mPXI7Zm9yKG89MCxyPX5yO288MTA7bysrKXRoaXMuX2hbb109dGhpcy5faFtvXSZyfGFbb107Zm9yKG89MSx0aGlzLl9oWzBdPSh0aGlzLl9oWzBdfHRoaXMuX2hbMV08PDEzKSY2NTUzNSx0aGlzLl9oWzFdPSh0aGlzLl9oWzFdPj4+M3x0aGlzLl9oWzJdPDwxMCkmNjU1MzUsdGhpcy5faFsyXT0odGhpcy5faFsyXT4+PjZ8dGhpcy5faFszXTw8NykmNjU1MzUsdGhpcy5faFszXT0odGhpcy5faFszXT4+Pjl8dGhpcy5faFs0XTw8NCkmNjU1MzUsdGhpcy5faFs0XT0odGhpcy5faFs0XT4+PjEyfHRoaXMuX2hbNV08PDF8dGhpcy5faFs2XTw8MTQpJjY1NTM1LHRoaXMuX2hbNV09KHRoaXMuX2hbNl0+Pj4yfHRoaXMuX2hbN108PDExKSY2NTUzNSx0aGlzLl9oWzZdPSh0aGlzLl9oWzddPj4+NXx0aGlzLl9oWzhdPDw4KSY2NTUzNSx0aGlzLl9oWzddPSh0aGlzLl9oWzhdPj4+OHx0aGlzLl9oWzldPDw1KSY2NTUzNSxpPXRoaXMuX2hbMF0rdGhpcy5fcGFkWzBdLHRoaXMuX2hbMF09NjU1MzUmaTtvPDg7bysrKWk9KHRoaXMuX2hbb10rdGhpcy5fcGFkW29dfDApKyhpPj4+MTYpfDAsdGhpcy5faFtvXT02NTUzNSZpO3JldHVybiBlW3QrMF09dGhpcy5faFswXT4+PjAsZVt0KzFdPXRoaXMuX2hbMF0+Pj44LGVbdCsyXT10aGlzLl9oWzFdPj4+MCxlW3QrM109dGhpcy5faFsxXT4+PjgsZVt0KzRdPXRoaXMuX2hbMl0+Pj4wLGVbdCs1XT10aGlzLl9oWzJdPj4+OCxlW3QrNl09dGhpcy5faFszXT4+PjAsZVt0KzddPXRoaXMuX2hbM10+Pj44LGVbdCs4XT10aGlzLl9oWzRdPj4+MCxlW3QrOV09dGhpcy5faFs0XT4+PjgsZVt0KzEwXT10aGlzLl9oWzVdPj4+MCxlW3QrMTFdPXRoaXMuX2hbNV0+Pj44LGVbdCsxMl09dGhpcy5faFs2XT4+PjAsZVt0KzEzXT10aGlzLl9oWzZdPj4+OCxlW3QrMTRdPXRoaXMuX2hbN10+Pj4wLGVbdCsxNV09dGhpcy5faFs3XT4+PjgsdGhpcy5fZmluaXNoZWQ9ITAsdGhpc30sZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0LG49MCxyPWUubGVuZ3RoO2lmKHRoaXMuX2xlZnRvdmVyKXsodD0xNi10aGlzLl9sZWZ0b3Zlcik+ciYmKHQ9cik7Zm9yKHZhciBpPTA7aTx0O2krKyl0aGlzLl9idWZmZXJbdGhpcy5fbGVmdG92ZXIraV09ZVtuK2ldO2lmKHItPXQsbis9dCx0aGlzLl9sZWZ0b3Zlcis9dCx0aGlzLl9sZWZ0b3ZlcjwxNilyZXR1cm4gdGhpczt0aGlzLl9ibG9ja3ModGhpcy5fYnVmZmVyLDAsMTYpLHRoaXMuX2xlZnRvdmVyPTB9aWYocj49MTYmJih0PXItciUxNix0aGlzLl9ibG9ja3MoZSxuLHQpLG4rPXQsci09dCkscil7Zm9yKHZhciBpPTA7aTxyO2krKyl0aGlzLl9idWZmZXJbdGhpcy5fbGVmdG92ZXIraV09ZVtuK2ldO3RoaXMuX2xlZnRvdmVyKz1yfXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24oKXtpZih0aGlzLl9maW5pc2hlZCl0aHJvdyBFcnJvcigiUG9seTEzMDUgd2FzIGZpbmlzaGVkIik7dmFyIGU9bmV3IFVpbnQ4QXJyYXkoMTYpO3JldHVybiB0aGlzLmZpbmlzaChlKSxlfSxlLnByb3RvdHlwZS5jbGVhbj1mdW5jdGlvbigpe3JldHVybiBuNi53aXBlKHRoaXMuX2J1ZmZlciksbjYud2lwZSh0aGlzLl9yKSxuNi53aXBlKHRoaXMuX2gpLG42LndpcGUodGhpcy5fcGFkKSx0aGlzLl9sZWZ0b3Zlcj0wLHRoaXMuX2Zpbj0wLHRoaXMuX2ZpbmlzaGVkPSEwLHRoaXN9LGV9KCksbmIuUG9seTEzMDU9bnksbmIub25lVGltZUF1dGg9ZnVuY3Rpb24gZSh0LG4pe3ZhciByPW5ldyBueSh0KTtyLnVwZGF0ZShuKTt2YXIgaT1yLmRpZ2VzdCgpO3JldHVybiByLmNsZWFuKCksaX0sbmIuZXF1YWw9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiB0Lmxlbmd0aD09PW5iLkRJR0VTVF9MRU5HVEgmJm4ubGVuZ3RoPT09bmIuRElHRVNUX0xFTkdUSCYmbjguZXF1YWwodCxuKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KG41PXRILCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxueD10aixuNz1uYyxuRT1uaSxuQz10WixuRD1uaCxuNS5LRVlfTEVOR1RIPTMyLG41Lk5PTkNFX0xFTkdUSD0xMixuNS5UQUdfTEVOR1RIPTE2LG5rPW5ldyBVaW50OEFycmF5KDE2KSxuQT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7aWYodGhpcy5ub25jZUxlbmd0aD1uNS5OT05DRV9MRU5HVEgsdGhpcy50YWdMZW5ndGg9bjUuVEFHX0xFTkdUSCxlLmxlbmd0aCE9PW41LktFWV9MRU5HVEgpdGhyb3cgRXJyb3IoIkNoYUNoYTIwUG9seTEzMDUgbmVlZHMgMzItYnl0ZSBrZXkiKTt0aGlzLl9rZXk9bmV3IFVpbnQ4QXJyYXkoZSl9cmV0dXJuIGUucHJvdG90eXBlLnNlYWw9ZnVuY3Rpb24oZSx0LG4scil7aWYoZS5sZW5ndGg+MTYpdGhyb3cgRXJyb3IoIkNoYUNoYTIwUG9seTEzMDU6IGluY29ycmVjdCBub25jZSBsZW5ndGgiKTt2YXIgaSxvPW5ldyBVaW50OEFycmF5KDE2KTtvLnNldChlLG8ubGVuZ3RoLWUubGVuZ3RoKTt2YXIgYT1uZXcgVWludDhBcnJheSgzMik7bnguc3RyZWFtKHRoaXMuX2tleSxvLGEsNCk7dmFyIHM9dC5sZW5ndGgrdGhpcy50YWdMZW5ndGg7aWYocil7aWYoci5sZW5ndGghPT1zKXRocm93IEVycm9yKCJDaGFDaGEyMFBvbHkxMzA1OiBpbmNvcnJlY3QgZGVzdGluYXRpb24gbGVuZ3RoIik7aT1yfWVsc2UgaT1uZXcgVWludDhBcnJheShzKTtyZXR1cm4gbnguc3RyZWFtWE9SKHRoaXMuX2tleSxvLHQsaSw0KSx0aGlzLl9hdXRoZW50aWNhdGUoaS5zdWJhcnJheShpLmxlbmd0aC10aGlzLnRhZ0xlbmd0aCxpLmxlbmd0aCksYSxpLnN1YmFycmF5KDAsaS5sZW5ndGgtdGhpcy50YWdMZW5ndGgpLG4pLG5FLndpcGUobyksaX0sZS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihlLHQsbixyKXtpZihlLmxlbmd0aD4xNil0aHJvdyBFcnJvcigiQ2hhQ2hhMjBQb2x5MTMwNTogaW5jb3JyZWN0IG5vbmNlIGxlbmd0aCIpO2lmKHQubGVuZ3RoPHRoaXMudGFnTGVuZ3RoKXJldHVybiBudWxsO3ZhciBpLG89bmV3IFVpbnQ4QXJyYXkoMTYpO28uc2V0KGUsby5sZW5ndGgtZS5sZW5ndGgpO3ZhciBhPW5ldyBVaW50OEFycmF5KDMyKTtueC5zdHJlYW0odGhpcy5fa2V5LG8sYSw0KTt2YXIgcz1uZXcgVWludDhBcnJheSh0aGlzLnRhZ0xlbmd0aCk7aWYodGhpcy5fYXV0aGVudGljYXRlKHMsYSx0LnN1YmFycmF5KDAsdC5sZW5ndGgtdGhpcy50YWdMZW5ndGgpLG4pLCFuRC5lcXVhbChzLHQuc3ViYXJyYXkodC5sZW5ndGgtdGhpcy50YWdMZW5ndGgsdC5sZW5ndGgpKSlyZXR1cm4gbnVsbDt2YXIgbD10Lmxlbmd0aC10aGlzLnRhZ0xlbmd0aDtpZihyKXtpZihyLmxlbmd0aCE9PWwpdGhyb3cgRXJyb3IoIkNoYUNoYTIwUG9seTEzMDU6IGluY29ycmVjdCBkZXN0aW5hdGlvbiBsZW5ndGgiKTtpPXJ9ZWxzZSBpPW5ldyBVaW50OEFycmF5KGwpO3JldHVybiBueC5zdHJlYW1YT1IodGhpcy5fa2V5LG8sdC5zdWJhcnJheSgwLHQubGVuZ3RoLXRoaXMudGFnTGVuZ3RoKSxpLDQpLG5FLndpcGUobyksaX0sZS5wcm90b3R5cGUuY2xlYW49ZnVuY3Rpb24oKXtyZXR1cm4gbkUud2lwZSh0aGlzLl9rZXkpLHRoaXN9LGUucHJvdG90eXBlLl9hdXRoZW50aWNhdGU9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9bmV3IG43LlBvbHkxMzA1KHQpO3ImJihpLnVwZGF0ZShyKSxyLmxlbmd0aCUxNj4wJiZpLnVwZGF0ZShuay5zdWJhcnJheShyLmxlbmd0aCUxNikpKSxpLnVwZGF0ZShuKSxuLmxlbmd0aCUxNj4wJiZpLnVwZGF0ZShuay5zdWJhcnJheShuLmxlbmd0aCUxNikpO3ZhciBvPW5ldyBVaW50OEFycmF5KDgpO3ImJm5DLndyaXRlVWludDY0TEUoci5sZW5ndGgsbyksaS51cGRhdGUobyksbkMud3JpdGVVaW50NjRMRShuLmxlbmd0aCxvKSxpLnVwZGF0ZShvKTtmb3IodmFyIGE9aS5kaWdlc3QoKSxzPTA7czxhLmxlbmd0aDtzKyspZVtzXT1hW3NdO2kuY2xlYW4oKSxuRS53aXBlKGEpLG5FLndpcGUobyl9LGV9KCksbjUuQ2hhQ2hhMjBQb2x5MTMwNT1uQTt2YXIgbmQ9e30sbl89e30sbmY9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KG5mLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuZi5pc1NlcmlhbGl6YWJsZUhhc2g9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdm9pZCAwIT09dC5zYXZlU3RhdGUmJnZvaWQgMCE9PXQucmVzdG9yZVN0YXRlJiZ2b2lkIDAhPT10LmNsZWFuU2F2ZWRTdGF0ZX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KG5fLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbnA9bmYsbjE9bmksbjA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5faW5uZXI9bmV3IGUsdGhpcy5fb3V0ZXI9bmV3IGUsdGhpcy5ibG9ja1NpemU9dGhpcy5fb3V0ZXIuYmxvY2tTaXplLHRoaXMuZGlnZXN0TGVuZ3RoPXRoaXMuX291dGVyLmRpZ2VzdExlbmd0aDt2YXIgbj1uZXcgVWludDhBcnJheSh0aGlzLmJsb2NrU2l6ZSk7dC5sZW5ndGg+dGhpcy5ibG9ja1NpemU/dGhpcy5faW5uZXIudXBkYXRlKHQpLmZpbmlzaChuKS5jbGVhbigpOm4uc2V0KHQpO2Zvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKW5bcl1ePTU0O3RoaXMuX2lubmVyLnVwZGF0ZShuKTtmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdXj0xMDY7dGhpcy5fb3V0ZXIudXBkYXRlKG4pLG5wLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9pbm5lcikmJm5wLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9vdXRlcikmJih0aGlzLl9pbm5lcktleWVkU3RhdGU9dGhpcy5faW5uZXIuc2F2ZVN0YXRlKCksdGhpcy5fb3V0ZXJLZXllZFN0YXRlPXRoaXMuX291dGVyLnNhdmVTdGF0ZSgpKSxuMS53aXBlKG4pfXJldHVybiBlLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2lmKCFucC5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpfHwhbnAuaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX291dGVyKSl0aHJvdyBFcnJvcigiaG1hYzogY2FuJ3QgcmVzZXQoKSBiZWNhdXNlIGhhc2ggZG9lc24ndCBpbXBsZW1lbnQgcmVzdG9yZVN0YXRlKCkiKTtyZXR1cm4gdGhpcy5faW5uZXIucmVzdG9yZVN0YXRlKHRoaXMuX2lubmVyS2V5ZWRTdGF0ZSksdGhpcy5fb3V0ZXIucmVzdG9yZVN0YXRlKHRoaXMuX291dGVyS2V5ZWRTdGF0ZSksdGhpcy5fZmluaXNoZWQ9ITEsdGhpc30sZS5wcm90b3R5cGUuY2xlYW49ZnVuY3Rpb24oKXtucC5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpJiZ0aGlzLl9pbm5lci5jbGVhblNhdmVkU3RhdGUodGhpcy5faW5uZXJLZXllZFN0YXRlKSxucC5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5fb3V0ZXIpJiZ0aGlzLl9vdXRlci5jbGVhblNhdmVkU3RhdGUodGhpcy5fb3V0ZXJLZXllZFN0YXRlKSx0aGlzLl9pbm5lci5jbGVhbigpLHRoaXMuX291dGVyLmNsZWFuKCl9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5faW5uZXIudXBkYXRlKGUpLHRoaXN9LGUucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fZmluaXNoZWQ/KHRoaXMuX291dGVyLmZpbmlzaChlKSx0aGlzKToodGhpcy5faW5uZXIuZmluaXNoKGUpLHRoaXMuX291dGVyLnVwZGF0ZShlLnN1YmFycmF5KDAsdGhpcy5kaWdlc3RMZW5ndGgpKS5maW5pc2goZSksdGhpcy5fZmluaXNoZWQ9ITAsdGhpcyl9LGUucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBlPW5ldyBVaW50OEFycmF5KHRoaXMuZGlnZXN0TGVuZ3RoKTtyZXR1cm4gdGhpcy5maW5pc2goZSksZX0sZS5wcm90b3R5cGUuc2F2ZVN0YXRlPWZ1bmN0aW9uKCl7aWYoIW5wLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9pbm5lcikpdGhyb3cgRXJyb3IoImhtYWM6IGNhbid0IHNhdmVTdGF0ZSgpIGJlY2F1c2UgaGFzaCBkb2Vzbid0IGltcGxlbWVudCBpdCIpO3JldHVybiB0aGlzLl9pbm5lci5zYXZlU3RhdGUoKX0sZS5wcm90b3R5cGUucmVzdG9yZVN0YXRlPWZ1bmN0aW9uKGUpe2lmKCFucC5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpfHwhbnAuaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX291dGVyKSl0aHJvdyBFcnJvcigiaG1hYzogY2FuJ3QgcmVzdG9yZVN0YXRlKCkgYmVjYXVzZSBoYXNoIGRvZXNuJ3QgaW1wbGVtZW50IGl0Iik7cmV0dXJuIHRoaXMuX2lubmVyLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9vdXRlci5yZXN0b3JlU3RhdGUodGhpcy5fb3V0ZXJLZXllZFN0YXRlKSx0aGlzLl9maW5pc2hlZD0hMSx0aGlzfSxlLnByb3RvdHlwZS5jbGVhblNhdmVkU3RhdGU9ZnVuY3Rpb24oZSl7aWYoIW5wLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9pbm5lcikpdGhyb3cgRXJyb3IoImhtYWM6IGNhbid0IGNsZWFuU2F2ZWRTdGF0ZSgpIGJlY2F1c2UgaGFzaCBkb2Vzbid0IGltcGxlbWVudCBpdCIpO3RoaXMuX2lubmVyLmNsZWFuU2F2ZWRTdGF0ZShlKX0sZX0oKTtuXy5ITUFDPW4wLG5fLmhtYWM9ZnVuY3Rpb24gZSh0LG4scil7dmFyIGk9bmV3IG4wKHQsbik7aS51cGRhdGUocik7dmFyIG89aS5kaWdlc3QoKTtyZXR1cm4gaS5jbGVhbigpLG99LG5fLmVxdWFsPW5oLmVxdWFsLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG5nPW5fLG5tPW5pLG4zPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbixyKXt2b2lkIDA9PT1uJiYobj1uZXcgVWludDhBcnJheSgwKSksdGhpcy5fY291bnRlcj1uZXcgVWludDhBcnJheSgxKSx0aGlzLl9oYXNoPWUsdGhpcy5faW5mbz1yO3ZhciBpPW5nLmhtYWModGhpcy5faGFzaCxuLHQpO3RoaXMuX2htYWM9bmV3IG5nLkhNQUMoZSxpKSx0aGlzLl9idWZmZXI9bmV3IFVpbnQ4QXJyYXkodGhpcy5faG1hYy5kaWdlc3RMZW5ndGgpLHRoaXMuX2J1ZnBvcz10aGlzLl9idWZmZXIubGVuZ3RofXJldHVybiBlLnByb3RvdHlwZS5fZmlsbEJ1ZmZlcj1mdW5jdGlvbigpe3RoaXMuX2NvdW50ZXJbMF0rKzt2YXIgZT10aGlzLl9jb3VudGVyWzBdO2lmKDA9PT1lKXRocm93IEVycm9yKCJoa2RmOiBjYW5ub3QgZXhwYW5kIG1vcmUiKTt0aGlzLl9obWFjLnJlc2V0KCksZT4xJiZ0aGlzLl9obWFjLnVwZGF0ZSh0aGlzLl9idWZmZXIpLHRoaXMuX2luZm8mJnRoaXMuX2htYWMudXBkYXRlKHRoaXMuX2luZm8pLHRoaXMuX2htYWMudXBkYXRlKHRoaXMuX2NvdW50ZXIpLHRoaXMuX2htYWMuZmluaXNoKHRoaXMuX2J1ZmZlciksdGhpcy5fYnVmcG9zPTB9LGUucHJvdG90eXBlLmV4cGFuZD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZSksbj0wO248dC5sZW5ndGg7bisrKXRoaXMuX2J1ZnBvcz09PXRoaXMuX2J1ZmZlci5sZW5ndGgmJnRoaXMuX2ZpbGxCdWZmZXIoKSx0W25dPXRoaXMuX2J1ZmZlclt0aGlzLl9idWZwb3MrK107cmV0dXJuIHR9LGUucHJvdG90eXBlLmNsZWFuPWZ1bmN0aW9uKCl7dGhpcy5faG1hYy5jbGVhbigpLG5tLndpcGUodGhpcy5fYnVmZmVyKSxubS53aXBlKHRoaXMuX2NvdW50ZXIpLHRoaXMuX2J1ZnBvcz0wfSxlfSgpLG53PW5kLkhLREY9bjMsbnY9e30sbjI9e30sbjQ9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KG40LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuNC5Ccm93c2VyUmFuZG9tU291cmNlPXZvaWQgMCxuNC5Ccm93c2VyUmFuZG9tU291cmNlPWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLmlzQXZhaWxhYmxlPSExLHRoaXMuaXNJbnN0YW50aWF0ZWQ9ITE7bGV0IGU9InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGYuY3J5cHRvfHxzZWxmLm1zQ3J5cHRvOm51bGw7ZSYmdm9pZCAwIT09ZS5nZXRSYW5kb21WYWx1ZXMmJih0aGlzLl9jcnlwdG89ZSx0aGlzLmlzQXZhaWxhYmxlPSEwLHRoaXMuaXNJbnN0YW50aWF0ZWQ9ITApfXJhbmRvbUJ5dGVzKGUpe2lmKCF0aGlzLmlzQXZhaWxhYmxlfHwhdGhpcy5fY3J5cHRvKXRocm93IEVycm9yKCJCcm93c2VyIHJhbmRvbSBieXRlIGdlbmVyYXRvciBpcyBub3QgYXZhaWxhYmxlLiIpO2xldCB0PW5ldyBVaW50OEFycmF5KGUpO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bis9NjU1MzYpdGhpcy5fY3J5cHRvLmdldFJhbmRvbVZhbHVlcyh0LnN1YmFycmF5KG4sbitNYXRoLm1pbih0Lmxlbmd0aC1uLDY1NTM2KSkpO3JldHVybiB0fX07dmFyIG5iLG44LG42LG55LG41LG54LG43LG5FLG5DLG5ELG5rLG5BLG5JPXt9LG5UPU8oT2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZGVmYXVsdDp7fX0pKTtPYmplY3QuZGVmaW5lUHJvcGVydHkobkksIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG5JLk5vZGVSYW5kb21Tb3VyY2U9dm9pZCAwO2xldCBuUz1uaTtuSS5Ob2RlUmFuZG9tU291cmNlPWNsYXNzIGV7Y29uc3RydWN0b3IoKXt0aGlzLmlzQXZhaWxhYmxlPSExLHRoaXMuaXNJbnN0YW50aWF0ZWQ9ITE7e2xldCBlPW5UO2UmJmUucmFuZG9tQnl0ZXMmJih0aGlzLl9jcnlwdG89ZSx0aGlzLmlzQXZhaWxhYmxlPSEwLHRoaXMuaXNJbnN0YW50aWF0ZWQ9ITApfX1yYW5kb21CeXRlcyhlKXtpZighdGhpcy5pc0F2YWlsYWJsZXx8IXRoaXMuX2NyeXB0byl0aHJvdyBFcnJvcigiTm9kZS5qcyByYW5kb20gYnl0ZSBnZW5lcmF0b3IgaXMgbm90IGF2YWlsYWJsZS4iKTtsZXQgdD10aGlzLl9jcnlwdG8ucmFuZG9tQnl0ZXMoZSk7aWYodC5sZW5ndGghPT1lKXRocm93IEVycm9yKCJOb2RlUmFuZG9tU291cmNlOiBnb3QgZmV3ZXIgYnl0ZXMgdGhhbiByZXF1ZXN0ZWQiKTtsZXQgbj1uZXcgVWludDhBcnJheShlKTtmb3IobGV0IHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdPXRbcl07cmV0dXJuKDAsblMud2lwZSkodCksbn19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuMiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbjIuU3lzdGVtUmFuZG9tU291cmNlPXZvaWQgMCxuMi5TeXN0ZW1SYW5kb21Tb3VyY2U9Y2xhc3MgZXtjb25zdHJ1Y3Rvcigpe2lmKHRoaXMuaXNBdmFpbGFibGU9ITEsdGhpcy5uYW1lPSIiLHRoaXMuX3NvdXJjZT1uZXcgbjQuQnJvd3NlclJhbmRvbVNvdXJjZSx0aGlzLl9zb3VyY2UuaXNBdmFpbGFibGUpe3RoaXMuaXNBdmFpbGFibGU9ITAsdGhpcy5uYW1lPSJCcm93c2VyIjtyZXR1cm59aWYodGhpcy5fc291cmNlPW5ldyBuSS5Ob2RlUmFuZG9tU291cmNlLHRoaXMuX3NvdXJjZS5pc0F2YWlsYWJsZSl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLm5hbWU9Ik5vZGUiO3JldHVybn19cmFuZG9tQnl0ZXMoZSl7aWYoIXRoaXMuaXNBdmFpbGFibGUpdGhyb3cgRXJyb3IoIlN5c3RlbSByYW5kb20gYnl0ZSBnZW5lcmF0b3IgaXMgbm90IGF2YWlsYWJsZS4iKTtyZXR1cm4gdGhpcy5fc291cmNlLnJhbmRvbUJ5dGVzKGUpfX0sZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucmFuZG9tU3RyaW5nRm9yRW50cm9weT1lLnJhbmRvbVN0cmluZz1lLnJhbmRvbVVpbnQzMj1lLnJhbmRvbUJ5dGVzPWUuZGVmYXVsdFJhbmRvbVNvdXJjZT12b2lkIDA7bGV0IHQ9dFosbj1uaTtmdW5jdGlvbiByKHQsbj1lLmRlZmF1bHRSYW5kb21Tb3VyY2Upe3JldHVybiBuLnJhbmRvbUJ5dGVzKHQpfWUuZGVmYXVsdFJhbmRvbVNvdXJjZT1uZXcgbjIuU3lzdGVtUmFuZG9tU291cmNlLGUucmFuZG9tQnl0ZXM9cixlLnJhbmRvbVVpbnQzMj1mdW5jdGlvbiBpKG89ZS5kZWZhdWx0UmFuZG9tU291cmNlKXtsZXQgYT1yKDQsbykscz0oMCx0LnJlYWRVaW50MzJMRSkoYSk7cmV0dXJuKDAsbi53aXBlKShhKSxzfTtsZXQgaT0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiO2Z1bmN0aW9uIG8odCxvPWksYT1lLmRlZmF1bHRSYW5kb21Tb3VyY2Upe2lmKG8ubGVuZ3RoPDIpdGhyb3cgRXJyb3IoInJhbmRvbVN0cmluZyBjaGFyc2V0IGlzIHRvbyBzaG9ydCIpO2lmKG8ubGVuZ3RoPjI1Nil0aHJvdyBFcnJvcigicmFuZG9tU3RyaW5nIGNoYXJzZXQgaXMgdG9vIGxvbmciKTtsZXQgcz0iIixsPW8ubGVuZ3RoLCQ9MjU2LTI1NiVsO2Zvcig7dD4wOyl7bGV0IGM9cihNYXRoLmNlaWwoMjU2KnQvJCksYSk7Zm9yKGxldCBoPTA7aDxjLmxlbmd0aCYmdD4wO2grKyl7bGV0IHU9Y1toXTt1PCQmJihzKz1vLmNoYXJBdCh1JWwpLHQtLSl9KDAsbi53aXBlKShjKX1yZXR1cm4gc31lLnJhbmRvbVN0cmluZz1vLGUucmFuZG9tU3RyaW5nRm9yRW50cm9weT1mdW5jdGlvbiB0KG4scj1pLGE9ZS5kZWZhdWx0UmFuZG9tU291cmNlKXtsZXQgcz1NYXRoLmNlaWwobi8oTWF0aC5sb2coci5sZW5ndGgpL01hdGguTE4yKSk7cmV0dXJuIG8ocyxyLGEpfX0obnYpO3ZhciBuTD17fTshZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0PXRaLG49bmk7ZS5ESUdFU1RfTEVOR1RIPTMyLGUuQkxPQ0tfU0laRT02NDt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoKXt0aGlzLmRpZ2VzdExlbmd0aD1lLkRJR0VTVF9MRU5HVEgsdGhpcy5ibG9ja1NpemU9ZS5CTE9DS19TSVpFLHRoaXMuX3N0YXRlPW5ldyBJbnQzMkFycmF5KDgpLHRoaXMuX3RlbXA9bmV3IEludDMyQXJyYXkoNjQpLHRoaXMuX2J1ZmZlcj1uZXcgVWludDhBcnJheSgxMjgpLHRoaXMuX2J1ZmZlckxlbmd0aD0wLHRoaXMuX2J5dGVzSGFzaGVkPTAsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5yZXNldCgpfXJldHVybiByLnByb3RvdHlwZS5faW5pdFN0YXRlPWZ1bmN0aW9uKCl7dGhpcy5fc3RhdGVbMF09MTc3OTAzMzcwMyx0aGlzLl9zdGF0ZVsxXT0zMTQ0MTM0Mjc3LHRoaXMuX3N0YXRlWzJdPTEwMTM5MDQyNDIsdGhpcy5fc3RhdGVbM109Mjc3MzQ4MDc2Mix0aGlzLl9zdGF0ZVs0XT0xMzU5ODkzMTE5LHRoaXMuX3N0YXRlWzVdPTI2MDA4MjI5MjQsdGhpcy5fc3RhdGVbNl09NTI4NzM0NjM1LHRoaXMuX3N0YXRlWzddPTE1NDE0NTkyMjV9LHIucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2luaXRTdGF0ZSgpLHRoaXMuX2J1ZmZlckxlbmd0aD0wLHRoaXMuX2J5dGVzSGFzaGVkPTAsdGhpcy5fZmluaXNoZWQ9ITEsdGhpc30sci5wcm90b3R5cGUuY2xlYW49ZnVuY3Rpb24oKXtuLndpcGUodGhpcy5fYnVmZmVyKSxuLndpcGUodGhpcy5fdGVtcCksdGhpcy5yZXNldCgpfSxyLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10JiYodD1lLmxlbmd0aCksdGhpcy5fZmluaXNoZWQpdGhyb3cgRXJyb3IoIlNIQTI1NjogY2FuJ3QgdXBkYXRlIGJlY2F1c2UgaGFzaCB3YXMgZmluaXNoZWQuIik7dmFyIG49MDtpZih0aGlzLl9ieXRlc0hhc2hlZCs9dCx0aGlzLl9idWZmZXJMZW5ndGg+MCl7Zm9yKDt0aGlzLl9idWZmZXJMZW5ndGg8dGhpcy5ibG9ja1NpemUmJnQ+MDspdGhpcy5fYnVmZmVyW3RoaXMuX2J1ZmZlckxlbmd0aCsrXT1lW24rK10sdC0tO3RoaXMuX2J1ZmZlckxlbmd0aD09PXRoaXMuYmxvY2tTaXplJiYobyh0aGlzLl90ZW1wLHRoaXMuX3N0YXRlLHRoaXMuX2J1ZmZlciwwLHRoaXMuYmxvY2tTaXplKSx0aGlzLl9idWZmZXJMZW5ndGg9MCl9Zm9yKHQ+PXRoaXMuYmxvY2tTaXplJiYobj1vKHRoaXMuX3RlbXAsdGhpcy5fc3RhdGUsZSxuLHQpLHQlPXRoaXMuYmxvY2tTaXplKTt0PjA7KXRoaXMuX2J1ZmZlclt0aGlzLl9idWZmZXJMZW5ndGgrK109ZVtuKytdLHQtLTtyZXR1cm4gdGhpc30sci5wcm90b3R5cGUuZmluaXNoPWZ1bmN0aW9uKGUpe2lmKCF0aGlzLl9maW5pc2hlZCl7dmFyIG49dGhpcy5fYnl0ZXNIYXNoZWQscj10aGlzLl9idWZmZXJMZW5ndGgsaT1uJTY0PDU2PzY0OjEyODt0aGlzLl9idWZmZXJbcl09MTI4O2Zvcih2YXIgYT1yKzE7YTxpLTg7YSsrKXRoaXMuX2J1ZmZlclthXT0wO3Qud3JpdGVVaW50MzJCRShuLzUzNjg3MDkxMnwwLHRoaXMuX2J1ZmZlcixpLTgpLHQud3JpdGVVaW50MzJCRShuPDwzLHRoaXMuX2J1ZmZlcixpLTQpLG8odGhpcy5fdGVtcCx0aGlzLl9zdGF0ZSx0aGlzLl9idWZmZXIsMCxpKSx0aGlzLl9maW5pc2hlZD0hMH1mb3IodmFyIGE9MDthPHRoaXMuZGlnZXN0TGVuZ3RoLzQ7YSsrKXQud3JpdGVVaW50MzJCRSh0aGlzLl9zdGF0ZVthXSxlLDQqYSk7cmV0dXJuIHRoaXN9LHIucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBlPW5ldyBVaW50OEFycmF5KHRoaXMuZGlnZXN0TGVuZ3RoKTtyZXR1cm4gdGhpcy5maW5pc2goZSksZX0sci5wcm90b3R5cGUuc2F2ZVN0YXRlPWZ1bmN0aW9uKCl7aWYodGhpcy5fZmluaXNoZWQpdGhyb3cgRXJyb3IoIlNIQTI1NjogY2Fubm90IHNhdmUgZmluaXNoZWQgc3RhdGUiKTtyZXR1cm57c3RhdGU6bmV3IEludDMyQXJyYXkodGhpcy5fc3RhdGUpLGJ1ZmZlcjp0aGlzLl9idWZmZXJMZW5ndGg+MD9uZXcgVWludDhBcnJheSh0aGlzLl9idWZmZXIpOnZvaWQgMCxidWZmZXJMZW5ndGg6dGhpcy5fYnVmZmVyTGVuZ3RoLGJ5dGVzSGFzaGVkOnRoaXMuX2J5dGVzSGFzaGVkfX0sci5wcm90b3R5cGUucmVzdG9yZVN0YXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9zdGF0ZS5zZXQoZS5zdGF0ZSksdGhpcy5fYnVmZmVyTGVuZ3RoPWUuYnVmZmVyTGVuZ3RoLGUuYnVmZmVyJiZ0aGlzLl9idWZmZXIuc2V0KGUuYnVmZmVyKSx0aGlzLl9ieXRlc0hhc2hlZD1lLmJ5dGVzSGFzaGVkLHRoaXMuX2ZpbmlzaGVkPSExLHRoaXN9LHIucHJvdG90eXBlLmNsZWFuU2F2ZWRTdGF0ZT1mdW5jdGlvbihlKXtuLndpcGUoZS5zdGF0ZSksZS5idWZmZXImJm4ud2lwZShlLmJ1ZmZlciksZS5idWZmZXJMZW5ndGg9MCxlLmJ5dGVzSGFzaGVkPTB9LHJ9KCk7ZS5TSEEyNTY9cjt2YXIgaT1uZXcgSW50MzJBcnJheShbMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSk7ZnVuY3Rpb24gbyhlLG4scixvLGEpe2Zvcig7YT49NjQ7KXtmb3IodmFyIHM9blswXSxsPW5bMV0sJD1uWzJdLGM9blszXSxoPW5bNF0sdT1uWzVdLGQ9bls2XSxfPW5bN10sZj0wO2Y8MTY7ZisrKXt2YXIgcD1vKzQqZjtlW2ZdPXQucmVhZFVpbnQzMkJFKHIscCl9Zm9yKHZhciBmPTE2O2Y8NjQ7ZisrKXt2YXIgZz1lW2YtMl0sbT0oZz4+PjE3fGc8PDE1KV4oZz4+PjE5fGc8PDEzKV5nPj4+MTAsdz0oKGc9ZVtmLTE1XSk+Pj43fGc8PDI1KV4oZz4+PjE4fGc8PDE0KV5nPj4+MztlW2ZdPShtK2VbZi03XXwwKSsodytlW2YtMTZdfDApfWZvcih2YXIgZj0wO2Y8NjQ7ZisrKXt2YXIgbT0oKChoPj4+NnxoPDwyNileKGg+Pj4xMXxoPDwyMSleKGg+Pj4yNXxoPDw3KSkrKGgmdV5+aCZkKXwwKSsoXysoaVtmXStlW2ZdfDApfDApfDAsdz0oKHM+Pj4yfHM8PDMwKV4ocz4+PjEzfHM8PDE5KV4ocz4+PjIyfHM8PDEwKSkrKHMmbF5zJiRebCYkKXwwO189ZCxkPXUsdT1oLGg9YyttfDAsYz0kLCQ9bCxsPXMscz1tK3d8MH1uWzBdKz1zLG5bMV0rPWwsblsyXSs9JCxuWzNdKz1jLG5bNF0rPWgsbls1XSs9dSxuWzZdKz1kLG5bN10rPV8sbys9NjQsYS09NjR9cmV0dXJuIG99ZS5oYXNoPWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3IHI7bi51cGRhdGUodCk7dmFyIGk9bi5kaWdlc3QoKTtyZXR1cm4gbi5jbGVhbigpLGl9fShuTCk7dmFyIG5OPXt9O2Z1bmN0aW9uIG5PKGU9MCl7cmV0dXJuIG51bGwhPWdsb2JhbFRoaXMuQnVmZmVyJiZudWxsIT1nbG9iYWxUaGlzLkJ1ZmZlci5hbGxvY1Vuc2FmZT9nbG9iYWxUaGlzLkJ1ZmZlci5hbGxvY1Vuc2FmZShlKTpuZXcgVWludDhBcnJheShlKX1mdW5jdGlvbiBuTShlLHQpe3R8fCh0PWUucmVkdWNlKChlLHQpPT5lK3QubGVuZ3RoLDApKTtsZXQgbj1uTyh0KSxyPTA7Zm9yKGxldCBpIG9mIGUpbi5zZXQoaSxyKSxyKz1pLmxlbmd0aDtyZXR1cm4gbn0hZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuc2hhcmVkS2V5PWUuZ2VuZXJhdGVLZXlQYWlyPWUuZ2VuZXJhdGVLZXlQYWlyRnJvbVNlZWQ9ZS5zY2FsYXJNdWx0QmFzZT1lLnNjYWxhck11bHQ9ZS5TSEFSRURfS0VZX0xFTkdUSD1lLlNFQ1JFVF9LRVlfTEVOR1RIPWUuUFVCTElDX0tFWV9MRU5HVEg9dm9pZCAwO2xldCB0PW52LG49bmk7ZnVuY3Rpb24gcihlKXtsZXQgdD1uZXcgRmxvYXQ2NEFycmF5KDE2KTtpZihlKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXRbbl09ZVtuXTtyZXR1cm4gdH1lLlBVQkxJQ19LRVlfTEVOR1RIPTMyLGUuU0VDUkVUX0tFWV9MRU5HVEg9MzIsZS5TSEFSRURfS0VZX0xFTkdUSD0zMjtsZXQgaT1uZXcgVWludDhBcnJheSgzMik7aVswXT05O2xldCBvPXIoWzU2MTI5LDFdKTtmdW5jdGlvbiBhKGUpe2xldCB0PTE7Zm9yKGxldCBuPTA7bjwxNjtuKyspe2xldCByPWVbbl0rdCs2NTUzNTt0PU1hdGguZmxvb3Ioci82NTUzNiksZVtuXT1yLTY1NTM2KnR9ZVswXSs9dC0xKzM3Kih0LTEpfWZ1bmN0aW9uIHMoZSx0LG4pe2xldCByPX4obi0xKTtmb3IobGV0IGk9MDtpPDE2O2krKyl7bGV0IG89ciYoZVtpXV50W2ldKTtlW2ldXj1vLHRbaV1ePW99fWZ1bmN0aW9uIGwoZSx0LG4pe2ZvcihsZXQgcj0wO3I8MTY7cisrKWVbcl09dFtyXStuW3JdfWZ1bmN0aW9uICQoZSx0LG4pe2ZvcihsZXQgcj0wO3I8MTY7cisrKWVbcl09dFtyXS1uW3JdfWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByLGksbz0wLGE9MCxzPTAsbD0wLCQ9MCxjPTAsaD0wLHU9MCxkPTAsXz0wLGY9MCxwPTAsZz0wLG09MCx3PTAsdj0wLGI9MCx5PTAseD0wLEU9MCxDPTAsRD0wLGs9MCxBPTAsST0wLFQ9MCxTPTAsTD0wLE49MCxPPTAsTT0wLFA9blswXSxSPW5bMV0sVT1uWzJdLEI9blszXSxXPW5bNF0sRj1uWzVdLHo9bls2XSxIPW5bN10saj1uWzhdLFo9bls5XSxZPW5bMTBdLFY9blsxMV0sRz1uWzEyXSxLPW5bMTNdLHE9blsxNF0sUT1uWzE1XTtvKz0ocj10WzBdKSpQLGErPXIqUixzKz1yKlUsbCs9cipCLCQrPXIqVyxjKz1yKkYsaCs9cip6LHUrPXIqSCxkKz1yKmosXys9cipaLGYrPXIqWSxwKz1yKlYsZys9cipHLG0rPXIqSyx3Kz1yKnEsdis9cipRLGErPShyPXRbMV0pKlAscys9cipSLGwrPXIqVSwkKz1yKkIsYys9cipXLGgrPXIqRix1Kz1yKnosZCs9cipILF8rPXIqaixmKz1yKloscCs9cipZLGcrPXIqVixtKz1yKkcsdys9cipLLHYrPXIqcSxiKz1yKlEscys9KHI9dFsyXSkqUCxsKz1yKlIsJCs9cipVLGMrPXIqQixoKz1yKlcsdSs9cipGLGQrPXIqeixfKz1yKkgsZis9cipqLHArPXIqWixnKz1yKlksbSs9cipWLHcrPXIqRyx2Kz1yKkssYis9cipxLHkrPXIqUSxsKz0ocj10WzNdKSpQLCQrPXIqUixjKz1yKlUsaCs9cipCLHUrPXIqVyxkKz1yKkYsXys9cip6LGYrPXIqSCxwKz1yKmosZys9cipaLG0rPXIqWSx3Kz1yKlYsdis9cipHLGIrPXIqSyx5Kz1yKnEseCs9cipRLCQrPShyPXRbNF0pKlAsYys9cipSLGgrPXIqVSx1Kz1yKkIsZCs9cipXLF8rPXIqRixmKz1yKnoscCs9cipILGcrPXIqaixtKz1yKlosdys9cipZLHYrPXIqVixiKz1yKkcseSs9cipLLHgrPXIqcSxFKz1yKlEsYys9KHI9dFs1XSkqUCxoKz1yKlIsdSs9cipVLGQrPXIqQixfKz1yKlcsZis9cipGLHArPXIqeixnKz1yKkgsbSs9cipqLHcrPXIqWix2Kz1yKlksYis9cipWLHkrPXIqRyx4Kz1yKkssRSs9cipxLEMrPXIqUSxoKz0ocj10WzZdKSpQLHUrPXIqUixkKz1yKlUsXys9cipCLGYrPXIqVyxwKz1yKkYsZys9cip6LG0rPXIqSCx3Kz1yKmosdis9cipaLGIrPXIqWSx5Kz1yKlYseCs9cipHLEUrPXIqSyxDKz1yKnEsRCs9cipRLHUrPShyPXRbN10pKlAsZCs9cipSLF8rPXIqVSxmKz1yKkIscCs9cipXLGcrPXIqRixtKz1yKnosdys9cipILHYrPXIqaixiKz1yKloseSs9cipZLHgrPXIqVixFKz1yKkcsQys9cipLLEQrPXIqcSxrKz1yKlEsZCs9KHI9dFs4XSkqUCxfKz1yKlIsZis9cipVLHArPXIqQixnKz1yKlcsbSs9cipGLHcrPXIqeix2Kz1yKkgsYis9cipqLHkrPXIqWix4Kz1yKlksRSs9cipWLEMrPXIqRyxEKz1yKkssays9cipxLEErPXIqUSxfKz0ocj10WzldKSpQLGYrPXIqUixwKz1yKlUsZys9cipCLG0rPXIqVyx3Kz1yKkYsdis9cip6LGIrPXIqSCx5Kz1yKmoseCs9cipaLEUrPXIqWSxDKz1yKlYsRCs9cipHLGsrPXIqSyxBKz1yKnEsSSs9cipRLGYrPShyPXRbMTBdKSpQLHArPXIqUixnKz1yKlUsbSs9cipCLHcrPXIqVyx2Kz1yKkYsYis9cip6LHkrPXIqSCx4Kz1yKmosRSs9cipaLEMrPXIqWSxEKz1yKlYsays9cipHLEErPXIqSyxJKz1yKnEsVCs9cipRLHArPShyPXRbMTFdKSpQLGcrPXIqUixtKz1yKlUsdys9cipCLHYrPXIqVyxiKz1yKkYseSs9cip6LHgrPXIqSCxFKz1yKmosQys9cipaLEQrPXIqWSxrKz1yKlYsQSs9cipHLEkrPXIqSyxUKz1yKnEsUys9cipRLGcrPShyPXRbMTJdKSpQLG0rPXIqUix3Kz1yKlUsdis9cipCLGIrPXIqVyx5Kz1yKkYseCs9cip6LEUrPXIqSCxDKz1yKmosRCs9cipaLGsrPXIqWSxBKz1yKlYsSSs9cipHLFQrPXIqSyxTKz1yKnEsTCs9cipRLG0rPShyPXRbMTNdKSpQLHcrPXIqUix2Kz1yKlUsYis9cipCLHkrPXIqVyx4Kz1yKkYsRSs9cip6LEMrPXIqSCxEKz1yKmosays9cipaLEErPXIqWSxJKz1yKlYsVCs9cipHLFMrPXIqSyxMKz1yKnEsTis9cipRLHcrPShyPXRbMTRdKSpQLHYrPXIqUixiKz1yKlUseSs9cipCLHgrPXIqVyxFKz1yKkYsQys9cip6LEQrPXIqSCxrKz1yKmosQSs9cipaLEkrPXIqWSxUKz1yKlYsUys9cipHLEwrPXIqSyxOKz1yKnEsTys9cipRLHYrPShyPXRbMTVdKSpQLGIrPXIqUix5Kz1yKlUseCs9cipCLEUrPXIqVyxDKz1yKkYsRCs9cip6LGsrPXIqSCxBKz1yKmosSSs9cipaLFQrPXIqWSxTKz1yKlYsTCs9cipHLE4rPXIqSyxPKz1yKnEsTSs9cipRLG8rPTM4KmIsYSs9MzgqeSxzKz0zOCp4LGwrPTM4KkUsJCs9MzgqQyxjKz0zOCpELGgrPTM4KmssdSs9MzgqQSxkKz0zOCpJLF8rPTM4KlQsZis9MzgqUyxwKz0zOCpMLGcrPTM4Kk4sbSs9MzgqTyx3Kz0zOCpNLGk9TWF0aC5mbG9vcigocj1vKyhpPTEpKzY1NTM1KS82NTUzNiksbz1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPWEraSs2NTUzNSkvNjU1MzYpLGE9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1zK2krNjU1MzUpLzY1NTM2KSxzPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9bCtpKzY1NTM1KS82NTUzNiksbD1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPSQraSs2NTUzNSkvNjU1MzYpLCQ9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1jK2krNjU1MzUpLzY1NTM2KSxjPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9aCtpKzY1NTM1KS82NTUzNiksaD1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPXUraSs2NTUzNSkvNjU1MzYpLHU9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1kK2krNjU1MzUpLzY1NTM2KSxkPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9XytpKzY1NTM1KS82NTUzNiksXz1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPWYraSs2NTUzNSkvNjU1MzYpLGY9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1wK2krNjU1MzUpLzY1NTM2KSxwPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9ZytpKzY1NTM1KS82NTUzNiksZz1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPW0raSs2NTUzNSkvNjU1MzYpLG09ci02NTUzNippLGk9TWF0aC5mbG9vcigocj13K2krNjU1MzUpLzY1NTM2KSx3PXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9ditpKzY1NTM1KS82NTUzNiksdj1yLTY1NTM2Kmksbys9aS0xKzM3KihpLTEpLGk9TWF0aC5mbG9vcigocj1vKyhpPTEpKzY1NTM1KS82NTUzNiksbz1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPWEraSs2NTUzNSkvNjU1MzYpLGE9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1zK2krNjU1MzUpLzY1NTM2KSxzPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9bCtpKzY1NTM1KS82NTUzNiksbD1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPSQraSs2NTUzNSkvNjU1MzYpLCQ9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1jK2krNjU1MzUpLzY1NTM2KSxjPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9aCtpKzY1NTM1KS82NTUzNiksaD1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPXUraSs2NTUzNSkvNjU1MzYpLHU9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1kK2krNjU1MzUpLzY1NTM2KSxkPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9XytpKzY1NTM1KS82NTUzNiksXz1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPWYraSs2NTUzNSkvNjU1MzYpLGY9ci02NTUzNippLGk9TWF0aC5mbG9vcigocj1wK2krNjU1MzUpLzY1NTM2KSxwPXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9ZytpKzY1NTM1KS82NTUzNiksZz1yLTY1NTM2KmksaT1NYXRoLmZsb29yKChyPW0raSs2NTUzNSkvNjU1MzYpLG09ci02NTUzNippLGk9TWF0aC5mbG9vcigocj13K2krNjU1MzUpLzY1NTM2KSx3PXItNjU1MzYqaSxpPU1hdGguZmxvb3IoKHI9ditpKzY1NTM1KS82NTUzNiksdj1yLTY1NTM2Kmksbys9aS0xKzM3KihpLTEpLGVbMF09byxlWzFdPWEsZVsyXT1zLGVbM109bCxlWzRdPSQsZVs1XT1jLGVbNl09aCxlWzddPXUsZVs4XT1kLGVbOV09XyxlWzEwXT1mLGVbMTFdPXAsZVsxMl09ZyxlWzEzXT1tLGVbMTRdPXcsZVsxNV09dn1mdW5jdGlvbiBoKGUsdCl7YyhlLHQsdCl9ZnVuY3Rpb24gdShlLHQpe2xldCBuPW5ldyBVaW50OEFycmF5KDMyKSxpPW5ldyBGbG9hdDY0QXJyYXkoODApLHU9cigpLGQ9cigpLF89cigpLGY9cigpLHA9cigpLGc9cigpO2ZvcihsZXQgbT0wO208MzE7bSsrKW5bbV09ZVttXTtuWzMxXT0xMjcmZVszMV18NjQsblswXSY9MjQ4LGZ1bmN0aW9uIGUodCxuKXtmb3IobGV0IHI9MDtyPDE2O3IrKyl0W3JdPW5bMipyXSsoblsyKnIrMV08PDgpO3RbMTVdJj0zMjc2N30oaSx0KTtmb3IobGV0IHc9MDt3PDE2O3crKylkW3ddPWlbd107dVswXT1mWzBdPTE7Zm9yKGxldCB2PTI1NDt2Pj0wOy0tdil7bGV0IGI9blt2Pj4+M10+Pj4oNyZ2KSYxO3ModSxkLGIpLHMoXyxmLGIpLGwocCx1LF8pLCQodSx1LF8pLGwoXyxkLGYpLCQoZCxkLGYpLGgoZixwKSxoKGcsdSksYyh1LF8sdSksYyhfLGQscCksbChwLHUsXyksJCh1LHUsXyksaChkLHUpLCQoXyxmLGcpLGModSxfLG8pLGwodSx1LGYpLGMoXyxfLHUpLGModSxmLGcpLGMoZixkLGkpLGgoZCxwKSxzKHUsZCxiKSxzKF8sZixiKX1mb3IobGV0IHk9MDt5PDE2O3krKylpW3krMTZdPXVbeV0saVt5KzMyXT1fW3ldLGlbeSs0OF09ZFt5XSxpW3krNjRdPWZbeV07bGV0IHg9aS5zdWJhcnJheSgzMiksRT1pLnN1YmFycmF5KDE2KTshZnVuY3Rpb24gZSh0LG4pe2xldCBpPXIoKTtmb3IobGV0IG89MDtvPDE2O28rKylpW29dPW5bb107Zm9yKGxldCBhPTI1MzthPj0wO2EtLSloKGksaSksMiE9PWEmJjQhPT1hJiZjKGksaSxuKTtmb3IobGV0IHM9MDtzPDE2O3MrKyl0W3NdPWlbc119KHgseCksYyhFLEUseCk7bGV0IEM9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiFmdW5jdGlvbiBlKHQsbil7bGV0IGk9cigpLG89cigpO2ZvcihsZXQgbD0wO2w8MTY7bCsrKW9bbF09bltsXTthKG8pLGEobyksYShvKTtmb3IobGV0ICQ9MDskPDI7JCsrKXtpWzBdPW9bMF0tNjU1MTc7Zm9yKGxldCBjPTE7YzwxNTtjKyspaVtjXT1vW2NdLTY1NTM1LShpW2MtMV0+PjE2JjEpLGlbYy0xXSY9NjU1MzU7aVsxNV09b1sxNV0tMzI3NjctKGlbMTRdPj4xNiYxKTtsZXQgaD1pWzE1XT4+MTYmMTtpWzE0XSY9NjU1MzUscyhvLGksMS1oKX1mb3IobGV0IHU9MDt1PDE2O3UrKyl0WzIqdV09MjU1Jm9bdV0sdFsyKnUrMV09b1t1XT4+OH0oQyxFKSxDfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHUoZSxpKX1mdW5jdGlvbiBfKHQpe2lmKHQubGVuZ3RoIT09ZS5TRUNSRVRfS0VZX0xFTkdUSCl0aHJvdyBFcnJvcihgeDI1NTE5OiBzZWVkIG11c3QgYmUgJHtlLlNFQ1JFVF9LRVlfTEVOR1RIfSBieXRlc2ApO2xldCBuPW5ldyBVaW50OEFycmF5KHQpLHI9ZChuKTtyZXR1cm57cHVibGljS2V5OnIsc2VjcmV0S2V5Om59fWUuc2NhbGFyTXVsdD11LGUuc2NhbGFyTXVsdEJhc2U9ZCxlLmdlbmVyYXRlS2V5UGFpckZyb21TZWVkPV8sZS5nZW5lcmF0ZUtleVBhaXI9ZnVuY3Rpb24gZShyKXtsZXQgaT0oMCx0LnJhbmRvbUJ5dGVzKSgzMixyKSxvPV8oaSk7cmV0dXJuKDAsbi53aXBlKShpKSxvfSxlLnNoYXJlZEtleT1mdW5jdGlvbiB0KG4scixpPSExKXtpZihuLmxlbmd0aCE9PWUuUFVCTElDX0tFWV9MRU5HVEgpdGhyb3cgRXJyb3IoIlgyNTUxOTogaW5jb3JyZWN0IHNlY3JldCBrZXkgbGVuZ3RoIik7aWYoci5sZW5ndGghPT1lLlBVQkxJQ19LRVlfTEVOR1RIKXRocm93IEVycm9yKCJYMjU1MTk6IGluY29ycmVjdCBwdWJsaWMga2V5IGxlbmd0aCIpO2xldCBvPXUobixyKTtpZihpKXtsZXQgYT0wO2ZvcihsZXQgcz0wO3M8by5sZW5ndGg7cysrKWF8PW9bc107aWYoMD09PWEpdGhyb3cgRXJyb3IoIlgyNTUxOTogaW52YWxpZCBzaGFyZWQga2V5Iil9cmV0dXJuIG99fShuTik7dmFyIG5QPWZ1bmN0aW9uIGUodCxuKXtpZih0Lmxlbmd0aD49MjU1KXRocm93IFR5cGVFcnJvcigiQWxwaGFiZXQgdG9vIGxvbmciKTtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoMjU2KSxpPTA7aTxyLmxlbmd0aDtpKyspcltpXT0yNTU7Zm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspe3ZhciBhPXQuY2hhckF0KG8pLHM9YS5jaGFyQ29kZUF0KDApO2lmKDI1NSE9PXJbc10pdGhyb3cgVHlwZUVycm9yKGErIiBpcyBhbWJpZ3VvdXMiKTtyW3NdPW99dmFyIGw9dC5sZW5ndGgsJD10LmNoYXJBdCgwKSxjPU1hdGgubG9nKGwpL01hdGgubG9nKDI1NiksaD1NYXRoLmxvZygyNTYpL01hdGgubG9nKGwpO2Z1bmN0aW9uIHUoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IFR5cGVFcnJvcigiRXhwZWN0ZWQgU3RyaW5nIik7aWYoMD09PWUubGVuZ3RoKXJldHVybiBuZXcgVWludDhBcnJheTt2YXIgdD0wO2lmKCIgIiE9PWVbdF0pe2Zvcih2YXIgbj0wLGk9MDtlW3RdPT09JDspbisrLHQrKztmb3IodmFyIG89KGUubGVuZ3RoLXQpKmMrMT4+PjAsYT1uZXcgVWludDhBcnJheShvKTtlW3RdOyl7dmFyIHM9cltlLmNoYXJDb2RlQXQodCldO2lmKDI1NT09PXMpcmV0dXJuO2Zvcih2YXIgaD0wLHU9by0xOygwIT09c3x8aDxpKSYmLTEhPT11O3UtLSxoKyspcys9bCphW3VdPj4+MCxhW3VdPXMlMjU2Pj4+MCxzPXMvMjU2Pj4+MDtpZigwIT09cyl0aHJvdyBFcnJvcigiTm9uLXplcm8gY2FycnkiKTtpPWgsdCsrfWlmKCIgIiE9PWVbdF0pe2Zvcih2YXIgZD1vLWk7ZCE9PW8mJjA9PT1hW2RdOylkKys7Zm9yKHZhciBfPW5ldyBVaW50OEFycmF5KG4rKG8tZCkpLGY9bjtkIT09bzspX1tmKytdPWFbZCsrXTtyZXR1cm4gX319fXJldHVybntlbmNvZGU6ZnVuY3Rpb24gZShuKXtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheXx8KEFycmF5QnVmZmVyLmlzVmlldyhuKT9uPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpOkFycmF5LmlzQXJyYXkobikmJihuPVVpbnQ4QXJyYXkuZnJvbShuKSkpLCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IFR5cGVFcnJvcigiRXhwZWN0ZWQgVWludDhBcnJheSIpO2lmKDA9PT1uLmxlbmd0aClyZXR1cm4iIjtmb3IodmFyIHI9MCxpPTAsbz0wLGE9bi5sZW5ndGg7byE9PWEmJjA9PT1uW29dOylvKysscisrO2Zvcih2YXIgcz0oYS1vKSpoKzE+Pj4wLGM9bmV3IFVpbnQ4QXJyYXkocyk7byE9PWE7KXtmb3IodmFyIHU9bltvXSxkPTAsXz1zLTE7KDAhPT11fHxkPGkpJiYtMSE9PV87Xy0tLGQrKyl1Kz0yNTYqY1tfXT4+PjAsY1tfXT11JWw+Pj4wLHU9dS9sPj4+MDtpZigwIT09dSl0aHJvdyBFcnJvcigiTm9uLXplcm8gY2FycnkiKTtpPWQsbysrfWZvcih2YXIgZj1zLWk7ZiE9PXMmJjA9PT1jW2ZdOylmKys7Zm9yKHZhciBwPSQucmVwZWF0KHIpO2Y8czsrK2YpcCs9dC5jaGFyQXQoY1tmXSk7cmV0dXJuIHB9LGRlY29kZVVuc2FmZTp1LGRlY29kZTpmdW5jdGlvbiBlKHQpe3ZhciByPXUodCk7aWYocilyZXR1cm4gcjt0aHJvdyBFcnJvcihgTm9uLSR7bn0gY2hhcmFjdGVyYCl9fX07bGV0IG45PWU9PntpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSYmIlVpbnQ4QXJyYXkiPT09ZS5jb25zdHJ1Y3Rvci5uYW1lKXJldHVybiBlO2lmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXJldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKTt0aHJvdyBFcnJvcigiVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlIil9LG5SPWU9Pm5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShlKSxuVT1lPT5uZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoZSk7Y2xhc3MgbkJ7Y29uc3RydWN0b3IoZSl7dGhpcy5kZWNvZGVycz1lfW9yKGUpe3JldHVybiBuVyh0aGlzLGUpfWRlY29kZShlKXtsZXQgdD1lWzBdLG49dGhpcy5kZWNvZGVyc1t0XTtpZihuKXJldHVybiBuLmRlY29kZShlKTt0aHJvdyBSYW5nZUVycm9yKGBVbmFibGUgdG8gZGVjb2RlIG11bHRpYmFzZSBzdHJpbmcgJHtKU09OLnN0cmluZ2lmeShlKX0sIG9ubHkgaW5wdXRzIHByZWZpeGVkIHdpdGggJHtPYmplY3Qua2V5cyh0aGlzLmRlY29kZXJzKX0gYXJlIHN1cHBvcnRlZGApfX1sZXQgblc9KGUsdCk9Pm5ldyBuQih7Li4uZS5kZWNvZGVyc3x8e1tlLnByZWZpeF06ZX0sLi4udC5kZWNvZGVyc3x8e1t0LnByZWZpeF06dH19KTtjbGFzcyBuRntjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLm5hbWU9ZSx0aGlzLnByZWZpeD10LHRoaXMuYmFzZUVuY29kZT1uLHRoaXMuYmFzZURlY29kZT1yLHRoaXMuZW5jb2Rlcj1uZXcgY2xhc3MgZXtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5uYW1lPWUsdGhpcy5wcmVmaXg9dCx0aGlzLmJhc2VFbmNvZGU9bn1lbmNvZGUoZSl7aWYoZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuYCR7dGhpcy5wcmVmaXh9JHt0aGlzLmJhc2VFbmNvZGUoZSl9YDt0aHJvdyBFcnJvcigiVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlIil9fShlLHQsbiksdGhpcy5kZWNvZGVyPW5ldyBjbGFzcyBle2NvbnN0cnVjdG9yKGUsdCxuKXtpZih0aGlzLm5hbWU9ZSx0aGlzLnByZWZpeD10LHZvaWQgMD09PXQuY29kZVBvaW50QXQoMCkpdGhyb3cgRXJyb3IoIkludmFsaWQgcHJlZml4IGNoYXJhY3RlciIpO3RoaXMucHJlZml4Q29kZVBvaW50PXQuY29kZVBvaW50QXQoMCksdGhpcy5iYXNlRGVjb2RlPW59ZGVjb2RlKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYoZS5jb2RlUG9pbnRBdCgwKSE9PXRoaXMucHJlZml4Q29kZVBvaW50KXRocm93IEVycm9yKGBVbmFibGUgdG8gZGVjb2RlIG11bHRpYmFzZSBzdHJpbmcgJHtKU09OLnN0cmluZ2lmeShlKX0sICR7dGhpcy5uYW1lfSBkZWNvZGVyIG9ubHkgc3VwcG9ydHMgaW5wdXRzIHByZWZpeGVkIHdpdGggJHt0aGlzLnByZWZpeH1gKTtyZXR1cm4gdGhpcy5iYXNlRGVjb2RlKGUuc2xpY2UodGhpcy5wcmVmaXgubGVuZ3RoKSl9dGhyb3cgRXJyb3IoIkNhbiBvbmx5IG11bHRpYmFzZSBkZWNvZGUgc3RyaW5ncyIpfW9yKGUpe3JldHVybiBuVyh0aGlzLGUpfX0oZSx0LHIpfWVuY29kZShlKXtyZXR1cm4gdGhpcy5lbmNvZGVyLmVuY29kZShlKX1kZWNvZGUoZSl7cmV0dXJuIHRoaXMuZGVjb2Rlci5kZWNvZGUoZSl9fWxldCBuej0oe25hbWU6ZSxwcmVmaXg6dCxlbmNvZGU6bixkZWNvZGU6cn0pPT5uZXcgbkYoZSx0LG4sciksbkg9KHtwcmVmaXg6ZSxuYW1lOnQsYWxwaGFiZXQ6bn0pPT57bGV0e2VuY29kZTpyLGRlY29kZTppfT1uUChuLHQpO3JldHVybiBueih7cHJlZml4OmUsbmFtZTp0LGVuY29kZTpyLGRlY29kZTplPT5uOShpKGUpKX0pfSxuaj0oZSx0LG4scik9PntsZXQgaT17fTtmb3IobGV0IG89MDtvPHQubGVuZ3RoOysrbylpW3Rbb11dPW87bGV0IGE9ZS5sZW5ndGg7Zm9yKDsiPSI9PT1lW2EtMV07KS0tYTtsZXQgcz1uZXcgVWludDhBcnJheShhKm4vOHwwKSxsPTAsJD0wLGM9MDtmb3IobGV0IGg9MDtoPGE7KytoKXtsZXQgdT1pW2VbaF1dO2lmKHZvaWQgMD09PXUpdGhyb3cgU3ludGF4RXJyb3IoYE5vbi0ke3J9IGNoYXJhY3RlcmApOyQ9JDw8bnx1LChsKz1uKT49OCYmKGwtPTgsc1tjKytdPTI1NSYkPj5sKX1pZihsPj1ufHwyNTUmJDw8OC1sKXRocm93IFN5bnRheEVycm9yKCJVbmV4cGVjdGVkIGVuZCBvZiBkYXRhIik7cmV0dXJuIHN9LG5aPShlLHQsbik9PntsZXQgcj0iPSI9PT10W3QubGVuZ3RoLTFdLGk9KDE8PG4pLTEsbz0iIixhPTAscz0wO2ZvcihsZXQgbD0wO2w8ZS5sZW5ndGg7KytsKWZvcihzPXM8PDh8ZVtsXSxhKz04O2E+bjspYS09bixvKz10W2kmcz4+YV07aWYoYSYmKG8rPXRbaSZzPDxuLWFdKSxyKWZvcig7by5sZW5ndGgqbiY3OylvKz0iPSI7cmV0dXJuIG99LG5ZPSh7bmFtZTplLHByZWZpeDp0LGJpdHNQZXJDaGFyOm4sYWxwaGFiZXQ6cn0pPT5ueih7cHJlZml4OnQsbmFtZTplLGVuY29kZTplPT5uWihlLHIsbiksZGVjb2RlOnQ9Pm5qKHQscixuLGUpfSksblY9bnooe3ByZWZpeDoiXDAiLG5hbWU6ImlkZW50aXR5IixlbmNvZGU6ZT0+blUoZSksZGVjb2RlOmU9Pm5SKGUpfSk7dmFyIG5HPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGlkZW50aXR5Om5WfSk7bGV0IG5LPW5ZKHtwcmVmaXg6IjAiLG5hbWU6ImJhc2UyIixhbHBoYWJldDoiMDEiLGJpdHNQZXJDaGFyOjF9KTt2YXIgbnE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTI6bkt9KTtsZXQgblE9blkoe3ByZWZpeDoiNyIsbmFtZToiYmFzZTgiLGFscGhhYmV0OiIwMTIzNDU2NyIsYml0c1BlckNoYXI6M30pO3ZhciBuWD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlODpuUX0pO2xldCBuSj1uSCh7cHJlZml4OiI5IixuYW1lOiJiYXNlMTAiLGFscGhhYmV0OiIwMTIzNDU2Nzg5In0pO3ZhciByZT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMTA6bkp9KTtsZXQgcnQ9blkoe3ByZWZpeDoiZiIsbmFtZToiYmFzZTE2IixhbHBoYWJldDoiMDEyMzQ1Njc4OWFiY2RlZiIsYml0c1BlckNoYXI6NH0pLHJuPW5ZKHtwcmVmaXg6IkYiLG5hbWU6ImJhc2UxNnVwcGVyIixhbHBoYWJldDoiMDEyMzQ1Njc4OUFCQ0RFRiIsYml0c1BlckNoYXI6NH0pO3ZhciBycj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMTY6cnQsYmFzZTE2dXBwZXI6cm59KTtsZXQgcmk9blkoe3ByZWZpeDoiYiIsbmFtZToiYmFzZTMyIixhbHBoYWJldDoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoyMzQ1NjciLGJpdHNQZXJDaGFyOjV9KSxybz1uWSh7cHJlZml4OiJCIixuYW1lOiJiYXNlMzJ1cHBlciIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMjM0NTY3IixiaXRzUGVyQ2hhcjo1fSkscmE9blkoe3ByZWZpeDoiYyIsbmFtZToiYmFzZTMycGFkIixhbHBoYWJldDoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoyMzQ1Njc9IixiaXRzUGVyQ2hhcjo1fSkscnM9blkoe3ByZWZpeDoiQyIsbmFtZToiYmFzZTMycGFkdXBwZXIiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2Nz0iLGJpdHNQZXJDaGFyOjV9KSxybD1uWSh7cHJlZml4OiJ2IixuYW1lOiJiYXNlMzJoZXgiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1diIsYml0c1BlckNoYXI6NX0pLHIkPW5ZKHtwcmVmaXg6IlYiLG5hbWU6ImJhc2UzMmhleHVwcGVyIixhbHBoYWJldDoiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVYiLGJpdHNQZXJDaGFyOjV9KSxyYz1uWSh7cHJlZml4OiJ0IixuYW1lOiJiYXNlMzJoZXhwYWQiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dj0iLGJpdHNQZXJDaGFyOjV9KSxyaD1uWSh7cHJlZml4OiJUIixuYW1lOiJiYXNlMzJoZXhwYWR1cHBlciIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWPSIsYml0c1BlckNoYXI6NX0pLHJ1PW5ZKHtwcmVmaXg6ImgiLG5hbWU6ImJhc2UzMnoiLGFscGhhYmV0OiJ5Ym5kcmZnOGVqa21jcHF4b3QxdXdpc3phMzQ1aDc2OSIsYml0c1BlckNoYXI6NX0pO3ZhciByZD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMzI6cmksYmFzZTMyaGV4OnJsLGJhc2UzMmhleHBhZDpyYyxiYXNlMzJoZXhwYWR1cHBlcjpyaCxiYXNlMzJoZXh1cHBlcjpyJCxiYXNlMzJwYWQ6cmEsYmFzZTMycGFkdXBwZXI6cnMsYmFzZTMydXBwZXI6cm8sYmFzZTMyejpydX0pO2xldCByXz1uSCh7cHJlZml4OiJrIixuYW1lOiJiYXNlMzYiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoifSkscmY9bkgoe3ByZWZpeDoiSyIsbmFtZToiYmFzZTM2dXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoifSk7dmFyIHJwPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UzNjpyXyxiYXNlMzZ1cHBlcjpyZn0pO2xldCByMT1uSCh7bmFtZToiYmFzZTU4YnRjIixwcmVmaXg6InoiLGFscGhhYmV0OiIxMjM0NTY3ODlBQkNERUZHSEpLTE1OUFFSU1RVVldYWVphYmNkZWZnaGlqa21ub3BxcnN0dXZ3eHl6In0pLHIwPW5IKHtuYW1lOiJiYXNlNThmbGlja3IiLHByZWZpeDoiWiIsYWxwaGFiZXQ6IjEyMzQ1Njc4OWFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXpBQkNERUZHSEpLTE1OUFFSU1RVVldYWVoifSk7dmFyIHJnPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2U1OGJ0YzpyMSxiYXNlNThmbGlja3I6cjB9KTtsZXQgcm09blkoe3ByZWZpeDoibSIsbmFtZToiYmFzZTY0IixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsYml0c1BlckNoYXI6Nn0pLHIzPW5ZKHtwcmVmaXg6Ik0iLG5hbWU6ImJhc2U2NHBhZCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IixiaXRzUGVyQ2hhcjo2fSkscnc9blkoe3ByZWZpeDoidSIsbmFtZToiYmFzZTY0dXJsIixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIsYml0c1BlckNoYXI6Nn0pLHJ2PW5ZKHtwcmVmaXg6IlUiLG5hbWU6ImJhc2U2NHVybHBhZCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV89IixiaXRzUGVyQ2hhcjo2fSk7dmFyIHIyPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2U2NDpybSxiYXNlNjRwYWQ6cjMsYmFzZTY0dXJsOnJ3LGJhc2U2NHVybHBhZDpydn0pO2xldCByND1BcnJheS5mcm9tKCJcdUQ4M0RcdURFODBcdUQ4M0VcdURFOTDimIRcdUQ4M0RcdURFRjBcdUQ4M0NcdURGMENcdUQ4M0NcdURGMTFcdUQ4M0NcdURGMTJcdUQ4M0NcdURGMTNcdUQ4M0NcdURGMTRcdUQ4M0NcdURGMTVcdUQ4M0NcdURGMTZcdUQ4M0NcdURGMTdcdUQ4M0NcdURGMThcdUQ4M0NcdURGMERcdUQ4M0NcdURGMEZcdUQ4M0NcdURGMEVcdUQ4M0RcdURDMDnimIBcdUQ4M0RcdURDQkJcdUQ4M0RcdUREQTVcdUQ4M0RcdURDQkVcdUQ4M0RcdURDQkZcdUQ4M0RcdURFMDLinaRcdUQ4M0RcdURFMERcdUQ4M0VcdUREMjNcdUQ4M0RcdURFMEFcdUQ4M0RcdURFNEZcdUQ4M0RcdURDOTVcdUQ4M0RcdURFMkRcdUQ4M0RcdURFMThcdUQ4M0RcdURDNERcdUQ4M0RcdURFMDVcdUQ4M0RcdURDNEZcdUQ4M0RcdURFMDFcdUQ4M0RcdUREMjVcdUQ4M0VcdURENzBcdUQ4M0RcdURDOTRcdUQ4M0RcdURDOTZcdUQ4M0RcdURDOTlcdUQ4M0RcdURFMjJcdUQ4M0VcdUREMTRcdUQ4M0RcdURFMDZcdUQ4M0RcdURFNDRcdUQ4M0RcdURDQUFcdUQ4M0RcdURFMDnimLpcdUQ4M0RcdURDNENcdUQ4M0VcdUREMTdcdUQ4M0RcdURDOUNcdUQ4M0RcdURFMTRcdUQ4M0RcdURFMEVcdUQ4M0RcdURFMDdcdUQ4M0NcdURGMzlcdUQ4M0VcdUREMjZcdUQ4M0NcdURGODlcdUQ4M0RcdURDOUXinIzinKhcdUQ4M0VcdUREMzdcdUQ4M0RcdURFMzFcdUQ4M0RcdURFMENcdUQ4M0NcdURGMzhcdUQ4M0RcdURFNENcdUQ4M0RcdURFMEJcdUQ4M0RcdURDOTdcdUQ4M0RcdURDOUFcdUQ4M0RcdURFMEZcdUQ4M0RcdURDOUJcdUQ4M0RcdURFNDJcdUQ4M0RcdURDOTNcdUQ4M0VcdUREMjlcdUQ4M0RcdURFMDRcdUQ4M0RcdURFMDBcdUQ4M0RcdUREQTRcdUQ4M0RcdURFMDNcdUQ4M0RcdURDQUZcdUQ4M0RcdURFNDhcdUQ4M0RcdURDNDdcdUQ4M0NcdURGQjZcdUQ4M0RcdURFMTJcdUQ4M0VcdUREMkTinaNcdUQ4M0RcdURFMUNcdUQ4M0RcdURDOEJcdUQ4M0RcdURDNDBcdUQ4M0RcdURFMkFcdUQ4M0RcdURFMTFcdUQ4M0RcdURDQTVcdUQ4M0RcdURFNEJcdUQ4M0RcdURFMUVcdUQ4M0RcdURFMjlcdUQ4M0RcdURFMjFcdUQ4M0VcdUREMkFcdUQ4M0RcdURDNEFcdUQ4M0VcdURENzNcdUQ4M0RcdURFMjVcdUQ4M0VcdUREMjRcdUQ4M0RcdURDNDlcdUQ4M0RcdURDODNcdUQ4M0RcdURFMzPinItcdUQ4M0RcdURFMUFcdUQ4M0RcdURFMURcdUQ4M0RcdURFMzRcdUQ4M0NcdURGMUZcdUQ4M0RcdURFMkNcdUQ4M0RcdURFNDNcdUQ4M0NcdURGNDBcdUQ4M0NcdURGMzdcdUQ4M0RcdURFM0JcdUQ4M0RcdURFMTPirZDinIVcdUQ4M0VcdUREN0FcdUQ4M0NcdURGMDhcdUQ4M0RcdURFMDhcdUQ4M0VcdUREMThcdUQ4M0RcdURDQTbinJRcdUQ4M0RcdURFMjNcdUQ4M0NcdURGQzNcdUQ4M0RcdURDOTDimLlcdUQ4M0NcdURGOEFcdUQ4M0RcdURDOThcdUQ4M0RcdURFMjDimJ1cdUQ4M0RcdURFMTVcdUQ4M0NcdURGM0FcdUQ4M0NcdURGODJcdUQ4M0NcdURGM0JcdUQ4M0RcdURFMTBcdUQ4M0RcdUREOTVcdUQ4M0RcdURDOURcdUQ4M0RcdURFNEFcdUQ4M0RcdURFMzlcdUQ4M0RcdURERTNcdUQ4M0RcdURDQUJcdUQ4M0RcdURDODBcdUQ4M0RcdURDNTFcdUQ4M0NcdURGQjVcdUQ4M0VcdUREMUVcdUQ4M0RcdURFMUJcdUQ4M0RcdUREMzRcdUQ4M0RcdURFMjRcdUQ4M0NcdURGM0NcdUQ4M0RcdURFMkLimr1cdUQ4M0VcdUREMTnimJVcdUQ4M0NcdURGQzZcdUQ4M0VcdUREMkJcdUQ4M0RcdURDNDhcdUQ4M0RcdURFMkVcdUQ4M0RcdURFNDZcdUQ4M0NcdURGN0JcdUQ4M0NcdURGNDNcdUQ4M0RcdURDMzZcdUQ4M0RcdURDODFcdUQ4M0RcdURFMzJcdUQ4M0NcdURGM0ZcdUQ4M0VcdURERTFcdUQ4M0NcdURGODHimqFcdUQ4M0NcdURGMUVcdUQ4M0NcdURGODjinYzinIpcdUQ4M0RcdURDNEJcdUQ4M0RcdURFMzBcdUQ4M0VcdUREMjhcdUQ4M0RcdURFMzZcdUQ4M0VcdUREMURcdUQ4M0RcdURFQjZcdUQ4M0RcdURDQjBcdUQ4M0NcdURGNTNcdUQ4M0RcdURDQTJcdUQ4M0VcdUREMUZcdUQ4M0RcdURFNDFcdUQ4M0RcdURFQThcdUQ4M0RcdURDQThcdUQ4M0VcdUREMkPinIhcdUQ4M0NcdURGODBcdUQ4M0NcdURGN0FcdUQ4M0VcdUREMTNcdUQ4M0RcdURFMTlcdUQ4M0RcdURDOUZcdUQ4M0NcdURGMzFcdUQ4M0RcdURFMTZcdUQ4M0RcdURDNzZcdUQ4M0VcdURENzTilrbinqHinZNcdUQ4M0RcdURDOEVcdUQ4M0RcdURDQjjirIdcdUQ4M0RcdURFMjhcdUQ4M0NcdURGMUFcdUQ4M0VcdUREOEJcdUQ4M0RcdURFMzdcdUQ4M0RcdUREN0HimqBcdUQ4M0RcdURFNDVcdUQ4M0RcdURFMUZcdUQ4M0RcdURFMzVcdUQ4M0RcdURDNEVcdUQ4M0VcdUREMzJcdUQ4M0VcdUREMjBcdUQ4M0VcdUREMjdcdUQ4M0RcdURDQ0NcdUQ4M0RcdUREMzVcdUQ4M0RcdURDODVcdUQ4M0VcdURERDBcdUQ4M0RcdURDM0VcdUQ4M0NcdURGNTJcdUQ4M0RcdURFMTdcdUQ4M0VcdUREMTFcdUQ4M0NcdURGMEFcdUQ4M0VcdUREMkZcdUQ4M0RcdURDMzfimI5cdUQ4M0RcdURDQTdcdUQ4M0RcdURFMkZcdUQ4M0RcdURDODZcdUQ4M0RcdURDNDZcdUQ4M0NcdURGQTRcdUQ4M0RcdURFNDdcdUQ4M0NcdURGNTHinYRcdUQ4M0NcdURGMzRcdUQ4M0RcdURDQTNcdUQ4M0RcdURDMzhcdUQ4M0RcdURDOENcdUQ4M0RcdURDQ0RcdUQ4M0VcdURENDBcdUQ4M0VcdUREMjJcdUQ4M0RcdURDNDVcdUQ4M0RcdURDQTFcdUQ4M0RcdURDQTlcdUQ4M0RcdURDNTBcdUQ4M0RcdURDRjhcdUQ4M0RcdURDN0JcdUQ4M0VcdUREMTBcdUQ4M0VcdUREMkVcdUQ4M0NcdURGQkNcdUQ4M0VcdURENzVcdUQ4M0RcdURFQTlcdUQ4M0NcdURGNEVcdUQ4M0NcdURGNEFcdUQ4M0RcdURDN0NcdUQ4M0RcdURDOERcdUQ4M0RcdURDRTNcdUQ4M0VcdURENDIiKSxyYj1yNC5yZWR1Y2UoKGUsdCxuKT0+KGVbbl09dCxlKSxbXSkscjg9cjQucmVkdWNlKChlLHQsbik9PihlW3QuY29kZVBvaW50QXQoMCldPW4sZSksW10pLHI2PW56KHtwcmVmaXg6Ilx1RDgzRFx1REU4MCIsbmFtZToiYmFzZTI1NmVtb2ppIixlbmNvZGU6ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdC5yZWR1Y2UoKGUsdCk9PmUrPXJiW3RdLCIiKX0sZGVjb2RlOmZ1bmN0aW9uIGUodCl7bGV0IG49W107Zm9yKGxldCByIG9mIHQpe2xldCBpPXI4W3IuY29kZVBvaW50QXQoMCldO2lmKHZvaWQgMD09PWkpdGhyb3cgRXJyb3IoYE5vbi1iYXNlMjU2ZW1vamkgY2hhcmFjdGVyOiAke3J9YCk7bi5wdXNoKGkpfXJldHVybiBuZXcgVWludDhBcnJheShuKX19KTt2YXIgcnk9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTI1NmVtb2ppOnI2fSk7bmV3IFRleHRFbmNvZGVyLG5ldyBUZXh0RGVjb2RlcjtsZXQgcjU9ey4uLm5HLC4uLm5xLC4uLm5YLC4uLnJlLC4uLnJyLC4uLnJkLC4uLnJwLC4uLnJnLC4uLnIyLC4uLnJ5fTtmdW5jdGlvbiByeChlLHQsbixyKXtyZXR1cm57bmFtZTplLHByZWZpeDp0LGVuY29kZXI6e25hbWU6ZSxwcmVmaXg6dCxlbmNvZGU6bn0sZGVjb2Rlcjp7ZGVjb2RlOnJ9fX1sZXQgcjc9cngoInV0ZjgiLCJ1IixlPT57bGV0IHQ9bmV3IFRleHREZWNvZGVyKCJ1dGY4Iik7cmV0dXJuInUiK3QuZGVjb2RlKGUpfSxlPT57bGV0IHQ9bmV3IFRleHRFbmNvZGVyO3JldHVybiB0LmVuY29kZShlLnN1YnN0cmluZygxKSl9KSxyRT1yeCgiYXNjaWkiLCJhIixlPT57bGV0IHQ9ImEiO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQrPVN0cmluZy5mcm9tQ2hhckNvZGUoZVtuXSk7cmV0dXJuIHR9LGU9PntlPWUuc3Vic3RyaW5nKDEpO2xldCB0PW5PKGUubGVuZ3RoKTtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl0W25dPWUuY2hhckNvZGVBdChuKTtyZXR1cm4gdH0pLHJDPXt1dGY4OnI3LCJ1dGYtOCI6cjcsaGV4OnI1LmJhc2UxNixsYXRpbjE6ckUsYXNjaWk6ckUsYmluYXJ5OnJFLC4uLnI1fTtmdW5jdGlvbiByRChlLHQ9InV0ZjgiKXtsZXQgbj1yQ1t0XTtpZighbil0aHJvdyBFcnJvcihgVW5zdXBwb3J0ZWQgZW5jb2RpbmcgIiR7dH0iYCk7cmV0dXJuKCJ1dGY4Ij09PXR8fCJ1dGYtOCI9PT10KSYmbnVsbCE9Z2xvYmFsVGhpcy5CdWZmZXImJm51bGwhPWdsb2JhbFRoaXMuQnVmZmVyLmZyb20/Z2xvYmFsVGhpcy5CdWZmZXIuZnJvbShlLCJ1dGY4Iik6bi5kZWNvZGVyLmRlY29kZShgJHtuLnByZWZpeH0ke2V9YCl9ZnVuY3Rpb24gcmsoZSx0PSJ1dGY4Iil7bGV0IG49ckNbdF07aWYoIW4pdGhyb3cgRXJyb3IoYFVuc3VwcG9ydGVkIGVuY29kaW5nICIke3R9ImApO3JldHVybigidXRmOCI9PT10fHwidXRmLTgiPT09dCkmJm51bGwhPWdsb2JhbFRoaXMuQnVmZmVyJiZudWxsIT1nbG9iYWxUaGlzLkJ1ZmZlci5mcm9tP2dsb2JhbFRoaXMuQnVmZmVyLmZyb20oZS5idWZmZXIsZS5ieXRlT2Zmc2V0LGUuYnl0ZUxlbmd0aCkudG9TdHJpbmcoInV0ZjgiKTpuLmVuY29kZXIuZW5jb2RlKGUpLnN1YnN0cmluZygxKX12YXIgckE9ZnVuY3Rpb24oZSx0LG4pe2lmKG58fDI9PT1hcmd1bWVudHMubGVuZ3RoKWZvcih2YXIgcixpPTAsbz10Lmxlbmd0aDtpPG87aSsrKSFyJiZpIGluIHR8fChyfHwocj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LDAsaSkpLHJbaV09dFtpXSk7cmV0dXJuIGUuY29uY2F0KHJ8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX0sckk9ZnVuY3Rpb24gZSh0LG4scil7dGhpcy5uYW1lPXQsdGhpcy52ZXJzaW9uPW4sdGhpcy5vcz1yLHRoaXMudHlwZT0iYnJvd3NlciJ9LHJUPWZ1bmN0aW9uIGUodCl7dGhpcy52ZXJzaW9uPXQsdGhpcy50eXBlPSJub2RlIix0aGlzLm5hbWU9Im5vZGUiLHRoaXMub3M9cHJvY2Vzcy5wbGF0Zm9ybX0sclM9ZnVuY3Rpb24gZSh0LG4scixpKXt0aGlzLm5hbWU9dCx0aGlzLnZlcnNpb249bix0aGlzLm9zPXIsdGhpcy5ib3Q9aSx0aGlzLnR5cGU9ImJvdC1kZXZpY2UifSxyTD1mdW5jdGlvbiBlKCl7dGhpcy50eXBlPSJib3QiLHRoaXMuYm90PSEwLHRoaXMubmFtZT0iYm90Iix0aGlzLnZlcnNpb249bnVsbCx0aGlzLm9zPW51bGx9LHJOPWZ1bmN0aW9uIGUoKXt0aGlzLnR5cGU9InJlYWN0LW5hdGl2ZSIsdGhpcy5uYW1lPSJyZWFjdC1uYXRpdmUiLHRoaXMudmVyc2lvbj1udWxsLHRoaXMub3M9bnVsbH0sck89LyhudWhrfGN1cmx8R29vZ2xlYm90fFlhbW15Ym90fE9wZW5ib3R8U2x1cnB8TVNOQm90fEFza1wgSmVldmVzXC9UZW9tYXxpYV9hcmNoaXZlcikvLHJNPVtbImFvbCIsL0FPTFNoaWVsZFwvKFswLTlcLl9dKykvXSxbImVkZ2UiLC9FZGdlXC8oWzAtOVwuX10rKS9dLFsiZWRnZS1pb3MiLC9FZGdpT1NcLyhbMC05XC5fXSspL10sWyJ5YW5kZXhicm93c2VyIiwvWWFCcm93c2VyXC8oWzAtOVwuX10rKS9dLFsia2FrYW90YWxrIiwvS0FLQU9UQUxLXHMoWzAtOVwuXSspL10sWyJzYW1zdW5nIiwvU2Ftc3VuZ0Jyb3dzZXJcLyhbMC05XC5dKykvXSxbInNpbGsiLC9cYlNpbGtcLyhbMC05Ll8tXSspXGIvXSxbIm1pdWkiLC9NaXVpQnJvd3NlclwvKFswLTlcLl0rKSQvXSxbImJlYWtlciIsL0JlYWtlckJyb3dzZXJcLyhbMC05XC5dKykvXSxbImVkZ2UtY2hyb21pdW0iLC9FZGdBP1wvKFswLTlcLl0rKS9dLFsiY2hyb21pdW0td2VidmlldyIsLyg/IUNocm9tLipPUFIpd3ZcKS4qQ2hyb20oPzplfGl1bSlcLyhbMC05XC5dKykoOj9cc3wkKS8sXSxbImNocm9tZSIsLyg/IUNocm9tLipPUFIpQ2hyb20oPzplfGl1bSlcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsicGhhbnRvbWpzIiwvUGhhbnRvbUpTXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbImNyaW9zIiwvQ3JpT1NcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsiZmlyZWZveCIsL0ZpcmVmb3hcLyhbMC05XC5dKykoPzpcc3wkKS9dLFsiZnhpb3MiLC9GeGlPU1wvKFswLTlcLl0rKS9dLFsib3BlcmEtbWluaSIsL09wZXJhIE1pbmkuKlZlcnNpb25cLyhbMC05XC5dKykvXSxbIm9wZXJhIiwvT3BlcmFcLyhbMC05XC5dKykoPzpcc3wkKS9dLFsib3BlcmEiLC9PUFJcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsicGllIiwvXk1pY3Jvc29mdCBQb2NrZXQgSW50ZXJuZXQgRXhwbG9yZXJcLyhcZCtcLlxkKykkL10sWyJwaWUiLC9eTW96aWxsYVwvXGRcLlxkK1xzXChjb21wYXRpYmxlO1xzKD86TVNQP0lFfE1TSW50ZXJuZXQgRXhwbG9yZXIpIChcZCtcLlxkKyk7LipXaW5kb3dzIENFLipcKSQvXSxbIm5ldGZyb250IiwvXk1vemlsbGFcL1xkXC5cZCsuKk5ldEZyb250XC8oXGQuXGQpL10sWyJpZSIsL1RyaWRlbnRcLzdcLjAuKnJ2XDooWzAtOVwuXSspLipcKS4qR2Vja28kL10sWyJpZSIsL01TSUVccyhbMC05XC5dKyk7LipUcmlkZW50XC9bNC03XS4wL10sWyJpZSIsL01TSUVccyg3XC4wKS9dLFsiYmIxMCIsL0JCMTA7XHNUb3VjaC4qVmVyc2lvblwvKFswLTlcLl0rKS9dLFsiYW5kcm9pZCIsL0FuZHJvaWRccyhbMC05XC5dKykvXSxbImlvcyIsL1ZlcnNpb25cLyhbMC05XC5fXSspLipNb2JpbGUuKlNhZmFyaS4qL10sWyJzYWZhcmkiLC9WZXJzaW9uXC8oWzAtOVwuX10rKS4qU2FmYXJpL10sWyJmYWNlYm9vayIsL0ZCW0FTXVZcLyhbMC05XC5dKykvXSxbImluc3RhZ3JhbSIsL0luc3RhZ3JhbVxzKFswLTlcLl0rKS9dLFsiaW9zLXdlYnZpZXciLC9BcHBsZVdlYktpdFwvKFswLTlcLl0rKS4qTW9iaWxlL10sWyJpb3Mtd2VidmlldyIsL0FwcGxlV2ViS2l0XC8oWzAtOVwuXSspLipHZWNrb1wpJC9dLFsiY3VybCIsL15jdXJsXC8oWzAtOVwuXSspJC9dLFsic2VhcmNoYm90IiwvYWxleGF8Ym90fGNyYXdsKGVyfGluZyl8ZmFjZWJvb2tleHRlcm5hbGhpdHxmZWVkYnVybmVyfGdvb2dsZSB3ZWIgcHJldmlld3xuYWdpb3N8cG9zdHJhbmt8cGluZ2RvbXxzbHVycHxzcGlkZXJ8eWFob28hfHlhbmRleC9dLF0sclA9W1siaU9TIiwvaVAoaG9uZXxvZHxhZCkvXSxbIkFuZHJvaWQgT1MiLC9BbmRyb2lkL10sWyJCbGFja0JlcnJ5IE9TIiwvQmxhY2tCZXJyeXxCQjEwL10sWyJXaW5kb3dzIE1vYmlsZSIsL0lFTW9iaWxlL10sWyJBbWF6b24gT1MiLC9LaW5kbGUvXSxbIldpbmRvd3MgMy4xMSIsL1dpbjE2L10sWyJXaW5kb3dzIDk1IiwvKFdpbmRvd3MgOTUpfChXaW45NSl8KFdpbmRvd3NfOTUpL10sWyJXaW5kb3dzIDk4IiwvKFdpbmRvd3MgOTgpfChXaW45OCkvXSxbIldpbmRvd3MgMjAwMCIsLyhXaW5kb3dzIE5UIDUuMCl8KFdpbmRvd3MgMjAwMCkvXSxbIldpbmRvd3MgWFAiLC8oV2luZG93cyBOVCA1LjEpfChXaW5kb3dzIFhQKS9dLFsiV2luZG93cyBTZXJ2ZXIgMjAwMyIsLyhXaW5kb3dzIE5UIDUuMikvXSxbIldpbmRvd3MgVmlzdGEiLC8oV2luZG93cyBOVCA2LjApL10sWyJXaW5kb3dzIDciLC8oV2luZG93cyBOVCA2LjEpL10sWyJXaW5kb3dzIDgiLC8oV2luZG93cyBOVCA2LjIpL10sWyJXaW5kb3dzIDguMSIsLyhXaW5kb3dzIE5UIDYuMykvXSxbIldpbmRvd3MgMTAiLC8oV2luZG93cyBOVCAxMC4wKS9dLFsiV2luZG93cyBNRSIsL1dpbmRvd3MgTUUvXSxbIldpbmRvd3MgQ0UiLC9XaW5kb3dzIENFfFdpbkNFfE1pY3Jvc29mdCBQb2NrZXQgSW50ZXJuZXQgRXhwbG9yZXIvXSxbIk9wZW4gQlNEIiwvT3BlbkJTRC9dLFsiU3VuIE9TIiwvU3VuT1MvXSxbIkNocm9tZSBPUyIsL0NyT1MvXSxbIkxpbnV4IiwvKExpbnV4KXwoWDExKS9dLFsiTWFjIE9TIiwvKE1hY19Qb3dlclBDKXwoTWFjaW50b3NoKS9dLFsiUU5YIiwvUU5YL10sWyJCZU9TIiwvQmVPUy9dLFsiT1MvMiIsL09TXC8yL10sXTtmdW5jdGlvbiByOShlKXt2YXIgdCxuPSIiIT09KHQ9ZSkmJnJNLnJlZHVjZShmdW5jdGlvbihlLG4pe3ZhciByPW5bMF0saT1uWzFdO2lmKGUpcmV0dXJuIGU7dmFyIG89aS5leGVjKHQpO3JldHVybiEhbyYmW3Isb119LCExKTtpZighbilyZXR1cm4gbnVsbDt2YXIgcj1uWzBdLGk9blsxXTtpZigic2VhcmNoYm90Ij09PXIpcmV0dXJuIG5ldyByTDt2YXIgbz1pWzFdJiZpWzFdLnNwbGl0KCIuIikuam9pbigiXyIpLnNwbGl0KCJfIikuc2xpY2UoMCwzKTtvP28ubGVuZ3RoPDMmJihvPXJBKHJBKFtdLG8sITApLGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBuPVtdLHI9MDtyPHQ7cisrKW4ucHVzaCgiMCIpO3JldHVybiBufSgzLW8ubGVuZ3RoKSwhMCkpOm89W107dmFyIGE9by5qb2luKCIuIikscz1mdW5jdGlvbiBlKHQpe2Zvcih2YXIgbj0wLHI9clAubGVuZ3RoO248cjtuKyspe3ZhciBpPXJQW25dLG89aVswXTtpZihpWzFdLmV4ZWModCkpcmV0dXJuIG99cmV0dXJuIG51bGx9KGUpLGw9ck8uZXhlYyhlKTtyZXR1cm4gbCYmbFsxXT9uZXcgclMocixhLHMsbFsxXSk6bmV3IHJJKHIsYSxzKX12YXIgclI9e30sclU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oclU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHwoe19fcHJvdG9fXzpbXX0paW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiYoZVtuXT10W25dKX0pKGUsdCl9LHJCPWZ1bmN0aW9uKCl7cmV0dXJuKHJCPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBuLHI9MSxpPWFyZ3VtZW50cy5sZW5ndGg7cjxpO3IrKylmb3IodmFyIG8gaW4gbj1hcmd1bWVudHNbcl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJih0W29dPW5bb10pO3JldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiByVyhlKXt2YXIgdD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3Isbj10JiZlW3RdLHI9MDtpZihuKXJldHVybiBuLmNhbGwoZSk7aWYoZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aClyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiBlJiZyPj1lLmxlbmd0aCYmKGU9dm9pZCAwKSx7dmFsdWU6ZSYmZVtyKytdLGRvbmU6IWV9fX07dGhyb3cgVHlwZUVycm9yKHQ/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIHJGKGUsdCl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFuKXJldHVybiBlO3ZhciByLGksbz1uLmNhbGwoZSksYT1bXTt0cnl7Zm9yKDsodm9pZCAwPT09dHx8dC0tID4wKSYmIShyPW8ubmV4dCgpKS5kb25lOylhLnB1c2goci52YWx1ZSl9Y2F0Y2gocyl7aT17ZXJyb3I6c319ZmluYWxseXt0cnl7ciYmIXIuZG9uZSYmKG49by5yZXR1cm4pJiZuLmNhbGwobyl9ZmluYWxseXtpZihpKXRocm93IGkuZXJyb3J9fXJldHVybiBhfWZ1bmN0aW9uIHJ6KGUpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygcno/KHRoaXMudj1lLHRoaXMpOm5ldyByeihlKX12YXIgckg9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZ2V0IF9fYXNzaWduKCl7cmV0dXJuIHJCfSxfX2FzeW5jRGVsZWdhdG9yOmZ1bmN0aW9uIGUodCl7dmFyIG4scjtyZXR1cm4gbj17fSxpKCJuZXh0IiksaSgidGhyb3ciLGZ1bmN0aW9uKGUpe3Rocm93IGV9KSxpKCJyZXR1cm4iKSxuW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sbjtmdW5jdGlvbiBpKGUsaSl7bltlXT10W2VdP2Z1bmN0aW9uKG4pe3JldHVybihyPSFyKT97dmFsdWU6cnoodFtlXShuKSksZG9uZToicmV0dXJuIj09PWV9Omk/aShuKTpufTppfX0sX19hc3luY0dlbmVyYXRvcjpmdW5jdGlvbiBlKHQsbixyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgaSxvPXIuYXBwbHkodCxufHxbXSksYT1bXTtyZXR1cm4gaT17fSxzKCJuZXh0IikscygidGhyb3ciKSxzKCJyZXR1cm4iKSxpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxpO2Z1bmN0aW9uIHMoZSl7b1tlXSYmKGlbZV09ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7YS5wdXNoKFtlLHQsbixyXSk+MXx8bChlLHQpfSl9KX1mdW5jdGlvbiBsKGUsdCl7dHJ5e3ZhciBuO249b1tlXSh0KSxuLnZhbHVlIGluc3RhbmNlb2Ygcno/UHJvbWlzZS5yZXNvbHZlKG4udmFsdWUudikudGhlbigkLGMpOmgoYVswXVsyXSxuKX1jYXRjaChyKXtoKGFbMF1bM10scil9fWZ1bmN0aW9uICQoZSl7bCgibmV4dCIsZSl9ZnVuY3Rpb24gYyhlKXtsKCJ0aHJvdyIsZSl9ZnVuY3Rpb24gaChlLHQpe2UodCksYS5zaGlmdCgpLGEubGVuZ3RoJiZsKGFbMF1bMF0sYVswXVsxXSl9fSxfX2FzeW5jVmFsdWVzOmZ1bmN0aW9uIGUodCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIG4scj10W1N5bWJvbC5hc3luY0l0ZXJhdG9yXTtyZXR1cm4gcj9yLmNhbGwodCk6KHQ9clcodCksbj17fSxpKCJuZXh0IiksaSgidGhyb3ciKSxpKCJyZXR1cm4iKSxuW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxuKTtmdW5jdGlvbiBpKGUpe25bZV09dFtlXSYmZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7IWZ1bmN0aW9uIGUodCxuLHIsaSl7UHJvbWlzZS5yZXNvbHZlKGkpLnRoZW4oZnVuY3Rpb24oZSl7dCh7dmFsdWU6ZSxkb25lOnJ9KX0sbil9KHIsaSwobj10W2VdKG4pKS5kb25lLG4udmFsdWUpfSl9fX0sX19hd2FpdDpyeixfX2F3YWl0ZXI6ZnVuY3Rpb24gZSh0LG4scixpKXtyZXR1cm4gbmV3KHJ8fChyPVByb21pc2UpKShmdW5jdGlvbihlLG8pe2Z1bmN0aW9uIGEoZSl7dHJ5e2woaS5uZXh0KGUpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiBzKGUpe3RyeXtsKGkudGhyb3coZSkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIGwodCl7dmFyIG47dC5kb25lP2UodC52YWx1ZSk6KChuPXQudmFsdWUpaW5zdGFuY2VvZiByP246bmV3IHIoZnVuY3Rpb24oZSl7ZShuKX0pKS50aGVuKGEscyl9bCgoaT1pLmFwcGx5KHQsbnx8W10pKS5uZXh0KCkpfSl9LF9fY2xhc3NQcml2YXRlRmllbGRHZXQ6ZnVuY3Rpb24gZSh0LG4pe2lmKCFuLmhhcyh0KSl0aHJvdyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2UiKTtyZXR1cm4gbi5nZXQodCl9LF9fY2xhc3NQcml2YXRlRmllbGRTZXQ6ZnVuY3Rpb24gZSh0LG4scil7aWYoIW4uaGFzKHQpKXRocm93IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZSIpO3JldHVybiBuLnNldCh0LHIpLHJ9LF9fY3JlYXRlQmluZGluZzpmdW5jdGlvbiBlKHQsbixyLGkpe3ZvaWQgMD09PWkmJihpPXIpLHRbaV09bltyXX0sX19kZWNvcmF0ZTpmdW5jdGlvbiBlKHQsbixyLGkpe3ZhciBvLGE9YXJndW1lbnRzLmxlbmd0aCxzPWE8Mz9uOm51bGw9PT1pP2k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLHIpOmk7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlzPVJlZmxlY3QuZGVjb3JhdGUodCxuLHIsaSk7ZWxzZSBmb3IodmFyIGw9dC5sZW5ndGgtMTtsPj0wO2wtLSkobz10W2xdKSYmKHM9KGE8Mz9vKHMpOmE+Mz9vKG4scixzKTpvKG4scikpfHxzKTtyZXR1cm4gYT4zJiZzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobixyLHMpLHN9LF9fZXhwb3J0U3RhcjpmdW5jdGlvbiBlKHQsbil7Zm9yKHZhciByIGluIHQpImRlZmF1bHQiPT09cnx8bi5oYXNPd25Qcm9wZXJ0eShyKXx8KG5bcl09dFtyXSl9LF9fZXh0ZW5kczpmdW5jdGlvbiBlKHQsbil7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yVSh0LG4pLHQucHJvdG90eXBlPW51bGw9PT1uP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX0sX19nZW5lcmF0b3I6ZnVuY3Rpb24gZSh0LG4pe3ZhciByLGksbyxhLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGE9e25leHQ6bCgwKSx0aHJvdzpsKDEpLHJldHVybjpsKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoYVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxhO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiBlKGEpe2lmKHIpdGhyb3cgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzOyl0cnl7aWYocj0xLGkmJihvPTImYVswXT9pLnJldHVybjphWzBdP2kudGhyb3d8fCgobz1pLnJldHVybikmJm8uY2FsbChpKSwwKTppLm5leHQpJiYhKG89by5jYWxsKGksYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKGk9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLGk9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJig2PT09YVswXXx8Mj09PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPW4uY2FsbCh0LHMpfWNhdGNoKGwpe2E9WzYsbF0saT0wfWZpbmFsbHl7cj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFtlLGFdKX19fSxfX2ltcG9ydERlZmF1bHQ6ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19LF9faW1wb3J0U3RhcjpmdW5jdGlvbiBlKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufSxfX21ha2VUZW1wbGF0ZU9iamVjdDpmdW5jdGlvbiBlKHQsbil7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmF3Iix7dmFsdWU6bn0pOnQucmF3PW4sdH0sX19tZXRhZGF0YTpmdW5jdGlvbiBlKHQsbil7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LG4pfSxfX3BhcmFtOmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtuKGUscix0KX19LF9fcmVhZDpyRixfX3Jlc3Q6ZnVuY3Rpb24gZSh0LG4pe3ZhciByPXt9O2Zvcih2YXIgaSBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYwPm4uaW5kZXhPZihpKSYmKHJbaV09dFtpXSk7aWYobnVsbCE9dCYmImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpZm9yKHZhciBvPTAsaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO288aS5sZW5ndGg7bysrKTA+bi5pbmRleE9mKGlbb10pJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodCxpW29dKSYmKHJbaVtvXV09dFtpW29dXSk7cmV0dXJuIHJ9LF9fc3ByZWFkOmZ1bmN0aW9uIGUoKXtmb3IodmFyIHQ9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspdD10LmNvbmNhdChyRihhcmd1bWVudHNbbl0pKTtyZXR1cm4gdH0sX19zcHJlYWRBcnJheXM6ZnVuY3Rpb24gZSgpe2Zvcih2YXIgdD0wLG49MCxyPWFyZ3VtZW50cy5sZW5ndGg7bjxyO24rKyl0Kz1hcmd1bWVudHNbbl0ubGVuZ3RoO2Zvcih2YXIgaT1BcnJheSh0KSxvPTAsbj0wO248cjtuKyspZm9yKHZhciBhPWFyZ3VtZW50c1tuXSxzPTAsbD1hLmxlbmd0aDtzPGw7cysrLG8rKylpW29dPWFbc107cmV0dXJuIGl9LF9fdmFsdWVzOnJXfSkscmo9TyhySCksclo9e30sclk9e30sclY9e30sckc9e30scks9e30scnE9e307ZnVuY3Rpb24gclEoKXtyZXR1cm4gYXx8KGE9MSwhZnVuY3Rpb24oZSl7dmFyIHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2xldCBuPXJqO24uX19leHBvcnRTdGFyKChpfHwoaT0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShySywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscksuT05FX1RIT1VTQU5EPXJLLk9ORV9IVU5EUkVEPXZvaWQgMCxySy5PTkVfSFVORFJFRD0xMDAscksuT05FX1RIT1VTQU5EPTFlMyksckspLGUpLG4uX19leHBvcnRTdGFyKG8/cnE6KG89MSxPYmplY3QuZGVmaW5lUHJvcGVydHkodD1ycSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5PTkVfWUVBUj10LkZPVVJfV0VFS1M9dC5USFJFRV9XRUVLUz10LlRXT19XRUVLUz10Lk9ORV9XRUVLPXQuVEhJUlRZX0RBWVM9dC5TRVZFTl9EQVlTPXQuRklWRV9EQVlTPXQuVEhSRUVfREFZUz10Lk9ORV9EQVk9dC5UV0VOVFlfRk9VUl9IT1VSUz10LlRXRUxWRV9IT1VSUz10LlNJWF9IT1VSUz10LlRIUkVFX0hPVVJTPXQuT05FX0hPVVI9dC5TSVhUWV9NSU5VVEVTPXQuVEhJUlRZX01JTlVURVM9dC5URU5fTUlOVVRFUz10LkZJVkVfTUlOVVRFUz10Lk9ORV9NSU5VVEU9dC5TSVhUWV9TRUNPTkRTPXQuVEhJUlRZX1NFQ09ORFM9dC5URU5fU0VDT05EUz10LkZJVkVfU0VDT05EUz10Lk9ORV9TRUNPTkQ9dm9pZCAwLHQuT05FX1NFQ09ORD0xLHQuRklWRV9TRUNPTkRTPTUsdC5URU5fU0VDT05EUz0xMCx0LlRISVJUWV9TRUNPTkRTPTMwLHQuU0lYVFlfU0VDT05EUz02MCx0Lk9ORV9NSU5VVEU9dC5TSVhUWV9TRUNPTkRTLHQuRklWRV9NSU5VVEVTPTUqdC5PTkVfTUlOVVRFLHQuVEVOX01JTlVURVM9MTAqdC5PTkVfTUlOVVRFLHQuVEhJUlRZX01JTlVURVM9MzAqdC5PTkVfTUlOVVRFLHQuU0lYVFlfTUlOVVRFUz02MCp0Lk9ORV9NSU5VVEUsdC5PTkVfSE9VUj10LlNJWFRZX01JTlVURVMsdC5USFJFRV9IT1VSUz0zKnQuT05FX0hPVVIsdC5TSVhfSE9VUlM9Nip0Lk9ORV9IT1VSLHQuVFdFTFZFX0hPVVJTPTEyKnQuT05FX0hPVVIsdC5UV0VOVFlfRk9VUl9IT1VSUz0yNCp0Lk9ORV9IT1VSLHQuT05FX0RBWT10LlRXRU5UWV9GT1VSX0hPVVJTLHQuVEhSRUVfREFZUz0zKnQuT05FX0RBWSx0LkZJVkVfREFZUz01KnQuT05FX0RBWSx0LlNFVkVOX0RBWVM9Nyp0Lk9ORV9EQVksdC5USElSVFlfREFZUz0zMCp0Lk9ORV9EQVksdC5PTkVfV0VFSz10LlNFVkVOX0RBWVMsdC5UV09fV0VFS1M9Mip0Lk9ORV9XRUVLLHQuVEhSRUVfV0VFS1M9Myp0Lk9ORV9XRUVLLHQuRk9VUl9XRUVLUz00KnQuT05FX1dFRUssdC5PTkVfWUVBUj0zNjUqdC5PTkVfREFZLHJxKSxlKX0ockcpKSxyR312YXIgclg9e30scko9e30saWU9e307IWZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtsZXQgdD1yajt0Ll9fZXhwb3J0U3RhcigobHx8KGw9MSxmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7bGV0IHQ9cmo7dC5fX2V4cG9ydFN0YXIoKHJ8fChyPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KHJZLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxyWS5kZWxheT12b2lkIDAsclkuZGVsYXk9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e3NldFRpbWVvdXQoKCk9PntlKCEwKX0sdCl9KX0pLHJZKSxlKSx0Ll9fZXhwb3J0U3RhcihmdW5jdGlvbiBlKCl7aWYocylyZXR1cm4gclY7cz0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyViwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksclYuZnJvbU1pbGlzZWNvbmRzPXJWLnRvTWlsaXNlY29uZHM9dm9pZCAwO2xldCB0PXJRKCk7cmV0dXJuIHJWLnRvTWlsaXNlY29uZHM9ZnVuY3Rpb24gZShuKXtyZXR1cm4gbip0Lk9ORV9USE9VU0FORH0sclYuZnJvbU1pbGlzZWNvbmRzPWZ1bmN0aW9uIGUobil7cmV0dXJuIE1hdGguZmxvb3Iobi90Lk9ORV9USE9VU0FORCl9LHJWfSgpLGUpfShyWikpLHJaKSxlKSx0Ll9fZXhwb3J0U3RhcihmdW5jdGlvbiBlKCl7aWYoJClyZXR1cm4gclg7JD0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyWCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksclguV2F0Y2g9dm9pZCAwO2NsYXNzIHR7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWVzdGFtcHM9bmV3IE1hcH1zdGFydChlKXtpZih0aGlzLnRpbWVzdGFtcHMuaGFzKGUpKXRocm93IEVycm9yKGBXYXRjaCBhbHJlYWR5IHN0YXJ0ZWQgZm9yIGxhYmVsOiAke2V9YCk7dGhpcy50aW1lc3RhbXBzLnNldChlLHtzdGFydGVkOkRhdGUubm93KCl9KX1zdG9wKGUpe2xldCB0PXRoaXMuZ2V0KGUpO2lmKHZvaWQgMCE9PXQuZWxhcHNlZCl0aHJvdyBFcnJvcihgV2F0Y2ggYWxyZWFkeSBzdG9wcGVkIGZvciBsYWJlbDogJHtlfWApO2xldCBuPURhdGUubm93KCktdC5zdGFydGVkO3RoaXMudGltZXN0YW1wcy5zZXQoZSx7c3RhcnRlZDp0LnN0YXJ0ZWQsZWxhcHNlZDpufSl9Z2V0KGUpe2xldCB0PXRoaXMudGltZXN0YW1wcy5nZXQoZSk7aWYodm9pZCAwPT09dCl0aHJvdyBFcnJvcihgTm8gdGltZXN0YW1wIGZvdW5kIGZvciBsYWJlbDogJHtlfWApO3JldHVybiB0fWVsYXBzZWQoZSl7bGV0IHQ9dGhpcy5nZXQoZSksbj10LmVsYXBzZWR8fERhdGUubm93KCktdC5zdGFydGVkO3JldHVybiBufX1yZXR1cm4gclguV2F0Y2g9dCxyWC5kZWZhdWx0PXQsclh9KCksZSksdC5fX2V4cG9ydFN0YXIoKGh8fChoPTEsZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2xldCB0PXJqO3QuX19leHBvcnRTdGFyKChjfHwoYz0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksaWUuSVdhdGNoPXZvaWQgMCxpZS5JV2F0Y2g9Y2xhc3MgZXt9KSxpZSksZSl9KHJKKSksckopLGUpLHQuX19leHBvcnRTdGFyKHJRKCksZSl9KHJSKTt2YXIgaXQ9e307ZnVuY3Rpb24gaXIoZSl7bGV0IHQ7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvd1tlXSYmKHQ9d2luZG93W2VdKSx0fWZ1bmN0aW9uIGlpKGUpe2xldCB0PWlyKGUpO2lmKCF0KXRocm93IEVycm9yKGAke2V9IGlzIG5vdCBkZWZpbmVkIGluIFdpbmRvd2ApO3JldHVybiB0fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShpdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksaXQuZ2V0TG9jYWxTdG9yYWdlPWl0LmdldExvY2FsU3RvcmFnZU9yVGhyb3c9aXQuZ2V0Q3J5cHRvPWl0LmdldENyeXB0b09yVGhyb3c9aXM9aXQuZ2V0TG9jYXRpb249aXQuZ2V0TG9jYXRpb25PclRocm93PWlhPWl0LmdldE5hdmlnYXRvcj1pdC5nZXROYXZpZ2F0b3JPclRocm93PWlvPWl0LmdldERvY3VtZW50PWl0LmdldERvY3VtZW50T3JUaHJvdz1pdC5nZXRGcm9tV2luZG93T3JUaHJvdz1pdC5nZXRGcm9tV2luZG93PXZvaWQgMCxpdC5nZXRGcm9tV2luZG93PWlyLGl0LmdldEZyb21XaW5kb3dPclRocm93PWlpLGl0LmdldERvY3VtZW50T3JUaHJvdz1mdW5jdGlvbiBlKCl7cmV0dXJuIGlpKCJkb2N1bWVudCIpfTt2YXIgaW89aXQuZ2V0RG9jdW1lbnQ9ZnVuY3Rpb24gZSgpe3JldHVybiBpcigiZG9jdW1lbnQiKX07aXQuZ2V0TmF2aWdhdG9yT3JUaHJvdz1mdW5jdGlvbiBlKCl7cmV0dXJuIGlpKCJuYXZpZ2F0b3IiKX07dmFyIGlhPWl0LmdldE5hdmlnYXRvcj1mdW5jdGlvbiBlKCl7cmV0dXJuIGlyKCJuYXZpZ2F0b3IiKX07aXQuZ2V0TG9jYXRpb25PclRocm93PWZ1bmN0aW9uIGUoKXtyZXR1cm4gaWkoImxvY2F0aW9uIil9O3ZhciBpcz1pdC5nZXRMb2NhdGlvbj1mdW5jdGlvbiBlKCl7cmV0dXJuIGlyKCJsb2NhdGlvbiIpfTtpdC5nZXRDcnlwdG9PclRocm93PWZ1bmN0aW9uIGUoKXtyZXR1cm4gaWkoImNyeXB0byIpfSxpdC5nZXRDcnlwdG89ZnVuY3Rpb24gZSgpe3JldHVybiBpcigiY3J5cHRvIil9LGl0LmdldExvY2FsU3RvcmFnZU9yVGhyb3c9ZnVuY3Rpb24gZSgpe3JldHVybiBpaSgibG9jYWxTdG9yYWdlIil9LGl0LmdldExvY2FsU3RvcmFnZT1mdW5jdGlvbiBlKCl7cmV0dXJuIGlyKCJsb2NhbFN0b3JhZ2UiKX07dmFyIGlsPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShpbCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGkkPWlsLmdldFdpbmRvd01ldGFkYXRhPXZvaWQgMDtsZXQgaWM9aXQ7aSQ9aWwuZ2V0V2luZG93TWV0YWRhdGE9ZnVuY3Rpb24gZSgpe2xldCB0LG47dHJ5e3Q9aWMuZ2V0RG9jdW1lbnRPclRocm93KCksbj1pYy5nZXRMb2NhdGlvbk9yVGhyb3coKX1jYXRjaChyKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBpKC4uLmUpe2xldCBuPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTtmb3IobGV0IHI9MDtyPG4ubGVuZ3RoO3IrKyl7bGV0IGk9bltyXSxvPVsiaXRlbXByb3AiLCJwcm9wZXJ0eSIsIm5hbWUiXS5tYXAoZT0+aS5nZXRBdHRyaWJ1dGUoZSkpLmZpbHRlcih0PT4hIXQmJmUuaW5jbHVkZXModCkpO2lmKG8ubGVuZ3RoJiZvKXtsZXQgYT1pLmdldEF0dHJpYnV0ZSgiY29udGVudCIpO2lmKGEpcmV0dXJuIGF9fXJldHVybiIifWxldCBvLGE9KChvPWkoIm5hbWUiLCJvZzpzaXRlX25hbWUiLCJvZzp0aXRsZSIsInR3aXR0ZXI6dGl0bGUiKSl8fChvPXQudGl0bGUpLG8pLHM9ZnVuY3Rpb24gZSgpe2xldCB0PWkoImRlc2NyaXB0aW9uIiwib2c6ZGVzY3JpcHRpb24iLCJ0d2l0dGVyOmRlc2NyaXB0aW9uIiwia2V5d29yZHMiKTtyZXR1cm4gdH0oKSxsPW4ub3JpZ2luLCQ9ZnVuY3Rpb24gZSgpe2xldCByPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSxpPVtdO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKXtsZXQgYT1yW29dLHM9YS5nZXRBdHRyaWJ1dGUoInJlbCIpO2lmKHMmJnMudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJpY29uIik+LTEpe2xldCBsPWEuZ2V0QXR0cmlidXRlKCJocmVmIik7aWYobCl7aWYoLTE9PT1sLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiaHR0cHM6IikmJi0xPT09bC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImh0dHA6IikmJjAhPT1sLmluZGV4T2YoIi8vIikpe2xldCAkPW4ucHJvdG9jb2wrIi8vIituLmhvc3Q7aWYoMD09PWwuaW5kZXhPZigiLyIpKSQrPWw7ZWxzZXtsZXQgYz1uLnBhdGhuYW1lLnNwbGl0KCIvIik7Yy5wb3AoKTtsZXQgaD1jLmpvaW4oIi8iKTskKz1oKyIvIitsfWkucHVzaCgkKX1lbHNlIGlmKDA9PT1sLmluZGV4T2YoIi8vIikpe2xldCB1PW4ucHJvdG9jb2wrbDtpLnB1c2godSl9ZWxzZSBpLnB1c2gobCl9fX1yZXR1cm4gaX0oKTtyZXR1cm57ZGVzY3JpcHRpb246cyx1cmw6bCxpY29uczokLG5hbWU6YX19O3ZhciBpaD17fSxpdT1lPT5lbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvWyEnKCkqXS9nLGU9PmAlJHtlLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9YCksaWQ9IiVbYS1mMC05XXsyfSIsaV89UmVnRXhwKCIoIitpZCsiKXwoW14lXSs/KSIsImdpIiksaXA9UmVnRXhwKCIoIitpZCsiKSsiLCJnaSIpO2Z1bmN0aW9uIGkxKGUsdCl7dHJ5e3JldHVybltkZWNvZGVVUklDb21wb25lbnQoZS5qb2luKCIiKSldfWNhdGNoKG4pe31pZigxPT09ZS5sZW5ndGgpcmV0dXJuIGU7dD10fHwxO3ZhciByPWUuc2xpY2UoMCx0KSxpPWUuc2xpY2UodCk7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuY2FsbChbXSxpMShyKSxpMShpKSl9ZnVuY3Rpb24gaTAoZSl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZSl9Y2F0Y2godCl7Zm9yKHZhciBuPWUubWF0Y2goaV8pfHxbXSxyPTE7cjxuLmxlbmd0aDtyKyspbj0oZT1pMShuLHIpLmpvaW4oIiIpKS5tYXRjaChpXyl8fFtdO3JldHVybiBlfX12YXIgaWc9ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IFR5cGVFcnJvcigiRXhwZWN0ZWQgYGVuY29kZWRVUklgIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGdvdCBgIit0eXBlb2YgZSsiYCIpO3RyeXtyZXR1cm4gZT1lLnJlcGxhY2UoL1wrL2csIiAiKSxkZWNvZGVVUklDb21wb25lbnQoZSl9Y2F0Y2godCl7cmV0dXJuIGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBuPXsiJUZFJUZGIjoi77+977+9IiwiJUZGJUZFIjoi77+977+9In0scj1pcC5leGVjKHQpO3I7KXt0cnl7bltyWzBdXT1kZWNvZGVVUklDb21wb25lbnQoclswXSl9Y2F0Y2goaSl7dmFyIG89aTAoclswXSk7byE9PXJbMF0mJihuW3JbMF1dPW8pfXI9aXAuZXhlYyh0KX1uWyIlQzIiXT0i77+9Ijtmb3IodmFyIGE9T2JqZWN0LmtleXMobikscz0wO3M8YS5sZW5ndGg7cysrKXt2YXIgbD1hW3NdO3Q9dC5yZXBsYWNlKFJlZ0V4cChsLCJnIiksbltsXSl9cmV0dXJuIHR9KGUpfX0saW09KGUsdCk9PntpZighKCJzdHJpbmciPT10eXBlb2YgZSYmInN0cmluZyI9PXR5cGVvZiB0KSl0aHJvdyBUeXBlRXJyb3IoIkV4cGVjdGVkIHRoZSBhcmd1bWVudHMgdG8gYmUgb2YgdHlwZSBgc3RyaW5nYCIpO2lmKCIiPT09dClyZXR1cm5bZV07bGV0IG49ZS5pbmRleE9mKHQpO3JldHVybiAtMT09PW4/W2VdOltlLnNsaWNlKDAsbiksZS5zbGljZShuK3QubGVuZ3RoKV19LGkzPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPXt9LHI9T2JqZWN0LmtleXMoZSksaT1BcnJheS5pc0FycmF5KHQpLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGE9cltvXSxzPWVbYV07KGk/LTEhPT10LmluZGV4T2YoYSk6dChhLHMsZSkpJiYoblthXT1zKX1yZXR1cm4gbn07IWZ1bmN0aW9uKGUpe2xldCB0PWl1LG49aWcscj1pbSxpPWkzLG89ZT0+bnVsbD09ZSxhPVN5bWJvbCgiZW5jb2RlRnJhZ21lbnRJZGVudGlmaWVyIik7ZnVuY3Rpb24gcyhlKXtpZigic3RyaW5nIiE9dHlwZW9mIGV8fDEhPT1lLmxlbmd0aCl0aHJvdyBUeXBlRXJyb3IoImFycmF5Rm9ybWF0U2VwYXJhdG9yIG11c3QgYmUgc2luZ2xlIGNoYXJhY3RlciBzdHJpbmciKX1mdW5jdGlvbiBsKGUsbil7cmV0dXJuIG4uZW5jb2RlP24uc3RyaWN0P3QoZSk6ZW5jb2RlVVJJQ29tcG9uZW50KGUpOmV9ZnVuY3Rpb24gJChlLHQpe3JldHVybiB0LmRlY29kZT9uKGUpOmV9ZnVuY3Rpb24gYyhlKXtsZXQgdD1lLmluZGV4T2YoIiMiKTtyZXR1cm4gLTEhPT10JiYoZT1lLnNsaWNlKDAsdCkpLGV9ZnVuY3Rpb24gaChlKXtlPWMoZSk7bGV0IHQ9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIC0xPT09dD8iIjplLnNsaWNlKHQrMSl9ZnVuY3Rpb24gdShlLHQpe3JldHVybiB0LnBhcnNlTnVtYmVycyYmIU51bWJlci5pc05hTihOdW1iZXIoZSkpJiYic3RyaW5nIj09dHlwZW9mIGUmJiIiIT09ZS50cmltKCk/ZT1OdW1iZXIoZSk6dC5wYXJzZUJvb2xlYW5zJiZudWxsIT09ZSYmKCJ0cnVlIj09PWUudG9Mb3dlckNhc2UoKXx8ImZhbHNlIj09PWUudG9Mb3dlckNhc2UoKSkmJihlPSJ0cnVlIj09PWUudG9Mb3dlckNhc2UoKSksZX1mdW5jdGlvbiBkKGUsdCl7dD1PYmplY3QuYXNzaWduKHtkZWNvZGU6ITAsc29ydDohMCxhcnJheUZvcm1hdDoibm9uZSIsYXJyYXlGb3JtYXRTZXBhcmF0b3I6IiwiLHBhcnNlTnVtYmVyczohMSxwYXJzZUJvb2xlYW5zOiExfSx0KSxzKHQuYXJyYXlGb3JtYXRTZXBhcmF0b3IpO2xldCBuPWZ1bmN0aW9uIGUodCl7bGV0IG47c3dpdGNoKHQuYXJyYXlGb3JtYXQpe2Nhc2UiaW5kZXgiOnJldHVybihlLHQscik9PntpZihuPS9cWyhcZCopXF0kLy5leGVjKGUpLGU9ZS5yZXBsYWNlKC9cW1xkKlxdJC8sIiIpLCFuKXtyW2VdPXQ7cmV0dXJufXZvaWQgMD09PXJbZV0mJihyW2VdPXt9KSxyW2VdW25bMV1dPXR9O2Nhc2UiYnJhY2tldCI6cmV0dXJuKGUsdCxyKT0+e2lmKG49LyhcW1xdKSQvLmV4ZWMoZSksZT1lLnJlcGxhY2UoL1xbXF0kLywiIiksIW4pe3JbZV09dDtyZXR1cm59aWYodm9pZCAwPT09cltlXSl7cltlXT1bdF07cmV0dXJufXJbZV09W10uY29uY2F0KHJbZV0sdCl9O2Nhc2UiY29sb24tbGlzdC1zZXBhcmF0b3IiOnJldHVybihlLHQscik9PntpZihuPS8oOmxpc3QpJC8uZXhlYyhlKSxlPWUucmVwbGFjZSgvOmxpc3QkLywiIiksIW4pe3JbZV09dDtyZXR1cm59aWYodm9pZCAwPT09cltlXSl7cltlXT1bdF07cmV0dXJufXJbZV09W10uY29uY2F0KHJbZV0sdCl9O2Nhc2UiY29tbWEiOmNhc2Uic2VwYXJhdG9yIjpyZXR1cm4oZSxuLHIpPT57bGV0IGk9InN0cmluZyI9PXR5cGVvZiBuJiZuLmluY2x1ZGVzKHQuYXJyYXlGb3JtYXRTZXBhcmF0b3IpLG89InN0cmluZyI9PXR5cGVvZiBuJiYhaSYmJChuLHQpLmluY2x1ZGVzKHQuYXJyYXlGb3JtYXRTZXBhcmF0b3IpO249bz8kKG4sdCk6bjtsZXQgYT1pfHxvP24uc3BsaXQodC5hcnJheUZvcm1hdFNlcGFyYXRvcikubWFwKGU9PiQoZSx0KSk6bnVsbD09PW4/bjokKG4sdCk7cltlXT1hfTtjYXNlImJyYWNrZXQtc2VwYXJhdG9yIjpyZXR1cm4oZSxuLHIpPT57bGV0IGk9LyhcW1xdKSQvLnRlc3QoZSk7aWYoZT1lLnJlcGxhY2UoL1xbXF0kLywiIiksIWkpe3JbZV09bj8kKG4sdCk6bjtyZXR1cm59bGV0IG89bnVsbD09PW4/W106bi5zcGxpdCh0LmFycmF5Rm9ybWF0U2VwYXJhdG9yKS5tYXAoZT0+JChlLHQpKTtpZih2b2lkIDA9PT1yW2VdKXtyW2VdPW87cmV0dXJufXJbZV09W10uY29uY2F0KHJbZV0sbyl9O2RlZmF1bHQ6cmV0dXJuKGUsdCxuKT0+e2lmKHZvaWQgMD09PW5bZV0pe25bZV09dDtyZXR1cm59bltlXT1bXS5jb25jYXQobltlXSx0KX19fSh0KSxpPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhKGU9ZS50cmltKCkucmVwbGFjZSgvXls/IyZdLywiIikpKXJldHVybiBpO2ZvcihsZXQgbyBvZiBlLnNwbGl0KCImIikpe2lmKCIiPT09byljb250aW51ZTtsZXRbYSxsXT1yKHQuZGVjb2RlP28ucmVwbGFjZSgvXCsvZywiICIpOm8sIj0iKTtsPXZvaWQgMD09PWw/bnVsbDpbImNvbW1hIiwic2VwYXJhdG9yIiwiYnJhY2tldC1zZXBhcmF0b3IiXS5pbmNsdWRlcyh0LmFycmF5Rm9ybWF0KT9sOiQobCx0KSxuKCQoYSx0KSxsLGkpfWZvcihsZXQgYyBvZiBPYmplY3Qua2V5cyhpKSl7bGV0IGg9aVtjXTtpZigib2JqZWN0Ij09dHlwZW9mIGgmJm51bGwhPT1oKWZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhoKSloW2RdPXUoaFtkXSx0KTtlbHNlIGlbY109dShoLHQpfXJldHVybiExPT09dC5zb3J0P2k6KCEwPT09dC5zb3J0P09iamVjdC5rZXlzKGkpLnNvcnQoKTpPYmplY3Qua2V5cyhpKS5zb3J0KHQuc29ydCkpLnJlZHVjZSgoZSx0KT0+e2xldCBuPWlbdF07cmV0dXJuIEJvb2xlYW4obikmJiJvYmplY3QiPT10eXBlb2YgbiYmIUFycmF5LmlzQXJyYXkobik/ZVt0XT1mdW5jdGlvbiBlKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Quc29ydCgpOiJvYmplY3QiPT10eXBlb2YgdD9lKE9iamVjdC5rZXlzKHQpKS5zb3J0KChlLHQpPT5OdW1iZXIoZSktTnVtYmVyKHQpKS5tYXAoZT0+dFtlXSk6dH0obik6ZVt0XT1uLGV9LE9iamVjdC5jcmVhdGUobnVsbCkpfWUuZXh0cmFjdD1oLGUucGFyc2U9ZCxlLnN0cmluZ2lmeT0oZSx0KT0+e2lmKCFlKXJldHVybiIiO3Q9T2JqZWN0LmFzc2lnbih7ZW5jb2RlOiEwLHN0cmljdDohMCxhcnJheUZvcm1hdDoibm9uZSIsYXJyYXlGb3JtYXRTZXBhcmF0b3I6IiwifSx0KSxzKHQuYXJyYXlGb3JtYXRTZXBhcmF0b3IpO2xldCBuPW49PnQuc2tpcE51bGwmJm8oZVtuXSl8fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PWVbbl0scj1mdW5jdGlvbiBlKHQpe3N3aXRjaCh0LmFycmF5Rm9ybWF0KXtjYXNlImluZGV4IjpyZXR1cm4gZT0+KG4scik9PntsZXQgaT1uLmxlbmd0aDtyZXR1cm4gdm9pZCAwPT09cnx8dC5za2lwTnVsbCYmbnVsbD09PXJ8fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PXI/bjpudWxsPT09cj9bLi4ubixbbChlLHQpLCJbIixpLCJdIl0uam9pbigiIildOlsuLi5uLFtsKGUsdCksIlsiLGwoaSx0KSwiXT0iLGwocix0KV0uam9pbigiIildfTtjYXNlImJyYWNrZXQiOnJldHVybiBlPT4obixyKT0+dm9pZCAwPT09cnx8dC5za2lwTnVsbCYmbnVsbD09PXJ8fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PXI/bjpudWxsPT09cj9bLi4ubixbbChlLHQpLCJbXSJdLmpvaW4oIiIpXTpbLi4ubixbbChlLHQpLCJbXT0iLGwocix0KV0uam9pbigiIildO2Nhc2UiY29sb24tbGlzdC1zZXBhcmF0b3IiOnJldHVybiBlPT4obixyKT0+dm9pZCAwPT09cnx8dC5za2lwTnVsbCYmbnVsbD09PXJ8fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PXI/bjpudWxsPT09cj9bLi4ubixbbChlLHQpLCI6bGlzdD0iXS5qb2luKCIiKV06Wy4uLm4sW2woZSx0KSwiOmxpc3Q9IixsKHIsdCldLmpvaW4oIiIpXTtjYXNlImNvbW1hIjpjYXNlInNlcGFyYXRvciI6Y2FzZSJicmFja2V0LXNlcGFyYXRvciI6e2xldCBuPSJicmFja2V0LXNlcGFyYXRvciI9PT10LmFycmF5Rm9ybWF0PyJbXT0iOiI9IjtyZXR1cm4gZT0+KHIsaSk9PnZvaWQgMD09PWl8fHQuc2tpcE51bGwmJm51bGw9PT1pfHx0LnNraXBFbXB0eVN0cmluZyYmIiI9PT1pP3I6KGk9bnVsbD09PWk/IiI6aSwwPT09ci5sZW5ndGgpP1tbbChlLHQpLG4sbChpLHQpXS5qb2luKCIiKV06W1tyLGwoaSx0KV0uam9pbih0LmFycmF5Rm9ybWF0U2VwYXJhdG9yKV19ZGVmYXVsdDpyZXR1cm4gZT0+KG4scik9PnZvaWQgMD09PXJ8fHQuc2tpcE51bGwmJm51bGw9PT1yfHx0LnNraXBFbXB0eVN0cmluZyYmIiI9PT1yP246bnVsbD09PXI/Wy4uLm4sbChlLHQpXTpbLi4ubixbbChlLHQpLCI9IixsKHIsdCldLmpvaW4oIiIpXX19KHQpLGk9e307Zm9yKGxldCBhIG9mIE9iamVjdC5rZXlzKGUpKW4oYSl8fChpW2FdPWVbYV0pO2xldCAkPU9iamVjdC5rZXlzKGkpO3JldHVybiExIT09dC5zb3J0JiYkLnNvcnQodC5zb3J0KSwkLm1hcChuPT57bGV0IGk9ZVtuXTtyZXR1cm4gdm9pZCAwPT09aT8iIjpudWxsPT09aT9sKG4sdCk6QXJyYXkuaXNBcnJheShpKT8wPT09aS5sZW5ndGgmJiJicmFja2V0LXNlcGFyYXRvciI9PT10LmFycmF5Rm9ybWF0P2wobix0KSsiW10iOmkucmVkdWNlKHIobiksW10pLmpvaW4oIiYiKTpsKG4sdCkrIj0iK2woaSx0KX0pLmZpbHRlcihlPT5lLmxlbmd0aD4wKS5qb2luKCImIil9LGUucGFyc2VVcmw9KGUsdCk9Pnt0PU9iamVjdC5hc3NpZ24oe2RlY29kZTohMH0sdCk7bGV0W24saV09cihlLCIjIik7cmV0dXJuIE9iamVjdC5hc3NpZ24oe3VybDpuLnNwbGl0KCI/IilbMF18fCIiLHF1ZXJ5OmQoaChlKSx0KX0sdCYmdC5wYXJzZUZyYWdtZW50SWRlbnRpZmllciYmaT97ZnJhZ21lbnRJZGVudGlmaWVyOiQoaSx0KX06e30pfSxlLnN0cmluZ2lmeVVybD0odCxuKT0+e249T2JqZWN0LmFzc2lnbih7ZW5jb2RlOiEwLHN0cmljdDohMCxbYV06ITB9LG4pO2xldCByPWModC51cmwpLnNwbGl0KCI/IilbMF18fCIiLGk9ZS5leHRyYWN0KHQudXJsKSxvPWUucGFyc2UoaSx7c29ydDohMX0pLHM9T2JqZWN0LmFzc2lnbihvLHQucXVlcnkpLCQ9ZS5zdHJpbmdpZnkocyxuKTskJiYoJD1gPyR7JH1gKTtsZXQgaD1mdW5jdGlvbiBlKHQpe2xldCBuPSIiLHI9dC5pbmRleE9mKCIjIik7cmV0dXJuIC0xIT09ciYmKG49dC5zbGljZShyKSksbn0odC51cmwpO3JldHVybiB0LmZyYWdtZW50SWRlbnRpZmllciYmKGg9YCMke25bYV0/bCh0LmZyYWdtZW50SWRlbnRpZmllcixuKTp0LmZyYWdtZW50SWRlbnRpZmllcn1gKSxgJHtyfSR7JH0ke2h9YH0sZS5waWNrPSh0LG4scik9PntyPU9iamVjdC5hc3NpZ24oe3BhcnNlRnJhZ21lbnRJZGVudGlmaWVyOiEwLFthXTohMX0scik7bGV0e3VybDpvLHF1ZXJ5OnMsZnJhZ21lbnRJZGVudGlmaWVyOmx9PWUucGFyc2VVcmwodCxyKTtyZXR1cm4gZS5zdHJpbmdpZnlVcmwoe3VybDpvLHF1ZXJ5OmkocyxuKSxmcmFnbWVudElkZW50aWZpZXI6bH0scil9LGUuZXhjbHVkZT0odCxuLHIpPT57bGV0IGk9QXJyYXkuaXNBcnJheShuKT9lPT4hbi5pbmNsdWRlcyhlKTooZSx0KT0+IW4oZSx0KTtyZXR1cm4gZS5waWNrKHQsaSxyKX19KGloKTtsZXQgaXc9e3dha3U6e3B1Ymxpc2g6Indha3VfcHVibGlzaCIsYmF0Y2hQdWJsaXNoOiJ3YWt1X2JhdGNoUHVibGlzaCIsc3Vic2NyaWJlOiJ3YWt1X3N1YnNjcmliZSIsYmF0Y2hTdWJzY3JpYmU6Indha3VfYmF0Y2hTdWJzY3JpYmUiLHN1YnNjcmlwdGlvbjoid2FrdV9zdWJzY3JpcHRpb24iLHVuc3Vic2NyaWJlOiJ3YWt1X3Vuc3Vic2NyaWJlIixiYXRjaFVuc3Vic2NyaWJlOiJ3YWt1X2JhdGNoVW5zdWJzY3JpYmUifSxpcm46e3B1Ymxpc2g6Imlybl9wdWJsaXNoIixiYXRjaFB1Ymxpc2g6Imlybl9iYXRjaFB1Ymxpc2giLHN1YnNjcmliZToiaXJuX3N1YnNjcmliZSIsYmF0Y2hTdWJzY3JpYmU6Imlybl9iYXRjaFN1YnNjcmliZSIsc3Vic2NyaXB0aW9uOiJpcm5fc3Vic2NyaXB0aW9uIix1bnN1YnNjcmliZToiaXJuX3Vuc3Vic2NyaWJlIixiYXRjaFVuc3Vic2NyaWJlOiJpcm5fYmF0Y2hVbnN1YnNjcmliZSJ9LGlyaWRpdW06e3B1Ymxpc2g6ImlyaWRpdW1fcHVibGlzaCIsYmF0Y2hQdWJsaXNoOiJpcmlkaXVtX2JhdGNoUHVibGlzaCIsc3Vic2NyaWJlOiJpcmlkaXVtX3N1YnNjcmliZSIsYmF0Y2hTdWJzY3JpYmU6ImlyaWRpdW1fYmF0Y2hTdWJzY3JpYmUiLHN1YnNjcmlwdGlvbjoiaXJpZGl1bV9zdWJzY3JpcHRpb24iLHVuc3Vic2NyaWJlOiJpcmlkaXVtX3Vuc3Vic2NyaWJlIixiYXRjaFVuc3Vic2NyaWJlOiJpcmlkaXVtX2JhdGNoVW5zdWJzY3JpYmUifX0saXY9IjoiO2Z1bmN0aW9uIGkyKGUpe2xldFt0LG5dPWUuc3BsaXQoaXYpO3JldHVybntuYW1lc3BhY2U6dCxyZWZlcmVuY2U6bn19ZnVuY3Rpb24gaTQoZSl7bGV0e25hbWVzcGFjZTp0LHJlZmVyZW5jZTpufT1lO3JldHVyblt0LG5dLmpvaW4oaXYpfWZ1bmN0aW9uIGliKGUpe2xldFt0LG4scl09ZS5zcGxpdChpdik7cmV0dXJue25hbWVzcGFjZTp0LHJlZmVyZW5jZTpuLGFkZHJlc3M6cn19ZnVuY3Rpb24gaTgoZSl7bGV0e25hbWVzcGFjZTp0LHJlZmVyZW5jZTpuLGFkZHJlc3M6cn09ZTtyZXR1cm5bdCxuLHJdLmpvaW4oaXYpfWZ1bmN0aW9uIGk2KGUsdCl7bGV0IG49W107cmV0dXJuIGUuZm9yRWFjaChlPT57bGV0IHI9dChlKTtuLmluY2x1ZGVzKHIpfHxuLnB1c2gocil9KSxufWZ1bmN0aW9uIGl5KGUpe2xldHthZGRyZXNzOnR9PWliKGUpO3JldHVybiB0fWZ1bmN0aW9uIGk1KGUpe2xldHtuYW1lc3BhY2U6dCxyZWZlcmVuY2U6bn09aWIoZSk7cmV0dXJuIGk0KHtuYW1lc3BhY2U6dCxyZWZlcmVuY2U6bn0pfWZ1bmN0aW9uIGl4KGUpe3JldHVybiBpNihlLGk1KX1mdW5jdGlvbiBpNyhlLHQpe3JldHVybiBlLmluY2x1ZGVzKCI6Iik/W2VdOnQuY2hhaW5zfHxbXX1sZXQgaUU9ZT0+ZT8uc3BsaXQoIjoiKSxpQz1lPT57bGV0IHQ9ZSYmaUUoZSk7aWYodClyZXR1cm4gdFszXX0saUQ9ZT0+e2xldCB0PWUmJmlFKGUpO2lmKHQpcmV0dXJuIHRbMl0rIjoiK3RbM119LGlrPWU9PntsZXQgdD1lJiZpRShlKTtpZih0KXJldHVybiB0LnBvcCgpfSxpQT0oZSx0KT0+e2xldCBuPWAke2UuZG9tYWlufSB3YW50cyB5b3UgdG8gc2lnbiBpbiB3aXRoIHlvdXIgRXRoZXJldW0gYWNjb3VudDpgLHI9aWsodCksaT1lLnN0YXRlbWVudCxvPWBVUkk6ICR7ZS5hdWR9YCxhPWBWZXJzaW9uOiAke2UudmVyc2lvbn1gLHM9YENoYWluIElEOiAke2lDKHQpfWAsbD1gTm9uY2U6ICR7ZS5ub25jZX1gLCQ9YElzc3VlZCBBdDogJHtlLmlhdH1gLGM9ZS5yZXNvdXJjZXMmJmUucmVzb3VyY2VzLmxlbmd0aD4wP2BSZXNvdXJjZXM6CiR7ZS5yZXNvdXJjZXMubWFwKGU9PmAtICR7ZX1gKS5qb2luKGAKYCl9YDp2b2lkIDA7cmV0dXJuW24sciwiIixpLCIiLG8sYSxzLGwsJCxjXS5maWx0ZXIoZT0+bnVsbCE9ZSkuam9pbihgCmApfSxpST0iYmFzZTEwIixpVD0iYmFzZTE2IixpUz0iYmFzZTY0cGFkIixpTD0idXRmOCIsaU49MCxpTz0xLGlNPTAsaVA9MSxpOT0xMixpUj0zMjtmdW5jdGlvbiBpVShlKXtyZXR1cm4gckQoYCR7ZX1gLGlJKX1mdW5jdGlvbiBpQihlKXtyZXR1cm4gTnVtYmVyKHJrKGUsaUkpKX1mdW5jdGlvbiBpVyhlKXtpZihpQihlLnR5cGUpPT09aU8pe2lmKHR5cGVvZiBlLnNlbmRlclB1YmxpY0tleT4idSIpdGhyb3cgRXJyb3IoIk1pc3Npbmcgc2VuZGVyIHB1YmxpYyBrZXkgZm9yIHR5cGUgMSBlbnZlbG9wZSIpO3JldHVybiByayhuTShbZS50eXBlLGUuc2VuZGVyUHVibGljS2V5LGUuaXYsZS5zZWFsZWRdKSxpUyl9cmV0dXJuIHJrKG5NKFtlLnR5cGUsZS5pdixlLnNlYWxlZF0pLGlTKX1mdW5jdGlvbiBpRihlKXtsZXQgdD1yRChlLGlTKSxuPXQuc2xpY2UoaU0saVApLHI9aVA7aWYoaUIobik9PT1pTyl7bGV0IGk9citpUixvPWkraTksYT10LnNsaWNlKHIsaSkscz10LnNsaWNlKGksbyksbD10LnNsaWNlKG8pO3JldHVybnt0eXBlOm4sc2VhbGVkOmwsaXY6cyxzZW5kZXJQdWJsaWNLZXk6YX19bGV0ICQ9citpOSxjPXQuc2xpY2UociwkKSxoPXQuc2xpY2UoJCk7cmV0dXJue3R5cGU6bixzZWFsZWQ6aCxpdjpjfX1mdW5jdGlvbiBpeihlKXtsZXQgdD1lPy50eXBlfHxpTjtpZih0PT09aU8pe2lmKHR5cGVvZiBlPy5zZW5kZXJQdWJsaWNLZXk+InUiKXRocm93IEVycm9yKCJtaXNzaW5nIHNlbmRlciBwdWJsaWMga2V5Iik7aWYodHlwZW9mIGU/LnJlY2VpdmVyUHVibGljS2V5PiJ1Iil0aHJvdyBFcnJvcigibWlzc2luZyByZWNlaXZlciBwdWJsaWMga2V5Iil9cmV0dXJue3R5cGU6dCxzZW5kZXJQdWJsaWNLZXk6ZT8uc2VuZGVyUHVibGljS2V5LHJlY2VpdmVyUHVibGljS2V5OmU/LnJlY2VpdmVyUHVibGljS2V5fX12YXIgaUg9T2JqZWN0LmRlZmluZVByb3BlcnR5LGlqPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsaVo9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxpWT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGlWPShlLHQsbik9PnQgaW4gZT9pSChlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTplW3RdPW4saUc9KGUsdCk9Pntmb3IodmFyIG4gaW4gdHx8KHQ9e30pKWlaLmNhbGwodCxuKSYmaVYoZSxuLHRbbl0pO2lmKGlqKWZvcih2YXIgbiBvZiBpaih0KSlpWS5jYWxsKHQsbikmJmlWKGUsbix0W25dKTtyZXR1cm4gZX07bGV0IGlLPSJSZWFjdE5hdGl2ZSIsaXE9e3JlYWN0TmF0aXZlOiJyZWFjdC1uYXRpdmUiLG5vZGU6Im5vZGUiLGJyb3dzZXI6ImJyb3dzZXIiLHVua25vd246InVua25vd24ifSxpUT0iICIsaVg9IjoiLGlKPSIvIixvZT0yLG90PTFlMyxvbj0ianMiO2Z1bmN0aW9uIG9yKCl7cmV0dXJuInUiPnR5cGVvZiBwcm9jZXNzJiYidSI+dHlwZW9mIHByb2Nlc3MudmVyc2lvbnMmJiJ1Ij50eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlfWZ1bmN0aW9uIG9pKCl7cmV0dXJuIWlvKCkmJiEhaWEoKSYmbmF2aWdhdG9yLnByb2R1Y3Q9PT1pS31mdW5jdGlvbiBvbygpe3JldHVybiFvcigpJiYhIWlhKCl9ZnVuY3Rpb24gb2EoKXtyZXR1cm4gb2koKT9pcS5yZWFjdE5hdGl2ZTpvcigpP2lxLm5vZGU6b28oKT9pcS5icm93c2VyOmlxLnVua25vd259ZnVuY3Rpb24gb3MoZSx0KXtsZXQgbj1paC5wYXJzZShlKTtyZXR1cm4gbj1pRyhpRyh7fSxuKSx0KSxlPWloLnN0cmluZ2lmeShuKX1mdW5jdGlvbiBvbCgpe3ZhciBlO2xldCB0PWU/cjkoZSk6InVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudCYmInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJiJSZWFjdE5hdGl2ZSI9PT1uYXZpZ2F0b3IucHJvZHVjdD9uZXcgck46InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3I/cjkobmF2aWdhdG9yLnVzZXJBZ2VudCk6InVuZGVmaW5lZCIhPXR5cGVvZiBwcm9jZXNzJiZwcm9jZXNzLnZlcnNpb24/bmV3IHJUKHByb2Nlc3MudmVyc2lvbi5zbGljZSgxKSk6bnVsbDtpZihudWxsPT09dClyZXR1cm4idW5rbm93biI7bGV0IG49dC5vcz90Lm9zLnJlcGxhY2UoIiAiLCIiKS50b0xvd2VyQ2FzZSgpOiJ1bmtub3duIjtyZXR1cm4iYnJvd3NlciI9PT10LnR5cGU/W24sdC5uYW1lLHQudmVyc2lvbl0uam9pbigiLSIpOltuLHQudmVyc2lvbl0uam9pbigiLSIpfWZ1bmN0aW9uIG8kKCl7dmFyIGU7bGV0IHQ9b2EoKTtyZXR1cm4gdD09PWlxLmJyb3dzZXI/W3QsKG51bGw9PShlPWlzKCkpP3ZvaWQgMDplLmhvc3QpfHwidW5rbm93biJdLmpvaW4oIjoiKTp0fWZ1bmN0aW9uIG9jKGUsdCxuKXtsZXQgcj1vbCgpLGk9byQoKTtyZXR1cm5bW2UsdF0uam9pbigiLSIpLFtvbixuXS5qb2luKCItIikscixpXS5qb2luKCIvIil9ZnVuY3Rpb24gb2goZSx0PW9lKXtyZXR1cm4gb2QoZS5zcGxpdChpSiksdCl9ZnVuY3Rpb24gb3UoZSx0KXtyZXR1cm4gZS5maWx0ZXIoZT0+dC5pbmNsdWRlcyhlKSkubGVuZ3RoPT09ZS5sZW5ndGh9ZnVuY3Rpb24gb2QoZSx0PW9lKXtyZXR1cm4gZS5zbGljZShNYXRoLm1heChlLmxlbmd0aC10LDApKX1sZXQgb189ZT0+ZTtmdW5jdGlvbiBvZihlKXtyZXR1cm4gZS50cmltKCkucmVwbGFjZSgvXlx3LyxlPT5lLnRvVXBwZXJDYXNlKCkpfWZ1bmN0aW9uIG9wKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0LnN0YXJ0c1dpdGgoYCR7ZX06YCkpcmV0dXJuIHQ7aWYoInRvcGljIj09PWUudG9Mb3dlckNhc2UoKSl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IEVycm9yKCdWYWx1ZSBtdXN0IGJlICJzdHJpbmciIGZvciBleHBpcmVyIHRhcmdldCB0eXBlOiB0b3BpYycpO3JldHVybmB0b3BpYzoke3R9YH1pZigiaWQiPT09ZS50b0xvd2VyQ2FzZSgpKXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoJ1ZhbHVlIG11c3QgYmUgIm51bWJlciIgZm9yIGV4cGlyZXIgdGFyZ2V0IHR5cGU6IGlkJyk7cmV0dXJuYGlkOiR7dH1gfXRocm93IEVycm9yKGBVbmtub3duIGV4cGlyZXIgdGFyZ2V0IHR5cGU6ICR7ZX1gKX1mdW5jdGlvbiBvMShlPVtdLHQ9W10pe3JldHVyblsuLi5uZXcgU2V0KFsuLi5lLC4uLnRdKV19bGV0IG8wPSJpcm4iO3ZhciBvZz1PYmplY3QuZGVmaW5lUHJvcGVydHksb209T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxvMz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LG93PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsb3Y9KGUsdCxuKT0+dCBpbiBlP29nKGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOmVbdF09bixvMj0oZSx0KT0+e2Zvcih2YXIgbiBpbiB0fHwodD17fSkpbzMuY2FsbCh0LG4pJiZvdihlLG4sdFtuXSk7aWYob20pZm9yKHZhciBuIG9mIG9tKHQpKW93LmNhbGwodCxuKSYmb3YoZSxuLHRbbl0pO3JldHVybiBlfTtmdW5jdGlvbiBvNChlLHQ9Ii0iKXtsZXQgbj17fSxyPSJyZWxheSIrdDtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57aWYodC5zdGFydHNXaXRoKHIpKXtsZXQgaT10LnJlcGxhY2UociwiIiksbz1lW3RdO25baV09b319KSxufWZ1bmN0aW9uIG9iKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIi8vIik/ZS5zdWJzdHJpbmcoMik6ZX1mdW5jdGlvbiBvOChlLHQ9Ii0iKXtsZXQgbj17fTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChyPT57bGV0IGk9InJlbGF5Iit0K3I7ZVtyXSYmKG5baV09ZVtyXSl9KSxufXZhciBvNj1PYmplY3QuZGVmaW5lUHJvcGVydHksb3k9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsbzU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMsb3g9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxvNz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LG9FPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsb0M9KGUsdCxuKT0+dCBpbiBlP282KGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOmVbdF09bixvRD0oZSx0KT0+e2Zvcih2YXIgbiBpbiB0fHwodD17fSkpbzcuY2FsbCh0LG4pJiZvQyhlLG4sdFtuXSk7aWYob3gpZm9yKHZhciBuIG9mIG94KHQpKW9FLmNhbGwodCxuKSYmb0MoZSxuLHRbbl0pO3JldHVybiBlfSxvaz0oZSx0KT0+b3koZSxvNSh0KSk7ZnVuY3Rpb24gb0EoZSl7bGV0IHQ9W107cmV0dXJuIGUuZm9yRWFjaChlPT57bGV0W24scl09ZS5zcGxpdCgiOiIpO3QucHVzaChgJHtufToke3J9YCl9KSx0fWZ1bmN0aW9uIG9JKGUpe2xldCB0PVtdO3JldHVybiBPYmplY3QudmFsdWVzKGUpLmZvckVhY2goZT0+e3QucHVzaCguLi5vQShlLmFjY291bnRzKSl9KSx0fWZ1bmN0aW9uIG9UKGUsdCl7bGV0IG49W107cmV0dXJuIE9iamVjdC52YWx1ZXMoZSkuZm9yRWFjaChlPT57b0EoZS5hY2NvdW50cykuaW5jbHVkZXModCkmJm4ucHVzaCguLi5lLm1ldGhvZHMpfSksbn1mdW5jdGlvbiBvUyhlLHQpe2xldCBuPVtdO3JldHVybiBPYmplY3QudmFsdWVzKGUpLmZvckVhY2goZT0+e29BKGUuYWNjb3VudHMpLmluY2x1ZGVzKHQpJiZuLnB1c2goLi4uZS5ldmVudHMpfSksbn1mdW5jdGlvbiBvTChlKXtyZXR1cm4gZS5pbmNsdWRlcygiOiIpfWZ1bmN0aW9uIG9OKGUpe3JldHVybiBvTChlKT9lLnNwbGl0KCI6IilbMF06ZX1mdW5jdGlvbiBvTyhlKXt2YXIgdCxuLHI7bGV0IGk9e307aWYoIW9CKGUpKXJldHVybiBpO2ZvcihsZXRbbyxhXW9mIE9iamVjdC5lbnRyaWVzKGUpKXtsZXQgcz1vTChvKT9bb106YS5jaGFpbnMsbD1hLm1ldGhvZHN8fFtdLCQ9YS5ldmVudHN8fFtdLGM9b04obyk7aVtjXT1vayhvRCh7fSxpW2NdKSx7Y2hhaW5zOm8xKHMsbnVsbD09KHQ9aVtjXSk/dm9pZCAwOnQuY2hhaW5zKSxtZXRob2RzOm8xKGwsbnVsbD09KG49aVtjXSk/dm9pZCAwOm4ubWV0aG9kcyksZXZlbnRzOm8xKCQsbnVsbD09KHI9aVtjXSk/dm9pZCAwOnIuZXZlbnRzKX0pfXJldHVybiBpfWxldCBvTT17SU5WQUxJRF9NRVRIT0Q6e21lc3NhZ2U6IkludmFsaWQgbWV0aG9kLiIsY29kZToxMDAxfSxJTlZBTElEX0VWRU5UOnttZXNzYWdlOiJJbnZhbGlkIGV2ZW50LiIsY29kZToxMDAyfSxJTlZBTElEX1VQREFURV9SRVFVRVNUOnttZXNzYWdlOiJJbnZhbGlkIHVwZGF0ZSByZXF1ZXN0LiIsY29kZToxMDAzfSxJTlZBTElEX0VYVEVORF9SRVFVRVNUOnttZXNzYWdlOiJJbnZhbGlkIGV4dGVuZCByZXF1ZXN0LiIsY29kZToxMDA0fSxJTlZBTElEX1NFU1NJT05fU0VUVExFX1JFUVVFU1Q6e21lc3NhZ2U6IkludmFsaWQgc2Vzc2lvbiBzZXR0bGUgcmVxdWVzdC4iLGNvZGU6MTAwNX0sVU5BVVRIT1JJWkVEX01FVEhPRDp7bWVzc2FnZToiVW5hdXRob3JpemVkIG1ldGhvZC4iLGNvZGU6MzAwMX0sVU5BVVRIT1JJWkVEX0VWRU5UOnttZXNzYWdlOiJVbmF1dGhvcml6ZWQgZXZlbnQuIixjb2RlOjMwMDJ9LFVOQVVUSE9SSVpFRF9VUERBVEVfUkVRVUVTVDp7bWVzc2FnZToiVW5hdXRob3JpemVkIHVwZGF0ZSByZXF1ZXN0LiIsY29kZTozMDAzfSxVTkFVVEhPUklaRURfRVhURU5EX1JFUVVFU1Q6e21lc3NhZ2U6IlVuYXV0aG9yaXplZCBleHRlbmQgcmVxdWVzdC4iLGNvZGU6MzAwNH0sVVNFUl9SRUpFQ1RFRDp7bWVzc2FnZToiVXNlciByZWplY3RlZC4iLGNvZGU6NWUzfSxVU0VSX1JFSkVDVEVEX0NIQUlOUzp7bWVzc2FnZToiVXNlciByZWplY3RlZCBjaGFpbnMuIixjb2RlOjUwMDF9LFVTRVJfUkVKRUNURURfTUVUSE9EUzp7bWVzc2FnZToiVXNlciByZWplY3RlZCBtZXRob2RzLiIsY29kZTo1MDAyfSxVU0VSX1JFSkVDVEVEX0VWRU5UUzp7bWVzc2FnZToiVXNlciByZWplY3RlZCBldmVudHMuIixjb2RlOjUwMDN9LFVOU1VQUE9SVEVEX0NIQUlOUzp7bWVzc2FnZToiVW5zdXBwb3J0ZWQgY2hhaW5zLiIsY29kZTo1MTAwfSxVTlNVUFBPUlRFRF9NRVRIT0RTOnttZXNzYWdlOiJVbnN1cHBvcnRlZCBtZXRob2RzLiIsY29kZTo1MTAxfSxVTlNVUFBPUlRFRF9FVkVOVFM6e21lc3NhZ2U6IlVuc3VwcG9ydGVkIGV2ZW50cy4iLGNvZGU6NTEwMn0sVU5TVVBQT1JURURfQUNDT1VOVFM6e21lc3NhZ2U6IlVuc3VwcG9ydGVkIGFjY291bnRzLiIsY29kZTo1MTAzfSxVTlNVUFBPUlRFRF9OQU1FU1BBQ0VfS0VZOnttZXNzYWdlOiJVbnN1cHBvcnRlZCBuYW1lc3BhY2Uga2V5LiIsY29kZTo1MTA0fSxVU0VSX0RJU0NPTk5FQ1RFRDp7bWVzc2FnZToiVXNlciBkaXNjb25uZWN0ZWQuIixjb2RlOjZlM30sU0VTU0lPTl9TRVRUTEVNRU5UX0ZBSUxFRDp7bWVzc2FnZToiU2Vzc2lvbiBzZXR0bGVtZW50IGZhaWxlZC4iLGNvZGU6N2UzfSxXQ19NRVRIT0RfVU5TVVBQT1JURUQ6e21lc3NhZ2U6IlVuc3VwcG9ydGVkIHdjXyBtZXRob2QuIixjb2RlOjEwMDAxfX0sb1A9e05PVF9JTklUSUFMSVpFRDp7bWVzc2FnZToiTm90IGluaXRpYWxpemVkLiIsY29kZToxfSxOT19NQVRDSElOR19LRVk6e21lc3NhZ2U6Ik5vIG1hdGNoaW5nIGtleS4iLGNvZGU6Mn0sUkVTVE9SRV9XSUxMX09WRVJSSURFOnttZXNzYWdlOiJSZXN0b3JlIHdpbGwgb3ZlcnJpZGUuIixjb2RlOjN9LFJFU1VCU0NSSUJFRDp7bWVzc2FnZToiUmVzdWJzY3JpYmVkLiIsY29kZTo0fSxNSVNTSU5HX09SX0lOVkFMSUQ6e21lc3NhZ2U6Ik1pc3Npbmcgb3IgaW52YWxpZC4iLGNvZGU6NX0sRVhQSVJFRDp7bWVzc2FnZToiRXhwaXJlZC4iLGNvZGU6Nn0sVU5LTk9XTl9UWVBFOnttZXNzYWdlOiJVbmtub3duIHR5cGUuIixjb2RlOjd9LE1JU01BVENIRURfVE9QSUM6e21lc3NhZ2U6Ik1pc21hdGNoZWQgdG9waWMuIixjb2RlOjh9LE5PTl9DT05GT1JNSU5HX05BTUVTUEFDRVM6e21lc3NhZ2U6Ik5vbiBjb25mb3JtaW5nIG5hbWVzcGFjZXMuIixjb2RlOjl9fTtmdW5jdGlvbiBvOShlLHQpe2xldHttZXNzYWdlOm4sY29kZTpyfT1vUFtlXTtyZXR1cm57bWVzc2FnZTp0P2Ake259ICR7dH1gOm4sY29kZTpyfX1mdW5jdGlvbiBvUihlLHQpe2xldHttZXNzYWdlOm4sY29kZTpyfT1vTVtlXTtyZXR1cm57bWVzc2FnZTp0P2Ake259ICR7dH1gOm4sY29kZTpyfX1mdW5jdGlvbiBvVShlLHQpe3JldHVybiEhQXJyYXkuaXNBcnJheShlKSYmKCEoInUiPnR5cGVvZiB0KXx8IWUubGVuZ3RofHxlLmV2ZXJ5KHQpKX1mdW5jdGlvbiBvQihlKXtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09T2JqZWN0LnByb3RvdHlwZSYmT2JqZWN0LmtleXMoZSkubGVuZ3RofWZ1bmN0aW9uIG9XKGUpe3JldHVybiB0eXBlb2YgZT4idSJ9ZnVuY3Rpb24gb0YoZSx0KXtyZXR1cm4hISh0JiZvVyhlKSl8fCJzdHJpbmciPT10eXBlb2YgZSYmQm9vbGVhbihlLnRyaW0oKS5sZW5ndGgpfWZ1bmN0aW9uIG96KGUsdCl7cmV0dXJuISEodCYmb1coZSkpfHwibnVtYmVyIj09dHlwZW9mIGUmJiFpc05hTihlKX1mdW5jdGlvbiBvSChlKXtyZXR1cm4hIShvRihlLCExKSYmZS5pbmNsdWRlcygiOiIpKSYmMj09PWUuc3BsaXQoIjoiKS5sZW5ndGh9ZnVuY3Rpb24gb2ooZSl7aWYob0YoZSwhMSkmJmUuaW5jbHVkZXMoIjoiKSl7bGV0IHQ9ZS5zcGxpdCgiOiIpO2lmKDM9PT10Lmxlbmd0aCl7bGV0IG49dFswXSsiOiIrdFsxXTtyZXR1cm4hIXRbMl0mJm9IKG4pfX1yZXR1cm4hMX1mdW5jdGlvbiBvWihlKXtsZXQgdD0hMDtyZXR1cm4gb1UoZSk/ZS5sZW5ndGgmJih0PWUuZXZlcnkoZT0+b0YoZSwhMSkpKTp0PSExLHR9ZnVuY3Rpb24gb1koZSx0LG4pe2xldCByPW51bGw7cmV0dXJuIG9VKHQpP3QuZm9yRWFjaCh0PT57IXImJihvSCh0KSYmdC5pbmNsdWRlcyhlKXx8KHI9b1IoIlVOU1VQUE9SVEVEX0NIQUlOUyIsYCR7bn0sIGNoYWluICR7dH0gc2hvdWxkIGJlIGEgc3RyaW5nIGFuZCBjb25mb3JtIHRvICJuYW1lc3BhY2U6Y2hhaW5JZCIgZm9ybWF0YCkpKX0pOnI9b1IoIlVOU1VQUE9SVEVEX0NIQUlOUyIsYCR7bn0sIGNoYWlucyAke3R9IHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIGNvbmZvcm1pbmcgdG8gIm5hbWVzcGFjZTpjaGFpbklkIiBmb3JtYXRgKSxyfWZ1bmN0aW9uIG9WKGUsdCl7bGV0IG49bnVsbDtyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW2Uscl0pPT57aWYobilyZXR1cm47bGV0IGk9b1koZSxpNyhlLHIpLGAke3R9IHJlcXVpcmVkTmFtZXNwYWNlYCk7aSYmKG49aSl9KSxufWZ1bmN0aW9uIG9HKGUsdCl7bGV0IG49bnVsbDtyZXR1cm4gb1UoZSk/ZS5mb3JFYWNoKGU9PntufHxvaihlKXx8KG49b1IoIlVOU1VQUE9SVEVEX0FDQ09VTlRTIixgJHt0fSwgYWNjb3VudCAke2V9IHNob3VsZCBiZSBhIHN0cmluZyBhbmQgY29uZm9ybSB0byAibmFtZXNwYWNlOmNoYWluSWQ6YWRkcmVzcyIgZm9ybWF0YCkpfSk6bj1vUigiVU5TVVBQT1JURURfQUNDT1VOVFMiLGAke3R9LCBhY2NvdW50cyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncyBjb25mb3JtaW5nIHRvICJuYW1lc3BhY2U6Y2hhaW5JZDphZGRyZXNzIiBmb3JtYXRgKSxufWZ1bmN0aW9uIG9LKGUsdCl7bGV0IG49bnVsbDtyZXR1cm4gT2JqZWN0LnZhbHVlcyhlKS5mb3JFYWNoKGU9PntpZihuKXJldHVybjtsZXQgcj1vRyhlPy5hY2NvdW50cyxgJHt0fSBuYW1lc3BhY2VgKTtyJiYobj1yKX0pLG59ZnVuY3Rpb24gb3EoZSx0KXtsZXQgbj1udWxsO3JldHVybiBvWihlPy5tZXRob2RzKT9vWihlPy5ldmVudHMpfHwobj1vUigiVU5TVVBQT1JURURfRVZFTlRTIixgJHt0fSwgZXZlbnRzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGVtcHR5IGFycmF5IGZvciBubyBldmVudHNgKSk6bj1vUigiVU5TVVBQT1JURURfTUVUSE9EUyIsYCR7dH0sIG1ldGhvZHMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgZW1wdHkgYXJyYXkgZm9yIG5vIG1ldGhvZHNgKSxufWZ1bmN0aW9uIG9RKGUsdCl7bGV0IG49bnVsbDtyZXR1cm4gT2JqZWN0LnZhbHVlcyhlKS5mb3JFYWNoKGU9PntpZihuKXJldHVybjtsZXQgcj1vcShlLGAke3R9LCBuYW1lc3BhY2VgKTtyJiYobj1yKX0pLG59ZnVuY3Rpb24gb1goZSx0KXtsZXQgbj1udWxsO2lmKGUmJm9CKGUpKXtsZXQgcj1vUShlLHQpO3ImJihuPXIpO2xldCBpPW9LKGUsdCk7aSYmKG49aSl9ZWxzZSBuPW85KCJNSVNTSU5HX09SX0lOVkFMSUQiLGAke3R9LCBuYW1lc3BhY2VzIHNob3VsZCBiZSBhbiBvYmplY3Qgd2l0aCBkYXRhYCk7cmV0dXJuIG59ZnVuY3Rpb24gb0ooZSl7cmV0dXJuIG9GKGUucHJvdG9jb2wsITApfWZ1bmN0aW9uIGFlKGUsdCxuKXtsZXQgcj1udWxsLGk9ZnVuY3Rpb24gZSh0KXtsZXQgbj17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChlPT57dmFyIHI7ZS5pbmNsdWRlcygiOiIpP25bZV09dFtlXTpudWxsPT0ocj10W2VdLmNoYWlucyl8fHIuZm9yRWFjaChyPT57bltyXT17bWV0aG9kczp0W2VdLm1ldGhvZHMsZXZlbnRzOnRbZV0uZXZlbnRzfX0pfSksbn0oZSksbz1mdW5jdGlvbiBlKHQpe2xldCBuPXt9O3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9PntpZihlLmluY2x1ZGVzKCI6IikpbltlXT10W2VdO2Vsc2V7bGV0IHI9b0EodFtlXS5hY2NvdW50cyk7cj8uZm9yRWFjaChyPT57bltyXT17YWNjb3VudHM6dFtlXS5hY2NvdW50cy5maWx0ZXIoZT0+ZS5pbmNsdWRlcyhgJHtyfTpgKSksbWV0aG9kczp0W2VdLm1ldGhvZHMsZXZlbnRzOnRbZV0uZXZlbnRzfX0pfX0pLG59KHQpLGE9T2JqZWN0LmtleXMoaSkscz1PYmplY3Qua2V5cyhvKSxsPWF0KE9iamVjdC5rZXlzKGUpKSwkPWF0KE9iamVjdC5rZXlzKHQpKSxjPWwuZmlsdGVyKGU9PiEkLmluY2x1ZGVzKGUpKTtyZXR1cm4gYy5sZW5ndGgmJihyPW85KCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTIixgJHtufSBuYW1lc3BhY2VzIGtleXMgZG9uJ3Qgc2F0aXNmeSByZXF1aXJlZE5hbWVzcGFjZXMuCiAgICAgIFJlcXVpcmVkOiAke2MudG9TdHJpbmcoKX0KICAgICAgUmVjZWl2ZWQ6ICR7T2JqZWN0LmtleXModCkudG9TdHJpbmcoKX1gKSksb3UoYSxzKXx8KHI9bzkoIk5PTl9DT05GT1JNSU5HX05BTUVTUEFDRVMiLGAke259IG5hbWVzcGFjZXMgY2hhaW5zIGRvbid0IHNhdGlzZnkgcmVxdWlyZWQgbmFtZXNwYWNlcy4KICAgICAgUmVxdWlyZWQ6ICR7YS50b1N0cmluZygpfQogICAgICBBcHByb3ZlZDogJHtzLnRvU3RyaW5nKCl9YCkpLE9iamVjdC5rZXlzKHQpLmZvckVhY2goZT0+e2lmKCFlLmluY2x1ZGVzKCI6Iil8fHIpcmV0dXJuO2xldCBpPW9BKHRbZV0uYWNjb3VudHMpO2kuaW5jbHVkZXMoZSl8fChyPW85KCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTIixgJHtufSBuYW1lc3BhY2VzIGFjY291bnRzIGRvbid0IHNhdGlzZnkgbmFtZXNwYWNlIGFjY291bnRzIGZvciAke2V9CiAgICAgICAgUmVxdWlyZWQ6ICR7ZX0KICAgICAgICBBcHByb3ZlZDogJHtpLnRvU3RyaW5nKCl9YCkpfSksYS5mb3JFYWNoKGU9PntyfHwob3UoaVtlXS5tZXRob2RzLG9bZV0ubWV0aG9kcyk/b3UoaVtlXS5ldmVudHMsb1tlXS5ldmVudHMpfHwocj1vOSgiTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFUyIsYCR7bn0gbmFtZXNwYWNlcyBldmVudHMgZG9uJ3Qgc2F0aXNmeSBuYW1lc3BhY2UgZXZlbnRzIGZvciAke2V9YCkpOnI9bzkoIk5PTl9DT05GT1JNSU5HX05BTUVTUEFDRVMiLGAke259IG5hbWVzcGFjZXMgbWV0aG9kcyBkb24ndCBzYXRpc2Z5IG5hbWVzcGFjZSBtZXRob2RzIGZvciAke2V9YCkpfSkscn1mdW5jdGlvbiBhdChlKXtyZXR1cm5bLi4ubmV3IFNldChlLm1hcChlPT5lLmluY2x1ZGVzKCI6Iik/ZS5zcGxpdCgiOiIpWzBdOmUpKV19dmFyIGFuPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEJBU0UxMDppSSxCQVNFMTY6aVQsQkFTRTY0OmlTLENPTE9OOmlYLERFRkFVTFRfREVQVEg6b2UsRU1QVFlfU1BBQ0U6aVEsRU5WX01BUDppcSxPTkVfVEhPVVNBTkQ6b3QsUkVBQ1RfTkFUSVZFX1BST0RVQ1Q6aUssUkVMQVlFUl9ERUZBVUxUX1BST1RPQ09MOm8wLFNES19UWVBFOm9uLFNMQVNIOmlKLFRZUEVfMDppTixUWVBFXzE6aU8sVVRGODppTCxhcHBlbmRUb1F1ZXJ5U3RyaW5nOm9zLGFzc2VydFR5cGU6ZnVuY3Rpb24gZSh0LG4scil7aWYoIXRbbl18fHR5cGVvZiB0W25dIT09cil0aHJvdyBFcnJvcihgTWlzc2luZyBvciBpbnZhbGlkICIke259IiBwYXJhbWApfSxidWlsZEFwcHJvdmVkTmFtZXNwYWNlczpmdW5jdGlvbiBlKHQpe2xldHtwcm9wb3NhbDp7cmVxdWlyZWROYW1lc3BhY2VzOm4sb3B0aW9uYWxOYW1lc3BhY2VzOnI9e319LHN1cHBvcnRlZE5hbWVzcGFjZXM6aX09dCxvPW9PKG4pLGE9b08ocikscz17fTtPYmplY3Qua2V5cyhpKS5mb3JFYWNoKGU9PntsZXQgdD1pW2VdLmNoYWlucyxuPWlbZV0ubWV0aG9kcyxyPWlbZV0uZXZlbnRzLG89aVtlXS5hY2NvdW50cztzW2VdPXtjaGFpbnM6dCxtZXRob2RzOm4sZXZlbnRzOnIsYWNjb3VudHM6b319KTtsZXQgbD1hZShuLHMsImFwcHJvdmUoKSIpO2lmKGwpdGhyb3cgRXJyb3IobC5tZXNzYWdlKTtsZXQgJD17fTtyZXR1cm4gT2JqZWN0LmtleXMobykuZm9yRWFjaChlPT57bGV0IHQ9aVtlXS5jaGFpbnMuZmlsdGVyKHQ9Pnt2YXIgbixyO3JldHVybiBudWxsPT0ocj1udWxsPT0obj1vW2VdKT92b2lkIDA6bi5jaGFpbnMpP3ZvaWQgMDpyLmluY2x1ZGVzKHQpfSksbj1pW2VdLm1ldGhvZHMuZmlsdGVyKHQ9Pnt2YXIgbixyO3JldHVybiBudWxsPT0ocj1udWxsPT0obj1vW2VdKT92b2lkIDA6bi5tZXRob2RzKT92b2lkIDA6ci5pbmNsdWRlcyh0KX0pLHI9aVtlXS5ldmVudHMuZmlsdGVyKHQ9Pnt2YXIgbixyO3JldHVybiBudWxsPT0ocj1udWxsPT0obj1vW2VdKT92b2lkIDA6bi5ldmVudHMpP3ZvaWQgMDpyLmluY2x1ZGVzKHQpfSksYT10Lm1hcCh0PT5pW2VdLmFjY291bnRzLmZpbHRlcihlPT5lLmluY2x1ZGVzKGAke3R9OmApKSkuZmxhdCgpOyRbZV09e2NoYWluczp0LG1ldGhvZHM6bixldmVudHM6cixhY2NvdW50czphfX0pLE9iamVjdC5rZXlzKGEpLmZvckVhY2goZT0+e3ZhciB0LG4scixvLHMsbDtpZighaVtlXSlyZXR1cm47bGV0IGM9bnVsbD09KG49bnVsbD09KHQ9YVtlXSk/dm9pZCAwOnQuY2hhaW5zKT92b2lkIDA6bi5maWx0ZXIodD0+aVtlXS5jaGFpbnMuaW5jbHVkZXModCkpLGg9aVtlXS5tZXRob2RzLmZpbHRlcih0PT57dmFyIG4scjtyZXR1cm4gbnVsbD09KHI9bnVsbD09KG49YVtlXSk/dm9pZCAwOm4ubWV0aG9kcyk/dm9pZCAwOnIuaW5jbHVkZXModCl9KSx1PWlbZV0uZXZlbnRzLmZpbHRlcih0PT57dmFyIG4scjtyZXR1cm4gbnVsbD09KHI9bnVsbD09KG49YVtlXSk/dm9pZCAwOm4uZXZlbnRzKT92b2lkIDA6ci5pbmNsdWRlcyh0KX0pLGQ9Yz8ubWFwKHQ9PmlbZV0uYWNjb3VudHMuZmlsdGVyKGU9PmUuaW5jbHVkZXModCkpKS5mbGF0KCk7JFtlXT17Y2hhaW5zOm8xKG51bGw9PShyPSRbZV0pP3ZvaWQgMDpyLmNoYWlucyxjKSxtZXRob2RzOm8xKG51bGw9PShvPSRbZV0pP3ZvaWQgMDpvLm1ldGhvZHMsaCksZXZlbnRzOm8xKG51bGw9PShzPSRbZV0pP3ZvaWQgMDpzLmV2ZW50cyx1KSxhY2NvdW50czpvMShudWxsPT0obD0kW2VdKT92b2lkIDA6bC5hY2NvdW50cyxkKX19KSwkfSxjYWxjRXhwaXJ5OmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gclIuZnJvbU1pbGlzZWNvbmRzKChufHxEYXRlLm5vdygpKStyUi50b01pbGlzZWNvbmRzKHQpKX0sY2FwaXRhbGl6ZTpmdW5jdGlvbiBlKHQpe3JldHVybiB0LnNwbGl0KGlRKS5tYXAoZT0+b2YoZSkpLmpvaW4oaVEpfSxjYXBpdGFsaXplV29yZDpvZixjcmVhdGVEZWxheWVkUHJvbWlzZTpmdW5jdGlvbiBlKHQ9clIuRklWRV9NSU5VVEVTLG4pe2xldCByPXJSLnRvTWlsaXNlY29uZHModHx8clIuRklWRV9NSU5VVEVTKSxpLG8sYTtyZXR1cm57cmVzb2x2ZShlKXthJiZpJiYoY2xlYXJUaW1lb3V0KGEpLGkoZSkpfSxyZWplY3QoZSl7YSYmbyYmKGNsZWFyVGltZW91dChhKSxvKGUpKX0sZG9uZTooKT0+bmV3IFByb21pc2UoKGUsdCk9PnthPXNldFRpbWVvdXQoKCk9Pnt0KEVycm9yKG4pKX0sciksaT1lLG89dH0pfX0sY3JlYXRlRXhwaXJpbmdQcm9taXNlOmZ1bmN0aW9uIGUodCxuLHIpe3JldHVybiBuZXcgUHJvbWlzZShhc3luYyhlLGkpPT57bGV0IG89c2V0VGltZW91dCgoKT0+aShFcnJvcihyKSksbik7dHJ5e2xldCBhPWF3YWl0IHQ7ZShhKX1jYXRjaChzKXtpKHMpfWNsZWFyVGltZW91dChvKX0pfSxkZWNvZGVUeXBlQnl0ZTppQixkZWNyeXB0OmZ1bmN0aW9uIGUodCl7bGV0IG49bmV3IHRILkNoYUNoYTIwUG9seTEzMDUockQodC5zeW1LZXksaVQpKSx7c2VhbGVkOnIsaXY6aX09aUYodC5lbmNvZGVkKSxvPW4ub3BlbihpLHIpO2lmKG51bGw9PT1vKXRocm93IEVycm9yKCJGYWlsZWQgdG8gZGVjcnlwdCIpO3JldHVybiByayhvLGlMKX0sZGVyaXZlU3ltS2V5OmZ1bmN0aW9uIGUodCxuKXtsZXQgcj1uTi5zaGFyZWRLZXkockQodCxpVCksckQobixpVCkpLGk9bmV3IG53KG5MLlNIQTI1NixyKS5leHBhbmQoaVIpO3JldHVybiByayhpLGlUKX0sZGVzZXJpYWxpemU6aUYsZW5jb2RlVHlwZUJ5dGU6aVUsZW5jcnlwdDpmdW5jdGlvbiBlKHQpe2xldCBuPWlVKCJ1Ij50eXBlb2YgdC50eXBlP3QudHlwZTppTik7aWYoaUIobik9PT1pTyYmdHlwZW9mIHQuc2VuZGVyUHVibGljS2V5PiJ1Iil0aHJvdyBFcnJvcigiTWlzc2luZyBzZW5kZXIgcHVibGljIGtleSBmb3IgdHlwZSAxIGVudmVsb3BlIik7bGV0IHI9InUiPnR5cGVvZiB0LnNlbmRlclB1YmxpY0tleT9yRCh0LnNlbmRlclB1YmxpY0tleSxpVCk6dm9pZCAwLGk9InUiPnR5cGVvZiB0Lml2P3JEKHQuaXYsaVQpOm52LnJhbmRvbUJ5dGVzKGk5KSxvPW5ldyB0SC5DaGFDaGEyMFBvbHkxMzA1KHJEKHQuc3ltS2V5LGlUKSkuc2VhbChpLHJEKHQubWVzc2FnZSxpTCkpO3JldHVybiBpVyh7dHlwZTpuLHNlYWxlZDpvLGl2Omksc2VuZGVyUHVibGljS2V5OnJ9KX0sZW5naW5lRXZlbnQ6ZnVuY3Rpb24gZSh0LG4pe3JldHVybmAke3R9JHtuP2A6JHtufWA6IiJ9YH0sZW51bWlmeTpvXyxmb3JtYXRBY2NvdW50SWQ6aTgsZm9ybWF0QWNjb3VudFdpdGhDaGFpbjpmdW5jdGlvbiBlKHQsbil7bGV0e25hbWVzcGFjZTpyLHJlZmVyZW5jZTppfT1pMihuKTtyZXR1cm4gaTgoe25hbWVzcGFjZTpyLHJlZmVyZW5jZTppLGFkZHJlc3M6dH0pfSxmb3JtYXRDaGFpbklkOmk0LGZvcm1hdEV4cGlyZXJUYXJnZXQ6b3AsZm9ybWF0SWRUYXJnZXQ6ZnVuY3Rpb24gZSh0KXtyZXR1cm4gb3AoImlkIix0KX0sZm9ybWF0TWVzc2FnZTppQSxmb3JtYXRNZXNzYWdlQ29udGV4dDpmdW5jdGlvbiBlKHQpe3JldHVybiBvaCh0KS5qb2luKGlRKX0sZm9ybWF0UmVsYXlQYXJhbXM6bzgsZm9ybWF0UmVsYXlScGNVcmw6ZnVuY3Rpb24gZSh7cHJvdG9jb2w6dCx2ZXJzaW9uOm4scmVsYXlVcmw6cixzZGtWZXJzaW9uOmksYXV0aDpvLHByb2plY3RJZDphLHVzZU9uQ2xvc2VFdmVudDpzfSl7bGV0IGw9ci5zcGxpdCgiPyIpLCQ9b2ModCxuLGkpLGM9e2F1dGg6byx1YTokLHByb2plY3RJZDphLHVzZU9uQ2xvc2VFdmVudDpzfHx2b2lkIDB9LGg9b3MobFsxXXx8IiIsYyk7cmV0dXJuIGxbMF0rIj8iK2h9LGZvcm1hdFRvcGljVGFyZ2V0OmZ1bmN0aW9uIGUodCl7cmV0dXJuIG9wKCJ0b3BpYyIsdCl9LGZvcm1hdFVBOm9jLGZvcm1hdFVyaTpmdW5jdGlvbiBlKHQpe3JldHVybmAke3QucHJvdG9jb2x9OiR7dC50b3BpY31AJHt0LnZlcnNpb259P2AraWguc3RyaW5naWZ5KG8yKHtzeW1LZXk6dC5zeW1LZXl9LG84KHQucmVsYXkpKSl9LGdlbmVyYXRlS2V5UGFpcjpmdW5jdGlvbiBlKCl7bGV0IHQ9bk4uZ2VuZXJhdGVLZXlQYWlyKCk7cmV0dXJue3ByaXZhdGVLZXk6cmsodC5zZWNyZXRLZXksaVQpLHB1YmxpY0tleTpyayh0LnB1YmxpY0tleSxpVCl9fSxnZW5lcmF0ZVJhbmRvbUJ5dGVzMzI6ZnVuY3Rpb24gZSgpe2xldCB0PW52LnJhbmRvbUJ5dGVzKGlSKTtyZXR1cm4gcmsodCxpVCl9LGdldEFjY291bnRzQ2hhaW5zOm9BLGdldEFjY291bnRzRnJvbU5hbWVzcGFjZXM6ZnVuY3Rpb24gZSh0LG49W10pe2xldCByPVtdO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9PntpZihuLmxlbmd0aCYmIW4uaW5jbHVkZXMoZSkpcmV0dXJuO2xldCBpPXRbZV07ci5wdXNoKC4uLmkuYWNjb3VudHMpfSkscn0sZ2V0QWRkcmVzc0Zyb21BY2NvdW50Oml5LGdldEFkZHJlc3Nlc0Zyb21BY2NvdW50czpmdW5jdGlvbiBlKHQpe3JldHVybiBpNih0LGl5KX0sZ2V0QXBwTWV0YWRhdGE6ZnVuY3Rpb24gZSgpe3JldHVybiBpJCgpfHx7bmFtZToiIixkZXNjcmlwdGlvbjoiIix1cmw6IiIsaWNvbnM6WyIiXX19LGdldENoYWluRnJvbUFjY291bnQ6aTUsZ2V0Q2hhaW5zRnJvbUFjY291bnRzOml4LGdldENoYWluc0Zyb21OYW1lc3BhY2U6aTcsZ2V0Q2hhaW5zRnJvbU5hbWVzcGFjZXM6ZnVuY3Rpb24gZSh0LG49W10pe2xldCByPVtdO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9PntpZihuLmxlbmd0aCYmIW4uaW5jbHVkZXMoZSkpcmV0dXJuO2xldCBpPXRbZV07ci5wdXNoKC4uLml4KGkuYWNjb3VudHMpKX0pLHJ9LGdldENoYWluc0Zyb21SZXF1aXJlZE5hbWVzcGFjZXM6ZnVuY3Rpb24gZSh0LG49W10pe2xldCByPVtdO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9PntpZihuLmxlbmd0aCYmIW4uaW5jbHVkZXMoZSkpcmV0dXJuO2xldCBpPXRbZV07ci5wdXNoKC4uLmk3KGUsaSkpfSkscn0sZ2V0RGlkQWRkcmVzczppayxnZXREaWRBZGRyZXNzU2VnbWVudHM6aUUsZ2V0RGlkQ2hhaW5JZDppQyxnZXRFbnZpcm9ubWVudDpvYSxnZXRIdHRwVXJsOmZ1bmN0aW9uIGUodCl7bGV0IG49KHQubWF0Y2goL15bXjpdKyg/PTpcL1wvKS9naSl8fFtdKVswXSxyPSJ1Ij50eXBlb2Ygbj90LnNwbGl0KCI6Ly8iKVsxXTp0O3JldHVybltuPSJ3c3MiPT09bj8iaHR0cHMiOiJodHRwIixyXS5qb2luKCI6Ly8iKX0sZ2V0SW50ZXJuYWxFcnJvcjpvOSxnZXRKYXZhc2NyaXB0SUQ6byQsZ2V0SmF2YXNjcmlwdE9TOm9sLGdldExhc3RJdGVtczpvZCxnZXROYW1lc3BhY2VkRGlkQ2hhaW5JZDppRCxnZXROYW1lc3BhY2VzQ2hhaW5zOm9JLGdldE5hbWVzcGFjZXNFdmVudHNGb3JDaGFpbklkOm9TLGdldE5hbWVzcGFjZXNNZXRob2RzRm9yQ2hhaW5JZDpvVCxnZXRSZWxheUNsaWVudE1ldGFkYXRhOmZ1bmN0aW9uIGUodCxuKXt2YXIgcjtsZXQgaT1vYSgpLG89e3Byb3RvY29sOnQsdmVyc2lvbjpuLGVudjppfTtyZXR1cm4iYnJvd3NlciI9PT1pJiYoby5ob3N0PShudWxsPT0ocj1pcygpKT92b2lkIDA6ci5ob3N0KXx8InVua25vd24iKSxvfSxnZXRSZWxheVByb3RvY29sQXBpOmZ1bmN0aW9uIGUodCl7bGV0IG49aXdbdF07aWYodHlwZW9mIG4+InUiKXRocm93IEVycm9yKGBSZWxheSBQcm90b2NvbCBub3Qgc3VwcG9ydGVkOiAke3R9YCk7cmV0dXJuIG59LGdldFJlbGF5UHJvdG9jb2xOYW1lOmZ1bmN0aW9uIGUodCl7cmV0dXJuIHQ/LnJlbGF5fHx7cHJvdG9jb2w6bzB9fSxnZXRSZXF1aXJlZE5hbWVzcGFjZXNGcm9tTmFtZXNwYWNlczpmdW5jdGlvbiBlKHQsbil7bGV0IHI9b1godCxuKTtpZihyKXRocm93IEVycm9yKHIubWVzc2FnZSk7bGV0IGk9e307Zm9yKGxldFtvLGFdb2YgT2JqZWN0LmVudHJpZXModCkpaVtvXT17bWV0aG9kczphLm1ldGhvZHMsZXZlbnRzOmEuZXZlbnRzLGNoYWluczphLmFjY291bnRzLm1hcChlPT5gJHtlLnNwbGl0KCI6IilbMF19OiR7ZS5zcGxpdCgiOiIpWzFdfWApfTtyZXR1cm4gaX0sZ2V0U2RrRXJyb3I6b1IsZ2V0VW5pcXVlVmFsdWVzOmk2LGhhc092ZXJsYXA6b3UsaGFzaEtleTpmdW5jdGlvbiBlKHQpe2xldCBuPW5MLmhhc2gockQodCxpVCkpO3JldHVybiByayhuLGlUKX0saGFzaE1lc3NhZ2U6ZnVuY3Rpb24gZSh0KXtsZXQgbj1uTC5oYXNoKHJEKHQsaUwpKTtyZXR1cm4gcmsobixpVCl9LGlzQnJvd3Nlcjpvbyxpc0NhaXBOYW1lc3BhY2U6b0wsaXNDb25mb3JtaW5nTmFtZXNwYWNlczphZSxpc0V4cGlyZWQ6ZnVuY3Rpb24gZSh0KXtyZXR1cm4gRGF0ZS5ub3coKT49clIudG9NaWxpc2Vjb25kcyh0KX0saXNOb2RlOm9yLGlzUHJvcG9zYWxTdHJ1Y3Q6ZnVuY3Rpb24gZSh0KXt2YXIgbjtyZXR1cm4gbnVsbD09KG49dD8ucHJvcG9zZXIpP3ZvaWQgMDpuLnB1YmxpY0tleX0saXNSZWFjdE5hdGl2ZTpvaSxpc1Nlc3Npb25Db21wYXRpYmxlOmZ1bmN0aW9uIGUodCxuKXtsZXR7cmVxdWlyZWROYW1lc3BhY2VzOnJ9PW4saT1PYmplY3Qua2V5cyh0Lm5hbWVzcGFjZXMpLG89T2JqZWN0LmtleXMociksYT0hMDtyZXR1cm4hIW91KG8saSkmJihpLmZvckVhY2goZT0+e2xldHthY2NvdW50czpuLG1ldGhvZHM6aSxldmVudHM6b309dC5uYW1lc3BhY2VzW2VdLHM9b0EobiksbD1yW2VdO291KGk3KGUsbCkscykmJm91KGwubWV0aG9kcyxpKSYmb3UobC5ldmVudHMsbyl8fChhPSExKX0pLGEpfSxpc1Nlc3Npb25TdHJ1Y3Q6ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdD8udG9waWN9LGlzVHlwZU9uZUVudmVsb3BlOmZ1bmN0aW9uIGUodCl7cmV0dXJuIHQudHlwZT09PWlPJiYic3RyaW5nIj09dHlwZW9mIHQuc2VuZGVyUHVibGljS2V5JiYic3RyaW5nIj09dHlwZW9mIHQucmVjZWl2ZXJQdWJsaWNLZXl9LGlzVW5kZWZpbmVkOm9XLGlzVmFsaWRBY2NvdW50SWQ6b2osaXNWYWxpZEFjY291bnRzOm9HLGlzVmFsaWRBY3Rpb25zOm9xLGlzVmFsaWRBcnJheTpvVSxpc1ZhbGlkQ2hhaW5JZDpvSCxpc1ZhbGlkQ2hhaW5zOm9ZLGlzVmFsaWRDb250cm9sbGVyOmZ1bmN0aW9uIGUodCxuKXtsZXQgcj1udWxsO3JldHVybiBvRih0Py5wdWJsaWNLZXksITEpfHwocj1vOSgiTUlTU0lOR19PUl9JTlZBTElEIixgJHtufSBjb250cm9sbGVyIHB1YmxpYyBrZXkgc2hvdWxkIGJlIGEgc3RyaW5nYCkpLHJ9LGlzVmFsaWRFcnJvclJlYXNvbjpmdW5jdGlvbiBlKHQpe3JldHVybiEoIXR8fCJvYmplY3QiIT10eXBlb2YgdHx8IXQuY29kZXx8IW96KHQuY29kZSwhMSl8fCF0Lm1lc3NhZ2V8fCFvRih0Lm1lc3NhZ2UsITEpKX0saXNWYWxpZEV2ZW50OmZ1bmN0aW9uIGUodCl7cmV0dXJuIShvVyh0KXx8IW9GKHQubmFtZSwhMSkpfSxpc1ZhbGlkSWQ6ZnVuY3Rpb24gZSh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9LGlzVmFsaWROYW1lc3BhY2VBY2NvdW50czpvSyxpc1ZhbGlkTmFtZXNwYWNlQWN0aW9uczpvUSxpc1ZhbGlkTmFtZXNwYWNlQ2hhaW5zOm9WLGlzVmFsaWROYW1lc3BhY2VNZXRob2RzT3JFdmVudHM6b1osaXNWYWxpZE5hbWVzcGFjZXM6b1gsaXNWYWxpZE5hbWVzcGFjZXNDaGFpbklkOmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4hKCFvSChuKXx8IW9JKHQpLmluY2x1ZGVzKG4pKX0saXNWYWxpZE5hbWVzcGFjZXNFdmVudDpmdW5jdGlvbiBlKHQsbixyKXtyZXR1cm4hIW9GKHIsITEpJiZvUyh0LG4pLmluY2x1ZGVzKHIpfSxpc1ZhbGlkTmFtZXNwYWNlc1JlcXVlc3Q6ZnVuY3Rpb24gZSh0LG4scil7cmV0dXJuISFvRihyLCExKSYmb1QodCxuKS5pbmNsdWRlcyhyKX0saXNWYWxpZE51bWJlcjpveixpc1ZhbGlkT2JqZWN0Om9CLGlzVmFsaWRQYXJhbXM6ZnVuY3Rpb24gZSh0KXtyZXR1cm4idSI+dHlwZW9mIHR9LGlzVmFsaWRSZWxheTpvSixpc1ZhbGlkUmVsYXlzOmZ1bmN0aW9uIGUodCxuKXtsZXQgcj0hMTtyZXR1cm4gbiYmIXQ/cj0hMDp0JiZvVSh0KSYmdC5sZW5ndGgmJnQuZm9yRWFjaChlPT57cj1vSihlKX0pLHJ9LGlzVmFsaWRSZXF1ZXN0OmZ1bmN0aW9uIGUodCl7cmV0dXJuIShvVyh0KXx8IW9GKHQubWV0aG9kLCExKSl9LGlzVmFsaWRSZXF1ZXN0RXhwaXJ5OmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gb3oodCwhMSkmJnQ8PW4ubWF4JiZ0Pj1uLm1pbn0saXNWYWxpZFJlcXVpcmVkTmFtZXNwYWNlczpmdW5jdGlvbiBlKHQsbixyKXtsZXQgaT1udWxsO2lmKHQmJm9CKHQpKXtsZXQgbz1vUSh0LG4pO28mJihpPW8pO2xldCBhPW9WKHQsbik7YSYmKGk9YSl9ZWxzZSBpPW85KCJNSVNTSU5HX09SX0lOVkFMSUQiLGAke259LCAke3J9IHNob3VsZCBiZSBhbiBvYmplY3Qgd2l0aCBkYXRhYCk7cmV0dXJuIGl9LGlzVmFsaWRSZXNwb25zZTpmdW5jdGlvbiBlKHQpe3JldHVybiEob1codCl8fG9XKHQucmVzdWx0KSYmb1codC5lcnJvcil8fCFveih0LmlkLCExKXx8IW9GKHQuanNvbnJwYywhMSkpfSxpc1ZhbGlkU3RyaW5nOm9GLGlzVmFsaWRVcmw6ZnVuY3Rpb24gZSh0KXtpZihvRih0LCExKSl0cnl7cmV0dXJuInUiPnR5cGVvZiBuZXcgVVJMKHQpfWNhdGNoe31yZXR1cm4hMX0sbWFwRW50cmllczpmdW5jdGlvbiBlKHQsbil7bGV0IHI9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goZT0+e3JbZV09bih0W2VdKX0pLHJ9LG1hcFRvT2JqOmZ1bmN0aW9uIGUodCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyh0LmVudHJpZXMoKSl9LG1lcmdlQXJyYXlzOm8xLG5vcm1hbGl6ZU5hbWVzcGFjZXM6b08sb2JqVG9NYXA6ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IE1hcChPYmplY3QuZW50cmllcyh0KSl9LHBhcnNlQWNjb3VudElkOmliLHBhcnNlQ2hhaW5JZDppMixwYXJzZUNvbnRleHROYW1lczpvaCxwYXJzZUV4cGlyZXJUYXJnZXQ6ZnVuY3Rpb24gZSh0KXtsZXRbbixyXT10LnNwbGl0KCI6IiksaT17aWQ6dm9pZCAwLHRvcGljOnZvaWQgMH07aWYoInRvcGljIj09PW4mJiJzdHJpbmciPT10eXBlb2YgcilpLnRvcGljPXI7ZWxzZSBpZigiaWQiPT09biYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIocikpKWkuaWQ9TnVtYmVyKHIpO2Vsc2UgdGhyb3cgRXJyb3IoYEludmFsaWQgdGFyZ2V0LCBleHBlY3RlZCBpZDpudW1iZXIgb3IgdG9waWM6c3RyaW5nLCBnb3QgJHtufToke3J9YCk7cmV0dXJuIGl9LHBhcnNlTmFtZXNwYWNlS2V5Om9OLHBhcnNlUmVsYXlQYXJhbXM6bzQscGFyc2VUb3BpYzpvYixwYXJzZVVyaTpmdW5jdGlvbiBlKHQpe2xldCBuPXQuaW5kZXhPZigiOiIpLHI9LTEhPT10LmluZGV4T2YoIj8iKT90LmluZGV4T2YoIj8iKTp2b2lkIDAsaT10LnN1YnN0cmluZygwLG4pLG89dC5zdWJzdHJpbmcobisxLHIpLnNwbGl0KCJAIiksYT0idSI+dHlwZW9mIHI/dC5zdWJzdHJpbmcocik6IiIscz1paC5wYXJzZShhKTtyZXR1cm57cHJvdG9jb2w6aSx0b3BpYzpvYihvWzBdKSx2ZXJzaW9uOnBhcnNlSW50KG9bMV0sMTApLHN5bUtleTpzLnN5bUtleSxyZWxheTpvNChzKX19LHNlcmlhbGl6ZTppVyx2YWxpZGF0ZURlY29kaW5nOmZ1bmN0aW9uIGUodCxuKXtsZXQgcj1pRih0KTtyZXR1cm4gaXooe3R5cGU6aUIoci50eXBlKSxzZW5kZXJQdWJsaWNLZXk6InUiPnR5cGVvZiByLnNlbmRlclB1YmxpY0tleT9yayhyLnNlbmRlclB1YmxpY0tleSxpVCk6dm9pZCAwLHJlY2VpdmVyUHVibGljS2V5Om4/LnJlY2VpdmVyUHVibGljS2V5fSl9LHZhbGlkYXRlRW5jb2Rpbmc6aXp9KSxhcj1PKGFuKSxhaT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYWksIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGFpLldlYjNNb2RhbEVycm9yPWFpLkNsaWVudE5vdEluaXRpYWxpemVkRXJyb3I9dm9pZCAwO2NsYXNzIGFvIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigpLE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLGFvLnByb3RvdHlwZSl9fWFpLkNsaWVudE5vdEluaXRpYWxpemVkRXJyb3I9YW87Y2xhc3MgYWEgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxhYS5wcm90b3R5cGUpfX1haS5XZWIzTW9kYWxFcnJvcj1hYSxmdW5jdGlvbih0KXt2YXIgbixyLGksbz1MJiZMLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24oaSxvKXtmdW5jdGlvbiBhKGUpe3RyeXtsKHIubmV4dChlKSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gcyhlKXt0cnl7bChyLnRocm93KGUpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiBsKGUpe3ZhciB0O2UuZG9uZT9pKGUudmFsdWUpOigodD1lLnZhbHVlKWluc3RhbmNlb2Ygbj90Om5ldyBuKGZ1bmN0aW9uKGUpe2UodCl9KSkudGhlbihhLHMpfWwoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfSxhPUwmJkwuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LldhbGxldENvbm5lY3RXYWxsZXQ9dC5XYWxsZXRDb25uZWN0TWV0aG9kcz10LldhbGxldENvbm5lY3RDaGFpbklEPXZvaWQgMDtsZXQgcz10eixsPWEoZSksJD1hcixjPWFpOyhuPXQuV2FsbGV0Q29ubmVjdENoYWluSUR8fCh0LldhbGxldENvbm5lY3RDaGFpbklEPXt9KSkuTWFpbm5ldD0idHJvbjoweDJiNjY1M2RjIixuLlNoYXN0YT0idHJvbjoweDk0YTkwNTllIixuLk5pbGU9InRyb246MHhjZDg2OTBkYyIsKHI9aT10LldhbGxldENvbm5lY3RNZXRob2RzfHwodC5XYWxsZXRDb25uZWN0TWV0aG9kcz17fSkpLnNpZ25UcmFuc2FjdGlvbj0idHJvbl9zaWduVHJhbnNhY3Rpb24iLHIuc2lnbk1lc3NhZ2U9InRyb25fc2lnbk1lc3NhZ2UiO2xldCBoPShlLHQpPT4oe3JlcXVpcmVkTmFtZXNwYWNlczp7dHJvbjp7Y2hhaW5zOltlXSxtZXRob2RzOltpLnNpZ25UcmFuc2FjdGlvbixpLnNpZ25NZXNzYWdlXSxldmVudHM6W119fSxwYWlyaW5nVG9waWM6dH0pO3QuV2FsbGV0Q29ubmVjdFdhbGxldD1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMuX29wdGlvbnM9ZS5vcHRpb25zLHRoaXMuX25ldHdvcms9ZS5uZXR3b3JrLHRoaXMuX3dlYjNNb2RhbENvbmZpZz1lLndlYjNNb2RhbENvbmZpZ3x8e30sdGhpcy53ZWIzTW9kYWw9bmV3IHMuV2ViM01vZGFsKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLl93ZWIzTW9kYWxDb25maWcpLHtwcm9qZWN0SWQ6dGhpcy5fb3B0aW9ucy5wcm9qZWN0SWQsd2FsbGV0Q29ubmVjdFZlcnNpb246Mn0pKX1jb25uZWN0KCl7dmFyIGU7cmV0dXJuIG8odGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2xldCB0PW51bGwhPT0oZT10aGlzLl9jbGllbnQpJiZ2b2lkIDAhPT1lP2U6eWllbGQgbC5kZWZhdWx0LmluaXQodGhpcy5fb3B0aW9ucyksbj10LmZpbmQoaCh0aGlzLl9uZXR3b3JrKSkuZmlsdGVyKGU9PmUuYWNrbm93bGVkZ2VkKTtpZihuLmxlbmd0aCl7dGhpcy5fc2Vzc2lvbj1uW24ubGVuZ3RoLTFdLHRoaXMuX2NsaWVudD10LHRoaXMuX2NsaWVudD10O2xldCByPU9iamVjdC52YWx1ZXModGhpcy5fc2Vzc2lvbi5uYW1lc3BhY2VzKS5tYXAoZT0+ZS5hY2NvdW50cykuZmxhdCgpO3JldHVybiB0aGlzLmFkZHJlc3M9clswXS5zcGxpdCgiOiIpWzJdLHthZGRyZXNzOnRoaXMuYWRkcmVzc319e2xldHt1cmk6aSxhcHByb3ZhbDpvfT15aWVsZCB0LmNvbm5lY3QoaCh0aGlzLl9uZXR3b3JrKSk7cmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57aSYmKHRoaXMud2ViM01vZGFsLm9wZW5Nb2RhbCh7dXJpOmksc3RhbmRhbG9uZUNoYWluczpbdGhpcy5fbmV0d29ya10scm91dGU6IkNvbm5lY3RXYWxsZXQifSksdGhpcy53ZWIzTW9kYWwuc3Vic2NyaWJlTW9kYWwoZT0+eyExPT09ZS5vcGVuJiZuKG5ldyBjLldlYjNNb2RhbEVycm9yKCJNb2RhbCBpcyBjbG9zZWQuIikpfSkpLG8oKS50aGVuKG49Pnt0aGlzLl9zZXNzaW9uPW4sdGhpcy5fY2xpZW50PXQ7bGV0IHI9T2JqZWN0LnZhbHVlcyh0aGlzLl9zZXNzaW9uLm5hbWVzcGFjZXMpLm1hcChlPT5lLmFjY291bnRzKS5mbGF0KCk7dGhpcy5hZGRyZXNzPXJbMF0uc3BsaXQoIjoiKVsyXSxlKHthZGRyZXNzOnRoaXMuYWRkcmVzc30pfSkuY2F0Y2gobikuZmluYWxseSgoKT0+e3RoaXMud2ViM01vZGFsLmNsb3NlTW9kYWwoKX0pfSl9fSl9ZGlzY29ubmVjdCgpe3JldHVybiBvKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtpZih0aGlzLl9jbGllbnQmJnRoaXMuX3Nlc3Npb24peWllbGQgdGhpcy5fY2xpZW50LmRpc2Nvbm5lY3Qoe3RvcGljOnRoaXMuX3Nlc3Npb24udG9waWMscmVhc29uOigwLCQuZ2V0U2RrRXJyb3IpKCJVU0VSX0RJU0NPTk5FQ1RFRCIpfSksdGhpcy5fc2Vzc2lvbj12b2lkIDA7ZWxzZSB0aHJvdyBuZXcgYy5DbGllbnROb3RJbml0aWFsaXplZEVycm9yfSl9Z2V0IGNsaWVudCgpe2lmKHRoaXMuX2NsaWVudClyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSx0aGlzLl9jbGllbnQse29mZjp0aGlzLl9jbGllbnQucmVtb3ZlTGlzdGVuZXJ9KTt0aHJvdyBuZXcgYy5DbGllbnROb3RJbml0aWFsaXplZEVycm9yfWNoZWNrQ29ubmVjdFN0YXR1cygpe3ZhciBlO3JldHVybiBvKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtsZXQgdD1udWxsIT09KGU9dGhpcy5fY2xpZW50KSYmdm9pZCAwIT09ZT9lOnlpZWxkIGwuZGVmYXVsdC5pbml0KHRoaXMuX29wdGlvbnMpLG49dC5maW5kKGgodGhpcy5fbmV0d29yaykpLmZpbHRlcihlPT5lLmFja25vd2xlZGdlZCk7aWYoIW4ubGVuZ3RoKXJldHVybnthZGRyZXNzOiIifTt7dGhpcy5fc2Vzc2lvbj1uW24ubGVuZ3RoLTFdLHRoaXMuX2NsaWVudD10O2xldCByPU9iamVjdC52YWx1ZXModGhpcy5fc2Vzc2lvbi5uYW1lc3BhY2VzKS5tYXAoZT0+ZS5hY2NvdW50cykuZmxhdCgpO3JldHVybiB0aGlzLmFkZHJlc3M9clswXS5zcGxpdCgiOiIpWzJdLHthZGRyZXNzOnRoaXMuYWRkcmVzc319fSl9c2lnblRyYW5zYWN0aW9uKGUpe3JldHVybiBvKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtpZih0aGlzLl9jbGllbnQmJnRoaXMuX3Nlc3Npb24pe2xldHtyZXN1bHQ6dH09eWllbGQgdGhpcy5fY2xpZW50LnJlcXVlc3Qoe2NoYWluSWQ6dGhpcy5fbmV0d29yayx0b3BpYzp0aGlzLl9zZXNzaW9uLnRvcGljLHJlcXVlc3Q6e21ldGhvZDppLnNpZ25UcmFuc2FjdGlvbixwYXJhbXM6e2FkZHJlc3M6dGhpcy5hZGRyZXNzLHRyYW5zYWN0aW9uOk9iamVjdC5hc3NpZ24oe30sZSl9fX0pO3JldHVybiB0fXRocm93IG5ldyBjLkNsaWVudE5vdEluaXRpYWxpemVkRXJyb3J9KX1zaWduTWVzc2FnZShlKXtyZXR1cm4gbyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7aWYodGhpcy5fY2xpZW50JiZ0aGlzLl9zZXNzaW9uKXtsZXR7c2lnbmF0dXJlOnR9PXlpZWxkIHRoaXMuX2NsaWVudC5yZXF1ZXN0KHtjaGFpbklkOnRoaXMuX25ldHdvcmssdG9waWM6dGhpcy5fc2Vzc2lvbi50b3BpYyxyZXF1ZXN0OnttZXRob2Q6aS5zaWduTWVzc2FnZSxwYXJhbXM6e2FkZHJlc3M6dGhpcy5hZGRyZXNzLG1lc3NhZ2U6ZX19fSk7cmV0dXJuIHR9dGhyb3cgbmV3IGMuQ2xpZW50Tm90SW5pdGlhbGl6ZWRFcnJvcn0pfX19KHEpLGxaPUssbFk9TCYmTC5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxuLHIpe3ZvaWQgMD09PXImJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fCgiZ2V0ImluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfTpmdW5jdGlvbihlLHQsbixyKXt2b2lkIDA9PT1yJiYocj1uKSxlW3JdPXRbbl19KSxsVj1MJiZMLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gZSkiZGVmYXVsdCI9PT1ufHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKXx8bFkodCxlLG4pfSxsRz1MJiZMLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fSxPYmplY3QuZGVmaW5lUHJvcGVydHkobFosIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGxaLldhbGxldENvbm5lY3RDbGllbnQ9dm9pZCAwLGxWKHEsbFopLGxWKGFpLGxaKSxsSz1lLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsWiwiV2FsbGV0Q29ubmVjdENsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxHKGxLKS5kZWZhdWx0fX0pLGZ1bmN0aW9uKGUpe3ZhciB0PUwmJkwuX19hd2FpdGVyfHxmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKShmdW5jdGlvbihpLG8pe2Z1bmN0aW9uIGEoZSl7dHJ5e2woci5uZXh0KGUpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiBzKGUpe3RyeXtsKHIudGhyb3coZSkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIGwoZSl7dmFyIHQ7ZS5kb25lP2koZS52YWx1ZSk6KCh0PWUudmFsdWUpaW5zdGFuY2VvZiBuP3Q6bmV3IG4oZnVuY3Rpb24oZSl7ZSh0KX0pKS50aGVuKGEscyl9bCgocj1yLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLldhbGxldENvbm5lY3RBZGFwdGVyPWUuV2FsbGV0Q29ubmVjdFdhbGxldE5hbWU9dm9pZCAwO2xldCBuPVIscj1LO2UuV2FsbGV0Q29ubmVjdFdhbGxldE5hbWU9IldhbGxldENvbm5lY3QiO2xldCBpPU9iamVjdC5rZXlzKFIuQ2hhaW5OZXR3b3JrKTtjbGFzcyBvIGV4dGVuZHMgbi5BZGFwdGVye2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy5uYW1lPWUuV2FsbGV0Q29ubmVjdFdhbGxldE5hbWUsdGhpcy51cmw9Imh0dHBzOi8vd2FsbGV0Y29ubmVjdC5vcmciLHRoaXMuaWNvbj0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpBd0lpQm9aV2xuYUhROUlqTXdNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4Y0dGMGFDQmtQU0p0TmpFdU5ETTROVFFzT1RRdU1EQXpPR00wT0M0NU1URXlNeXd0TkRjdU9EZzRNVGNnTVRJNExqSXhNVGs1TEMwME55NDRPRGd4TnlBeE56Y3VNVEl6TWpFc01HdzFMamc0TmpVMUxEVXVOell6TkRKak1pNDBORFUxTml3eUxqTTVORFF4SURJdU5EUTFOVFlzTmk0eU56WTFNU0F3TERndU5qY3dPVEpzTFRJd0xqRXpOamNzTVRrdU56RTFOV010TVM0eU1qSTNPQ3d4TGpFNU56SXhJQzB6TGpJd05UTXNNUzR4T1RjeU1TQXROQzQwTWpnd09Dd3diQzA0TGpFd01EVTRMQzAzTGprek1URTFZeTB6TkM0eE1qRTJPU3d0TXpNdU5EQTNPVGdnTFRnNUxqUTBNemc1TEMwek15NDBNRGM1T0NBdE1USXpMalUyTlRVNExEQnNMVGd1TmpjMU1EWXNPQzQwT1RNMk1XTXRNUzR5TWpJM09Dd3hMakU1TnpJZ0xUTXVNakExTXl3eExqRTVOeklnTFRRdU5ESTRNRGdzTUd3dE1qQXVNVE0yTmprc0xURTVMamN4TlRWakxUSXVORFExTlRZc0xUSXVNemswTkRFZ0xUSXVORFExTlRZc0xUWXVNamMyTlRJZ01Dd3RPQzQyTnpBNU1tdzJMalEyTVRBeExDMDJMak15TlRnNGVtMHlNVGd1TnpZM09DdzBNQzQzTnpNM05Xd3hOeTQ1TWpFM0xERTNMalUwTmpnNVl6SXVORFExTlRRc01pNHpPVFEwSURJdU5EUTFOVFlzTmk0eU56WTBPQ0F3TGpBd01EQXpMRGd1Tmpjd09EbHNMVGd3TGpneE1ERTNMRGM1TGpFeU1URTBZeTB5TGpRME5UVTFMREl1TXprME5ESWdMVFl1TkRFd05Ua3NNaTR6T1RRME5TQXRPQzQ0TlRZeE5pd3dMakF3TURBMll5MHdMakF3TURBeExDMHdMakF3TURBeElDMHdMakF3TURBekxDMHdMakF3TURBeUlDMHdMakF3TURBMExDMHdMakF3TURBemJDMDFOeTR6TlRReE5Dd3ROVFl1TVRVME5UaGpMVEF1TmpFeE16a3NMVEF1TlRrNE5pQXRNUzQyTURJMk5Td3RNQzQxT1RnMklDMHlMakl4TkRBMExEQmpNQ3d3TGpBd01EQXhJQzB3TGpBd01EQXhMREF1TURBd01ERWdMVEF1TURBd01ERXNNQzR3TURBd01td3ROVGN1TXpVeU9USXNOVFl1TVRVME5UTmpMVEl1TkRRMU5UUXNNaTR6T1RRME15QXROaTQwTVRBMU9Dd3lMak01TkRRM0lDMDRMamcxTmpFMkxEQXVNREF3TURoakxUQXVNREF3TURJc0xUQXVNREF3TURFZ0xUQXVNREF3TURNc0xUQXVNREF3TURJZ0xUQXVNREF3TURVc0xUQXVNREF3TURSc0xUZ3dMamd4TWpReUxDMDNPUzR4TWpJeE9XTXRNaTQwTkRVMU5pd3RNaTR6T1RRMElDMHlMalEwTlRVMkxDMDJMakkzTmpVeElEQXNMVGd1Tmpjd09URnNNVGN1T1RJeE56TXNMVEUzTGpVME5qZzNZekl1TkRRMU5UWXNMVEl1TXprME5ERWdOaTQwTVRBMkxDMHlMak01TkRReElEZ3VPRFUyTVRZc01HdzFOeTR6TlRRNU9DdzFOaTR4TlRVek5XTXdMall4TVRNNUxEQXVOVGs0TmpFZ01TNDJNREkyTlN3d0xqVTVPRFl4SURJdU1qRTBNRFFzTUdNd0xqQXdNREF4TERBZ01DNHdNREF3TWl3dE1DNHdNREF3TVNBd0xqQXdNREF6TEMwd0xqQXdNREF5YkRVM0xqTTFNakVzTFRVMkxqRTFOVE16WXpJdU5EUTFOU3d0TWk0ek9UUTBOeUEyTGpReE1EVTBMQzB5TGpNNU5EVTJJRGd1T0RVMk1UWXNMVEF1TURBd01tTXdMakF3TURBekxEQXVNREF3TURNZ01DNHdNREF3Tnl3d0xqQXdNREEzSURBdU1EQXdNU3d3TGpBd01ERnNOVGN1TXpVME9TdzFOaTR4TlRVME0yTXdMall4TVRNNUxEQXVOVGs0TmlBeExqWXdNalkxTERBdU5UazROaUF5TGpJeE5EQTBMREJzTlRjdU16VXpPVGdzTFRVMkxqRTFORE15WXpJdU5EUTFOVFlzTFRJdU16azBOREVnTmk0ME1UQTJMQzB5TGpNNU5EUXhJRGd1T0RVMk1UWXNNSG9pSUdacGJHdzlJaU16WWprNVptTWlJR2xrUFNKemRtZGZNU0l2UGp3dmMzWm5QZz09Iix0aGlzLl9yZWFkeVN0YXRlPW4uV2FsbGV0UmVhZHlTdGF0ZS5Gb3VuZCx0aGlzLl9zdGF0ZT1uLkFkYXB0ZXJTdGF0ZS5EaXNjb25uZWN0LHRoaXMuX2Rpc2Nvbm5lY3RlZD0oKT0+e2xldCBlPXRoaXMuX3dhbGxldDtlJiYoZS5jbGllbnQub2ZmKCJzZXNzaW9uX2RlbGV0ZSIsdGhpcy5fZGlzY29ubmVjdGVkKSx0aGlzLl93YWxsZXQ9bnVsbCx0aGlzLl9hZGRyZXNzPW51bGwsdGhpcy5fc3RhdGU9bi5BZGFwdGVyU3RhdGUuRGlzY29ubmVjdCx0aGlzLmVtaXQoImRpc2Nvbm5lY3QiKSx0aGlzLmVtaXQoInN0YXRlQ2hhbmdlZCIsdGhpcy5fc3RhdGUpKX0sISh0PU9iamVjdC5hc3NpZ24oe30sdCkpfHwib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoIltXYWxsZXRjb25uZWN0QWRhcHRlcl0gY29uZmlnIGlzIHJlcXVpcmVkLiIpO2lmKGkuaW5jbHVkZXModC5uZXR3b3JrKXx8KGNvbnNvbGUuZXJyb3IoYFtXYWxsZXRjb25uZWN0QWRhcHRlcl0gY29uZmlnLm5ldHdvcmsgbXVzdCBiZSBvbmUgb2YgJHtpLmpvaW4oKX0uIFVzZSBOaWxlIG5ldHdvcmsgaW5zdGVhZC5gKSx0Lm5ldHdvcms9Ik5pbGUiKSwhdC5vcHRpb25zKXRocm93IEVycm9yKCJbV2FsbGV0Y29ubmVjdEFkYXB0ZXJdIGNvbmZpZy5vcHRpb25zIGlzIHJlcXVpcmVkLiIpO3RoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fd2FsbGV0PW51bGwsdGhpcy5fYWRkcmVzcz1udWxsLHRoaXMuX2NvbmZpZz10fWdldCBhZGRyZXNzKCl7cmV0dXJuIHRoaXMuX2FkZHJlc3N9Z2V0IHJlYWR5U3RhdGUoKXtyZXR1cm4gdGhpcy5fcmVhZHlTdGF0ZX1nZXQgc3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGV9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGluZ31jb25uZWN0KCl7cmV0dXJuIHQodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtpZih0aGlzLmNvbm5lY3RlZHx8dGhpcy5jb25uZWN0aW5nKXJldHVybjtpZih0aGlzLnN0YXRlPT09bi5BZGFwdGVyU3RhdGUuTm90Rm91bmQpdGhyb3cgbmV3IG4uV2FsbGV0Tm90Rm91bmRFcnJvcjt0aGlzLl9jb25uZWN0aW5nPSEwO2xldCBlLHQ7dHJ5e2U9bmV3IHIuV2FsbGV0Q29ubmVjdFdhbGxldCh7bmV0d29yazpyLldhbGxldENvbm5lY3RDaGFpbklEW3RoaXMuX2NvbmZpZy5uZXR3b3JrXXx8ci5XYWxsZXRDb25uZWN0Q2hhaW5JRC5OaWxlLG9wdGlvbnM6dGhpcy5fY29uZmlnLm9wdGlvbnMsd2ViM01vZGFsQ29uZmlnOnRoaXMuX2NvbmZpZy53ZWIzTW9kYWxDb25maWd9KSx7YWRkcmVzczp0fT15aWVsZCBlLmNvbm5lY3QoKX1jYXRjaChpKXtpZigiV2ViM01vZGFsRXJyb3IiPT09aS5jb25zdHJ1Y3Rvci5uYW1lKXRocm93IG5ldyBuLldhbGxldFdpbmRvd0Nsb3NlZEVycm9yO3Rocm93IG5ldyBuLldhbGxldENvbm5lY3Rpb25FcnJvcihudWxsPT1pP3ZvaWQgMDppLm1lc3NhZ2UsaSl9ZS5jbGllbnQub24oInNlc3Npb25fZGVsZXRlIix0aGlzLl9kaXNjb25uZWN0ZWQpLHRoaXMuX3dhbGxldD1lLHRoaXMuX2FkZHJlc3M9dHx8IiIsdGhpcy5fc3RhdGU9bi5BZGFwdGVyU3RhdGUuQ29ubmVjdGVkLHRoaXMuZW1pdCgic3RhdGVDaGFuZ2VkIix0aGlzLl9zdGF0ZSksdGhpcy5lbWl0KCJjb25uZWN0Iix0KX1jYXRjaChvKXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIixvKSxvfWZpbmFsbHl7dGhpcy5fY29ubmVjdGluZz0hMX19KX1zdGF0aWMgZ2V0V2FsbGV0Q29ubmVjdFdhbGxldCgpe3JldHVybiByLldhbGxldENvbm5lY3RXYWxsZXR9ZGlzY29ubmVjdCgpe3JldHVybiB0KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtpZih0aGlzLnN0YXRlPT09bi5BZGFwdGVyU3RhdGUuTm90Rm91bmQpcmV0dXJuO2xldCBlPXRoaXMuX3dhbGxldDtpZihlKXtlLmNsaWVudC5vZmYoInNlc3Npb25fZGVsZXRlIix0aGlzLl9kaXNjb25uZWN0ZWQpLHRoaXMuX3dhbGxldD1udWxsLHRoaXMuX2FkZHJlc3M9bnVsbDt0cnl7eWllbGQgZS5kaXNjb25uZWN0KCl9Y2F0Y2godCl7dGhpcy5lbWl0KCJlcnJvciIsbmV3IG4uV2FsbGV0RGlzY29ubmVjdGlvbkVycm9yKG51bGw9PXQ/dm9pZCAwOnQubWVzc2FnZSx0KSl9fXRoaXMuX3N0YXRlPW4uQWRhcHRlclN0YXRlLkRpc2Nvbm5lY3QsdGhpcy5lbWl0KCJkaXNjb25uZWN0IiksdGhpcy5lbWl0KCJzdGF0ZUNoYW5nZWQiLHRoaXMuX3N0YXRlKX0pfXNpZ25UcmFuc2FjdGlvbihlKXtyZXR1cm4gdCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7aWYodGhpcy5zdGF0ZSE9PW4uQWRhcHRlclN0YXRlLkNvbm5lY3RlZCl0aHJvdyBuZXcgbi5XYWxsZXREaXNjb25uZWN0ZWRFcnJvcjt0cnl7bGV0IHQ9dGhpcy5fd2FsbGV0O2lmKCF0KXRocm93IG5ldyBuLldhbGxldERpc2Nvbm5lY3RlZEVycm9yO3RyeXtyZXR1cm4geWllbGQgdC5zaWduVHJhbnNhY3Rpb24oe3RyYW5zYWN0aW9uOmV9KX1jYXRjaChyKXt0aHJvdyBuZXcgbi5XYWxsZXRTaWduVHJhbnNhY3Rpb25FcnJvcihudWxsPT1yP3ZvaWQgMDpyLm1lc3NhZ2Uscil9fWNhdGNoKGkpe3Rocm93IHRoaXMuZW1pdCgiZXJyb3IiLGkpLGl9fSl9c2lnbk1lc3NhZ2UoZSl7cmV0dXJuIHQodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtsZXQgdD10aGlzLl93YWxsZXQ7aWYoIXQpdGhyb3cgbmV3IG4uV2FsbGV0RGlzY29ubmVjdGVkRXJyb3I7dHJ5e3JldHVybiB5aWVsZCB0LnNpZ25NZXNzYWdlKGUpfWNhdGNoKHIpe3Rocm93IG5ldyBuLldhbGxldFNpZ25NZXNzYWdlRXJyb3IobnVsbD09cj92b2lkIDA6ci5tZXNzYWdlLHIpfX1jYXRjaChpKXt0aHJvdyB0aGlzLmVtaXQoImVycm9yIixpKSxpfX0pfX1lLldhbGxldENvbm5lY3RBZGFwdGVyPW99KFApLGxxPU0sbFE9TCYmTC5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxuLHIpe3ZvaWQgMD09PXImJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fCgiZ2V0ImluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfTpmdW5jdGlvbihlLHQsbixyKXt2b2lkIDA9PT1yJiYocj1uKSxlW3JdPXRbbl19KSxsWD1MJiZMLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gZSkiZGVmYXVsdCI9PT1ufHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKXx8bFEodCxlLG4pfSxPYmplY3QuZGVmaW5lUHJvcGVydHkobHEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGxYKFAsbHEpO3ZhciBhcz1OKE0pOy8qKgoJICogQGxpY2Vuc2UKCSAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKCSAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKCSAqLyBsZXQgYWw9d2luZG93LGEkPWFsLlNoYWRvd1Jvb3QmJih2b2lkIDA9PT1hbC5TaGFkeUNTU3x8YWwuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5wcm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLGFjPVN5bWJvbCgpLGFoPW5ldyBXZWFrTWFwLGF1PWNsYXNzIGV7Y29uc3RydWN0b3IoZSx0LG4pe2lmKHRoaXMuXyRjc3NSZXN1bHQkPSEwLG4hPT1hYyl0aHJvdyBFcnJvcigiQ1NTUmVzdWx0IGlzIG5vdCBjb25zdHJ1Y3RhYmxlLiBVc2UgYHVuc2FmZUNTU2Agb3IgYGNzc2AgaW5zdGVhZC4iKTt0aGlzLmNzc1RleHQ9ZSx0aGlzLnQ9dH1nZXQgc3R5bGVTaGVldCgpe2xldCBlPXRoaXMubyx0PXRoaXMudDtpZihhJCYmdm9pZCAwPT09ZSl7bGV0IG49dm9pZCAwIT09dCYmMT09PXQubGVuZ3RoO24mJihlPWFoLmdldCh0KSksdm9pZCAwPT09ZSYmKCh0aGlzLm89ZT1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxuJiZhaC5zZXQodCxlKSl9cmV0dXJuIGV9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3NUZXh0fX0sYWQ9ZT0+bmV3IGF1KCJzdHJpbmciPT10eXBlb2YgZT9lOmUrIiIsdm9pZCAwLGFjKSxhXz0oZSwuLi50KT0+e2xldCBuPTE9PT1lLmxlbmd0aD9lWzBdOnQucmVkdWNlKCh0LG4scik9PnQrKGU9PntpZighMD09PWUuXyRjc3NSZXN1bHQkKXJldHVybiBlLmNzc1RleHQ7aWYoIm51bWJlciI9PXR5cGVvZiBlKXJldHVybiBlO3Rocm93IEVycm9yKCJWYWx1ZSBwYXNzZWQgdG8gJ2NzcycgZnVuY3Rpb24gbXVzdCBiZSBhICdjc3MnIGZ1bmN0aW9uIHJlc3VsdDogIitlKyIuIFVzZSAndW5zYWZlQ1NTJyB0byBwYXNzIG5vbi1saXRlcmFsIHZhbHVlcywgYnV0IHRha2UgY2FyZSB0byBlbnN1cmUgcGFnZSBzZWN1cml0eS4iKX0pKG4pK2VbcisxXSxlWzBdKTtyZXR1cm4gbmV3IGF1KG4sZSxhYyl9LGFmPShlLHQpPT57YSQ/ZS5hZG9wdGVkU3R5bGVTaGVldHM9dC5tYXAoZT0+ZSBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/ZTplLnN0eWxlU2hlZXQpOnQuZm9yRWFjaCh0PT57bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxyPWFsLmxpdE5vbmNlO3ZvaWQgMCE9PXImJm4uc2V0QXR0cmlidXRlKCJub25jZSIsciksbi50ZXh0Q29udGVudD10LmNzc1RleHQsZS5hcHBlbmRDaGlsZChuKX0pfSxhcD1hJD9lPT5lOmU9PmUgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0PyhlPT57bGV0IHQ9IiI7Zm9yKGxldCBuIG9mIGUuY3NzUnVsZXMpdCs9bi5jc3NUZXh0O3JldHVybiBhZCh0KX0pKGUpOmUsYTE9d2luZG93LGEwPWExLnRydXN0ZWRUeXBlcyxhZz1hMD9hMC5lbXB0eVNjcmlwdDoiIixhbT1hMS5yZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQsYTM9e3RvQXR0cmlidXRlKGUsdCl7c3dpdGNoKHQpe2Nhc2UgQm9vbGVhbjplPWU/YWc6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OmU9bnVsbD09ZT9lOkpTT04uc3RyaW5naWZ5KGUpfXJldHVybiBlfSxmcm9tQXR0cmlidXRlKGUsdCl7bGV0IG49ZTtzd2l0Y2godCl7Y2FzZSBCb29sZWFuOm49bnVsbCE9PWU7YnJlYWs7Y2FzZSBOdW1iZXI6bj1udWxsPT09ZT9udWxsOk51bWJlcihlKTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXtuPUpTT04ucGFyc2UoZSl9Y2F0Y2gocil7bj1udWxsfX1yZXR1cm4gbn19LGF3PShlLHQpPT50IT09ZSYmKHQ9PXR8fGU9PWUpLGF2PXthdHRyaWJ1dGU6ITAsdHlwZTpTdHJpbmcsY29udmVydGVyOmEzLHJlZmxlY3Q6ITEsaGFzQ2hhbmdlZDphd30sYTI9ImZpbmFsaXplZCIsYTQ9Y2xhc3MgZSBleHRlbmRzIEhUTUxFbGVtZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl8kRWk9bmV3IE1hcCx0aGlzLmlzVXBkYXRlUGVuZGluZz0hMSx0aGlzLmhhc1VwZGF0ZWQ9ITEsdGhpcy5fJEVsPW51bGwsdGhpcy51KCl9c3RhdGljIGFkZEluaXRpYWxpemVyKGUpe3ZhciB0O3RoaXMuZmluYWxpemUoKSwobnVsbCE9PSh0PXRoaXMuaCkmJnZvaWQgMCE9PXQ/dDp0aGlzLmg9W10pLnB1c2goZSl9c3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKXt0aGlzLmZpbmFsaXplKCk7bGV0IGU9W107cmV0dXJuIHRoaXMuZWxlbWVudFByb3BlcnRpZXMuZm9yRWFjaCgodCxuKT0+e2xldCByPXRoaXMuXyRFcChuLHQpO3ZvaWQgMCE9PXImJih0aGlzLl8kRXYuc2V0KHIsbiksZS5wdXNoKHIpKX0pLGV9c3RhdGljIGNyZWF0ZVByb3BlcnR5KGUsdD1hdil7aWYodC5zdGF0ZSYmKHQuYXR0cmlidXRlPSExKSx0aGlzLmZpbmFsaXplKCksdGhpcy5lbGVtZW50UHJvcGVydGllcy5zZXQoZSx0KSwhdC5ub0FjY2Vzc29yJiYhdGhpcy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoZSkpe2xldCBuPSJzeW1ib2wiPT10eXBlb2YgZT9TeW1ib2woKToiX18iK2Uscj10aGlzLmdldFByb3BlcnR5RGVzY3JpcHRvcihlLG4sdCk7dm9pZCAwIT09ciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMucHJvdG90eXBlLGUscil9fXN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IoZSx0LG4pe3JldHVybntnZXQoKXtyZXR1cm4gdGhpc1t0XX0sc2V0KHIpe2xldCBpPXRoaXNbZV07dGhpc1t0XT1yLHRoaXMucmVxdWVzdFVwZGF0ZShlLGksbil9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1zdGF0aWMgZ2V0UHJvcGVydHlPcHRpb25zKGUpe3JldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmdldChlKXx8YXZ9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShhMikpcmV0dXJuITE7dGhpc1thMl09ITA7bGV0IGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpO2lmKGUuZmluYWxpemUoKSx2b2lkIDAhPT1lLmgmJih0aGlzLmg9Wy4uLmUuaF0pLHRoaXMuZWxlbWVudFByb3BlcnRpZXM9bmV3IE1hcChlLmVsZW1lbnRQcm9wZXJ0aWVzKSx0aGlzLl8kRXY9bmV3IE1hcCx0aGlzLmhhc093blByb3BlcnR5KCJwcm9wZXJ0aWVzIikpe2xldCB0PXRoaXMucHJvcGVydGllcyxuPVsuLi5PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSwuLi5PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpXTtmb3IobGV0IHIgb2Ygbil0aGlzLmNyZWF0ZVByb3BlcnR5KHIsdFtyXSl9cmV0dXJuIHRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKSwhMH1zdGF0aWMgZmluYWxpemVTdHlsZXMoZSl7bGV0IHQ9W107aWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IG49bmV3IFNldChlLmZsYXQoMS8wKS5yZXZlcnNlKCkpO2ZvcihsZXQgciBvZiBuKXQudW5zaGlmdChhcChyKSl9ZWxzZSB2b2lkIDAhPT1lJiZ0LnB1c2goYXAoZSkpO3JldHVybiB0fXN0YXRpYyBfJEVwKGUsdCl7bGV0IG49dC5hdHRyaWJ1dGU7cmV0dXJuITE9PT1uP3ZvaWQgMDoic3RyaW5nIj09dHlwZW9mIG4/bjoic3RyaW5nIj09dHlwZW9mIGU/ZS50b0xvd2VyQ2FzZSgpOnZvaWQgMH11KCl7dmFyIGU7dGhpcy5fJEVfPW5ldyBQcm9taXNlKGU9PnRoaXMuZW5hYmxlVXBkYXRpbmc9ZSksdGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5fJEVnKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCksbnVsbD09PShlPXRoaXMuY29uc3RydWN0b3IuaCl8fHZvaWQgMD09PWV8fGUuZm9yRWFjaChlPT5lKHRoaXMpKX1hZGRDb250cm9sbGVyKGUpe3ZhciB0LG47KG51bGwhPT0odD10aGlzLl8kRVMpJiZ2b2lkIDAhPT10P3Q6dGhpcy5fJEVTPVtdKS5wdXNoKGUpLHZvaWQgMCE9PXRoaXMucmVuZGVyUm9vdCYmdGhpcy5pc0Nvbm5lY3RlZCYmKG51bGw9PT0obj1lLmhvc3RDb25uZWN0ZWQpfHx2b2lkIDA9PT1ufHxuLmNhbGwoZSkpfXJlbW92ZUNvbnRyb2xsZXIoZSl7dmFyIHQ7bnVsbD09PSh0PXRoaXMuXyRFUyl8fHZvaWQgMD09PXR8fHQuc3BsaWNlKHRoaXMuXyRFUy5pbmRleE9mKGUpPj4+MCwxKX1fJEVnKCl7dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5mb3JFYWNoKChlLHQpPT57dGhpcy5oYXNPd25Qcm9wZXJ0eSh0KSYmKHRoaXMuXyRFaS5zZXQodCx0aGlzW3RdKSxkZWxldGUgdGhpc1t0XSl9KX1jcmVhdGVSZW5kZXJSb290KCl7dmFyIGU7bGV0IHQ9bnVsbCE9PShlPXRoaXMuc2hhZG93Um9vdCkmJnZvaWQgMCE9PWU/ZTp0aGlzLmF0dGFjaFNoYWRvdyh0aGlzLmNvbnN0cnVjdG9yLnNoYWRvd1Jvb3RPcHRpb25zKTtyZXR1cm4gYWYodCx0aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRTdHlsZXMpLHR9Y29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTt2b2lkIDA9PT10aGlzLnJlbmRlclJvb3QmJih0aGlzLnJlbmRlclJvb3Q9dGhpcy5jcmVhdGVSZW5kZXJSb290KCkpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLG51bGw9PT0oZT10aGlzLl8kRVMpfHx2b2lkIDA9PT1lfHxlLmZvckVhY2goZT0+e3ZhciB0O3JldHVybiBudWxsPT09KHQ9ZS5ob3N0Q29ubmVjdGVkKXx8dm9pZCAwPT09dD92b2lkIDA6dC5jYWxsKGUpfSl9ZW5hYmxlVXBkYXRpbmcoZSl7fWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09PShlPXRoaXMuXyRFUyl8fHZvaWQgMD09PWV8fGUuZm9yRWFjaChlPT57dmFyIHQ7cmV0dXJuIG51bGw9PT0odD1lLmhvc3REaXNjb25uZWN0ZWQpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmNhbGwoZSl9KX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soZSx0LG4pe3RoaXMuXyRBSyhlLG4pfV8kRU8oZSx0LG49YXYpe3ZhciByO2xldCBpPXRoaXMuY29uc3RydWN0b3IuXyRFcChlLG4pO2lmKHZvaWQgMCE9PWkmJiEwPT09bi5yZWZsZWN0KXtsZXQgbz0odm9pZCAwIT09KG51bGw9PT0ocj1uLmNvbnZlcnRlcil8fHZvaWQgMD09PXI/dm9pZCAwOnIudG9BdHRyaWJ1dGUpP24uY29udmVydGVyOmEzKS50b0F0dHJpYnV0ZSh0LG4udHlwZSk7dGhpcy5fJEVsPWUsbnVsbD09bz90aGlzLnJlbW92ZUF0dHJpYnV0ZShpKTp0aGlzLnNldEF0dHJpYnV0ZShpLG8pLHRoaXMuXyRFbD1udWxsfX1fJEFLKGUsdCl7dmFyIG47bGV0IHI9dGhpcy5jb25zdHJ1Y3RvcixpPXIuXyRFdi5nZXQoZSk7aWYodm9pZCAwIT09aSYmdGhpcy5fJEVsIT09aSl7bGV0IG89ci5nZXRQcm9wZXJ0eU9wdGlvbnMoaSksYT0iZnVuY3Rpb24iPT10eXBlb2Ygby5jb252ZXJ0ZXI/e2Zyb21BdHRyaWJ1dGU6by5jb252ZXJ0ZXJ9OnZvaWQgMCE9PShudWxsPT09KG49by5jb252ZXJ0ZXIpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmZyb21BdHRyaWJ1dGUpP28uY29udmVydGVyOmEzO3RoaXMuXyRFbD1pLHRoaXNbaV09YS5mcm9tQXR0cmlidXRlKHQsby50eXBlKSx0aGlzLl8kRWw9bnVsbH19cmVxdWVzdFVwZGF0ZShlLHQsbil7bGV0IHI9ITA7dm9pZCAwIT09ZSYmKCgobj1ufHx0aGlzLmNvbnN0cnVjdG9yLmdldFByb3BlcnR5T3B0aW9ucyhlKSkuaGFzQ2hhbmdlZHx8YXcpKHRoaXNbZV0sdCk/KHRoaXMuXyRBTC5oYXMoZSl8fHRoaXMuXyRBTC5zZXQoZSx0KSwhMD09PW4ucmVmbGVjdCYmdGhpcy5fJEVsIT09ZSYmKHZvaWQgMD09PXRoaXMuXyRFQyYmKHRoaXMuXyRFQz1uZXcgTWFwKSx0aGlzLl8kRUMuc2V0KGUsbikpKTpyPSExKSwhdGhpcy5pc1VwZGF0ZVBlbmRpbmcmJnImJih0aGlzLl8kRV89dGhpcy5fJEVqKCkpfWFzeW5jIF8kRWooKXt0aGlzLmlzVXBkYXRlUGVuZGluZz0hMDt0cnl7YXdhaXQgdGhpcy5fJEVffWNhdGNoKGUpe1Byb21pc2UucmVqZWN0KGUpfWxldCB0PXRoaXMuc2NoZWR1bGVVcGRhdGUoKTtyZXR1cm4gbnVsbCE9dCYmYXdhaXQgdCwhdGhpcy5pc1VwZGF0ZVBlbmRpbmd9c2NoZWR1bGVVcGRhdGUoKXtyZXR1cm4gdGhpcy5wZXJmb3JtVXBkYXRlKCl9cGVyZm9ybVVwZGF0ZSgpe3ZhciBlO2lmKCF0aGlzLmlzVXBkYXRlUGVuZGluZylyZXR1cm47dGhpcy5oYXNVcGRhdGVkLHRoaXMuXyRFaSYmKHRoaXMuXyRFaS5mb3JFYWNoKChlLHQpPT50aGlzW3RdPWUpLHRoaXMuXyRFaT12b2lkIDApO2xldCB0PSExLG49dGhpcy5fJEFMO3RyeXsodD10aGlzLnNob3VsZFVwZGF0ZShuKSk/KHRoaXMud2lsbFVwZGF0ZShuKSxudWxsPT09KGU9dGhpcy5fJEVTKXx8dm9pZCAwPT09ZXx8ZS5mb3JFYWNoKGU9Pnt2YXIgdDtyZXR1cm4gbnVsbD09PSh0PWUuaG9zdFVwZGF0ZSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuY2FsbChlKX0pLHRoaXMudXBkYXRlKG4pKTp0aGlzLl8kRWsoKX1jYXRjaChyKXt0aHJvdyB0PSExLHRoaXMuXyRFaygpLHJ9dCYmdGhpcy5fJEFFKG4pfXdpbGxVcGRhdGUoZSl7fV8kQUUoZSl7dmFyIHQ7bnVsbD09PSh0PXRoaXMuXyRFUyl8fHZvaWQgMD09PXR8fHQuZm9yRWFjaChlPT57dmFyIHQ7cmV0dXJuIG51bGw9PT0odD1lLmhvc3RVcGRhdGVkKXx8dm9pZCAwPT09dD92b2lkIDA6dC5jYWxsKGUpfSksdGhpcy5oYXNVcGRhdGVkfHwodGhpcy5oYXNVcGRhdGVkPSEwLHRoaXMuZmlyc3RVcGRhdGVkKGUpKSx0aGlzLnVwZGF0ZWQoZSl9XyRFaygpe3RoaXMuXyRBTD1uZXcgTWFwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExfWdldCB1cGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLmdldFVwZGF0ZUNvbXBsZXRlKCl9Z2V0VXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5fJEVffXNob3VsZFVwZGF0ZShlKXtyZXR1cm4hMH11cGRhdGUoZSl7dm9pZCAwIT09dGhpcy5fJEVDJiYodGhpcy5fJEVDLmZvckVhY2goKGUsdCk9PnRoaXMuXyRFTyh0LHRoaXNbdF0sZSkpLHRoaXMuXyRFQz12b2lkIDApLHRoaXMuXyRFaygpfXVwZGF0ZWQoZSl7fWZpcnN0VXBkYXRlZChlKXt9fTthNFthMl09ITAsYTQuZWxlbWVudFByb3BlcnRpZXM9bmV3IE1hcCxhNC5lbGVtZW50U3R5bGVzPVtdLGE0LnNoYWRvd1Jvb3RPcHRpb25zPXttb2RlOiJvcGVuIn0sbnVsbD09YW18fGFtKHtSZWFjdGl2ZUVsZW1lbnQ6YTR9KSwobnVsbCE9PSh1PWExLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zKSYmdm9pZCAwIT09dT91OmExLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPVtdKS5wdXNoKCIxLjYuMiIpO2xldCBhYj13aW5kb3csYTg9YWIudHJ1c3RlZFR5cGVzLGE2PWE4P2E4LmNyZWF0ZVBvbGljeSgibGl0LWh0bWwiLHtjcmVhdGVIVE1MOmU9PmV9KTp2b2lkIDAsYXk9IiRsaXQkIixhNT1gbGl0JCR7KE1hdGgucmFuZG9tKCkrIiIpLnNsaWNlKDkpfSRgLGF4PSI/IithNSxhNz1gPCR7YXh9PmAsYUU9ZG9jdW1lbnQsYUM9KCk9PmFFLmNyZWF0ZUNvbW1lbnQoIiIpLGFEPWU9Pm51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlLGFrPUFycmF5LmlzQXJyYXksYUE9ZT0+YWsoZSl8fCJmdW5jdGlvbiI9PXR5cGVvZihudWxsPT1lP3ZvaWQgMDplW1N5bWJvbC5pdGVyYXRvcl0pLGFJPSJbIAlcblxmXHJdIixhVD0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyxhUz0vLS0+L2csYUw9Lz4vZyxhTj1SZWdFeHAoYD58JHthSX0oPzooW15cXHMiJz49L10rKSgke2FJfSo9JHthSX0qKD86W14gCQpcZlxyIidcYDw+PV18KCJ8Jyl8KSl8JClgLCJnIiksYU89LycvZyxhTT0vIi9nLGFQPS9eKD86c2NyaXB0fHN0eWxlfHRleHRhcmVhfHRpdGxlKSQvaSxhOT1lPT4odCwuLi5uKT0+KHtfJGxpdFR5cGUkOmUsc3RyaW5nczp0LHZhbHVlczpufSksYVI9YTkoMSksYVU9YTkoMiksYUI9U3ltYm9sLmZvcigibGl0LW5vQ2hhbmdlIiksYVc9U3ltYm9sLmZvcigibGl0LW5vdGhpbmciKSxhRj1uZXcgV2Vha01hcCxhej1hRS5jcmVhdGVUcmVlV2Fsa2VyKGFFLDEyOSxudWxsLCExKSxhSD0oZSx0KT0+e2xldCBuPWUubGVuZ3RoLTEscj1bXSxpLG89Mj09PXQ/Ijxzdmc+IjoiIixhPWFUO2ZvcihsZXQgcz0wO3M8bjtzKyspe2xldCBsPWVbc10sJCxjLGg9LTEsdT0wO2Zvcig7dTxsLmxlbmd0aCYmKGEubGFzdEluZGV4PXUsbnVsbCE9PShjPWEuZXhlYyhsKSkpOyl1PWEubGFzdEluZGV4LGE9PT1hVD8iIS0tIj09PWNbMV0/YT1hUzp2b2lkIDAhPT1jWzFdP2E9YUw6dm9pZCAwIT09Y1syXT8oYVAudGVzdChjWzJdKSYmKGk9UmVnRXhwKCI8LyIrY1syXSwiZyIpKSxhPWFOKTp2b2lkIDAhPT1jWzNdJiYoYT1hTik6YT09PWFOPyI+Ij09PWNbMF0/KGE9bnVsbCE9aT9pOmFULGg9LTEpOnZvaWQgMD09PWNbMV0/aD0tMjooaD1hLmxhc3RJbmRleC1jWzJdLmxlbmd0aCwkPWNbMV0sYT12b2lkIDA9PT1jWzNdP2FOOiciJz09PWNbM10/YU06YU8pOmE9PT1hTXx8YT09PWFPP2E9YU46YT09PWFTfHxhPT09YUw/YT1hVDooYT1hTixpPXZvaWQgMCk7bGV0IGQ9YT09PWFOJiZlW3MrMV0uc3RhcnRzV2l0aCgiLz4iKT8iICI6IiI7bys9YT09PWFUP2wrYTc6aD49MD8oci5wdXNoKCQpLGwuc2xpY2UoMCxoKStheStsLnNsaWNlKGgpK2E1K2QpOmwrYTUrKC0yPT09aD8oci5wdXNoKHZvaWQgMCkscyk6ZCl9bGV0IF89bysoZVtuXXx8Ijw/PiIpKygyPT09dD8iPC9zdmc+IjoiIik7aWYoIUFycmF5LmlzQXJyYXkoZSl8fCFlLmhhc093blByb3BlcnR5KCJyYXciKSl0aHJvdyBFcnJvcigiaW52YWxpZCB0ZW1wbGF0ZSBzdHJpbmdzIGFycmF5Iik7cmV0dXJuW3ZvaWQgMCE9PWE2P2E2LmNyZWF0ZUhUTUwoXyk6XyxyXX0sYWo9Y2xhc3MgZXtjb25zdHJ1Y3Rvcih7c3RyaW5nczp0LF8kbGl0VHlwZSQ6bn0scil7bGV0IGk7dGhpcy5wYXJ0cz1bXTtsZXQgbz0wLGE9MCxzPXQubGVuZ3RoLTEsbD10aGlzLnBhcnRzLFskLGNdPWFIKHQsbik7aWYodGhpcy5lbD1lLmNyZWF0ZUVsZW1lbnQoJCxyKSxhei5jdXJyZW50Tm9kZT10aGlzLmVsLmNvbnRlbnQsMj09PW4pe2xldCBoPXRoaXMuZWwuY29udGVudCx1PWguZmlyc3RDaGlsZDt1LnJlbW92ZSgpLGguYXBwZW5kKC4uLnUuY2hpbGROb2Rlcyl9Zm9yKDtudWxsIT09KGk9YXoubmV4dE5vZGUoKSkmJmwubGVuZ3RoPHM7KXtpZigxPT09aS5ub2RlVHlwZSl7aWYoaS5oYXNBdHRyaWJ1dGVzKCkpe2xldCBkPVtdO2ZvcihsZXQgXyBvZiBpLmdldEF0dHJpYnV0ZU5hbWVzKCkpaWYoXy5lbmRzV2l0aChheSl8fF8uc3RhcnRzV2l0aChhNSkpe2xldCBmPWNbYSsrXTtpZihkLnB1c2goXyksdm9pZCAwIT09Zil7bGV0IHA9aS5nZXRBdHRyaWJ1dGUoZi50b0xvd2VyQ2FzZSgpK2F5KS5zcGxpdChhNSksZz0vKFsuP0BdKT8oLiopLy5leGVjKGYpO2wucHVzaCh7dHlwZToxLGluZGV4Om8sbmFtZTpnWzJdLHN0cmluZ3M6cCxjdG9yOiIuIj09PWdbMV0/YUs6Ij8iPT09Z1sxXT9hUToiQCI9PT1nWzFdP2FYOmFHfSl9ZWxzZSBsLnB1c2goe3R5cGU6NixpbmRleDpvfSl9Zm9yKGxldCBtIG9mIGQpaS5yZW1vdmVBdHRyaWJ1dGUobSl9aWYoYVAudGVzdChpLnRhZ05hbWUpKXtsZXQgdz1pLnRleHRDb250ZW50LnNwbGl0KGE1KSx2PXcubGVuZ3RoLTE7aWYodj4wKXtpLnRleHRDb250ZW50PWE4P2E4LmVtcHR5U2NyaXB0OiIiO2ZvcihsZXQgYj0wO2I8djtiKyspaS5hcHBlbmQod1tiXSxhQygpKSxhei5uZXh0Tm9kZSgpLGwucHVzaCh7dHlwZToyLGluZGV4Oisrb30pO2kuYXBwZW5kKHdbdl0sYUMoKSl9fX1lbHNlIGlmKDg9PT1pLm5vZGVUeXBlKXtpZihpLmRhdGE9PT1heClsLnB1c2goe3R5cGU6MixpbmRleDpvfSk7ZWxzZXtsZXQgeT0tMTtmb3IoOy0xIT09KHk9aS5kYXRhLmluZGV4T2YoYTUseSsxKSk7KWwucHVzaCh7dHlwZTo3LGluZGV4Om99KSx5Kz1hNS5sZW5ndGgtMX19bysrfX1zdGF0aWMgY3JlYXRlRWxlbWVudChlLHQpe2xldCBuPWFFLmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7cmV0dXJuIG4uaW5uZXJIVE1MPWUsbn19O2Z1bmN0aW9uIGFaKGUsdCxuPWUscil7dmFyIGksbyxhLHM7aWYodD09PWFCKXJldHVybiB0O2xldCBsPXZvaWQgMCE9PXI/bnVsbD09PShpPW4uXyRDbyl8fHZvaWQgMD09PWk/dm9pZCAwOmlbcl06bi5fJENsLCQ9YUQodCk/dm9pZCAwOnQuXyRsaXREaXJlY3RpdmUkO3JldHVybihudWxsPT1sP3ZvaWQgMDpsLmNvbnN0cnVjdG9yKSE9PSQmJihudWxsPT09KG89bnVsbD09bD92b2lkIDA6bC5fJEFPKXx8dm9pZCAwPT09b3x8by5jYWxsKGwsITEpLHZvaWQgMD09PSQ/bD12b2lkIDA6KGw9bmV3ICQoZSkpLl8kQVQoZSxuLHIpLHZvaWQgMCE9PXI/KG51bGwhPT0oYT0ocz1uKS5fJENvKSYmdm9pZCAwIT09YT9hOnMuXyRDbz1bXSlbcl09bDpuLl8kQ2w9bCksdm9pZCAwIT09bCYmKHQ9YVooZSxsLl8kQVMoZSx0LnZhbHVlcyksbCxyKSksdH1sZXQgYVk9Y2xhc3MgZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD1lLHRoaXMuXyRBTT10fWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUoZSl7dmFyIHQ7bGV0e2VsOntjb250ZW50Om59LHBhcnRzOnJ9PXRoaXMuXyRBRCxpPShudWxsIT09KHQ9bnVsbD09ZT92b2lkIDA6ZS5jcmVhdGlvblNjb3BlKSYmdm9pZCAwIT09dD90OmFFKS5pbXBvcnROb2RlKG4sITApO2F6LmN1cnJlbnROb2RlPWk7bGV0IG89YXoubmV4dE5vZGUoKSxhPTAscz0wLGw9clswXTtmb3IoO3ZvaWQgMCE9PWw7KXtpZihhPT09bC5pbmRleCl7bGV0ICQ7Mj09PWwudHlwZT8kPW5ldyBhVihvLG8ubmV4dFNpYmxpbmcsdGhpcyxlKToxPT09bC50eXBlPyQ9bmV3IGwuY3RvcihvLGwubmFtZSxsLnN0cmluZ3MsdGhpcyxlKTo2PT09bC50eXBlJiYoJD1uZXcgYUoobyx0aGlzLGUpKSx0aGlzLl8kQVYucHVzaCgkKSxsPXJbKytzXX1hIT09KG51bGw9PWw/dm9pZCAwOmwuaW5kZXgpJiYobz1hei5uZXh0Tm9kZSgpLGErKyl9cmV0dXJuIGF6LmN1cnJlbnROb2RlPWFFLGl9dihlKXtsZXQgdD0wO2ZvcihsZXQgbiBvZiB0aGlzLl8kQVYpdm9pZCAwIT09biYmKHZvaWQgMCE9PW4uc3RyaW5ncz8obi5fJEFJKGUsbix0KSx0Kz1uLnN0cmluZ3MubGVuZ3RoLTIpOm4uXyRBSShlW3RdKSksdCsrfX0sYVY9Y2xhc3MgZXtjb25zdHJ1Y3RvcihlLHQsbixyKXt2YXIgaTt0aGlzLnR5cGU9Mix0aGlzLl8kQUg9YVcsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQUE9ZSx0aGlzLl8kQUI9dCx0aGlzLl8kQU09bix0aGlzLm9wdGlvbnM9cix0aGlzLl8kQ3A9bnVsbD09PShpPW51bGw9PXI/dm9pZCAwOnIuaXNDb25uZWN0ZWQpfHx2b2lkIDA9PT1pfHxpfWdldCBfJEFVKCl7dmFyIGUsdDtyZXR1cm4gbnVsbCE9PSh0PW51bGw9PT0oZT10aGlzLl8kQU0pfHx2b2lkIDA9PT1lP3ZvaWQgMDplLl8kQVUpJiZ2b2lkIDAhPT10P3Q6dGhpcy5fJENwfWdldCBwYXJlbnROb2RlKCl7bGV0IGU9dGhpcy5fJEFBLnBhcmVudE5vZGUsdD10aGlzLl8kQU07cmV0dXJuIHZvaWQgMCE9PXQmJjExPT09KG51bGw9PWU/dm9pZCAwOmUubm9kZVR5cGUpJiYoZT10LnBhcmVudE5vZGUpLGV9Z2V0IHN0YXJ0Tm9kZSgpe3JldHVybiB0aGlzLl8kQUF9Z2V0IGVuZE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFCfV8kQUkoZSx0PXRoaXMpe2U9YVoodGhpcyxlLHQpLGFEKGUpP2U9PT1hV3x8bnVsbD09ZXx8IiI9PT1lPyh0aGlzLl8kQUghPT1hVyYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPWFXKTplIT09dGhpcy5fJEFIJiZlIT09YUImJnRoaXMuXyhlKTp2b2lkIDAhPT1lLl8kbGl0VHlwZSQ/dGhpcy5nKGUpOnZvaWQgMCE9PWUubm9kZVR5cGU/dGhpcy4kKGUpOmFBKGUpP3RoaXMuVChlKTp0aGlzLl8oZSl9ayhlKXtyZXR1cm4gdGhpcy5fJEFBLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcy5fJEFCKX0kKGUpe3RoaXMuXyRBSCE9PWUmJih0aGlzLl8kQVIoKSx0aGlzLl8kQUg9dGhpcy5rKGUpKX1fKGUpe3RoaXMuXyRBSCE9PWFXJiZhRCh0aGlzLl8kQUgpP3RoaXMuXyRBQS5uZXh0U2libGluZy5kYXRhPWU6dGhpcy4kKGFFLmNyZWF0ZVRleHROb2RlKGUpKSx0aGlzLl8kQUg9ZX1nKGUpe3ZhciB0O2xldHt2YWx1ZXM6bixfJGxpdFR5cGUkOnJ9PWUsaT0ibnVtYmVyIj09dHlwZW9mIHI/dGhpcy5fJEFDKGUpOih2b2lkIDA9PT1yLmVsJiYoci5lbD1hai5jcmVhdGVFbGVtZW50KHIuaCx0aGlzLm9wdGlvbnMpKSxyKTtpZigobnVsbD09PSh0PXRoaXMuXyRBSCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuXyRBRCk9PT1pKXRoaXMuXyRBSC52KG4pO2Vsc2V7bGV0IG89bmV3IGFZKGksdGhpcyksYT1vLnUodGhpcy5vcHRpb25zKTtvLnYobiksdGhpcy4kKGEpLHRoaXMuXyRBSD1vfX1fJEFDKGUpe2xldCB0PWFGLmdldChlLnN0cmluZ3MpO3JldHVybiB2b2lkIDA9PT10JiZhRi5zZXQoZS5zdHJpbmdzLHQ9bmV3IGFqKGUpKSx0fVQodCl7YWsodGhpcy5fJEFIKXx8KHRoaXMuXyRBSD1bXSx0aGlzLl8kQVIoKSk7bGV0IG49dGhpcy5fJEFILHIsaT0wO2ZvcihsZXQgbyBvZiB0KWk9PT1uLmxlbmd0aD9uLnB1c2gocj1uZXcgZSh0aGlzLmsoYUMoKSksdGhpcy5rKGFDKCkpLHRoaXMsdGhpcy5vcHRpb25zKSk6cj1uW2ldLHIuXyRBSShvKSxpKys7aTxuLmxlbmd0aCYmKHRoaXMuXyRBUihyJiZyLl8kQUIubmV4dFNpYmxpbmcsaSksbi5sZW5ndGg9aSl9XyRBUihlPXRoaXMuXyRBQS5uZXh0U2libGluZyx0KXt2YXIgbjtmb3IobnVsbD09PShuPXRoaXMuXyRBUCl8fHZvaWQgMD09PW58fG4uY2FsbCh0aGlzLCExLCEwLHQpO2UmJmUhPT10aGlzLl8kQUI7KXtsZXQgcj1lLm5leHRTaWJsaW5nO2UucmVtb3ZlKCksZT1yfX1zZXRDb25uZWN0ZWQoZSl7dmFyIHQ7dm9pZCAwPT09dGhpcy5fJEFNJiYodGhpcy5fJENwPWUsbnVsbD09PSh0PXRoaXMuXyRBUCl8fHZvaWQgMD09PXR8fHQuY2FsbCh0aGlzLGUpKX19LGFHPWNsYXNzIGV7Y29uc3RydWN0b3IoZSx0LG4scixpKXt0aGlzLnR5cGU9MSx0aGlzLl8kQUg9YVcsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLmVsZW1lbnQ9ZSx0aGlzLm5hbWU9dCx0aGlzLl8kQU09cix0aGlzLm9wdGlvbnM9aSxuLmxlbmd0aD4yfHwiIiE9PW5bMF18fCIiIT09blsxXT8odGhpcy5fJEFIPUFycmF5KG4ubGVuZ3RoLTEpLmZpbGwobmV3IFN0cmluZyksdGhpcy5zdHJpbmdzPW4pOnRoaXMuXyRBSD1hV31nZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKGUsdD10aGlzLG4scil7bGV0IGk9dGhpcy5zdHJpbmdzLG89ITE7aWYodm9pZCAwPT09aSllPWFaKHRoaXMsZSx0LDApLChvPSFhRChlKXx8ZSE9PXRoaXMuXyRBSCYmZSE9PWFCKSYmKHRoaXMuXyRBSD1lKTtlbHNle2xldCBhPWUscyxsO2ZvcihlPWlbMF0scz0wO3M8aS5sZW5ndGgtMTtzKyspKGw9YVoodGhpcyxhW24rc10sdCxzKSk9PT1hQiYmKGw9dGhpcy5fJEFIW3NdKSxvfHwobz0hYUQobCl8fGwhPT10aGlzLl8kQUhbc10pLGw9PT1hVz9lPWFXOmUhPT1hVyYmKGUrPShudWxsIT1sP2w6IiIpK2lbcysxXSksdGhpcy5fJEFIW3NdPWx9byYmIXImJnRoaXMuaihlKX1qKGUpe2U9PT1hVz90aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMubmFtZSk6dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLm5hbWUsbnVsbCE9ZT9lOiIiKX19LGFLPWNsYXNzIGUgZXh0ZW5kcyBhR3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50eXBlPTN9aihlKXt0aGlzLmVsZW1lbnRbdGhpcy5uYW1lXT1lPT09YVc/dm9pZCAwOmV9fSxhcT1hOD9hOC5lbXB0eVNjcmlwdDoiIixhUT1jbGFzcyBlIGV4dGVuZHMgYUd7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT00fWooZSl7ZSYmZSE9PWFXP3RoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLGFxKTp0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMubmFtZSl9fSxhWD1jbGFzcyBlIGV4dGVuZHMgYUd7Y29uc3RydWN0b3IoZSx0LG4scixpKXtzdXBlcihlLHQsbixyLGkpLHRoaXMudHlwZT01fV8kQUkoZSx0PXRoaXMpe3ZhciBuO2lmKChlPW51bGwhPT0obj1hWih0aGlzLGUsdCwwKSkmJnZvaWQgMCE9PW4/bjphVyk9PT1hQilyZXR1cm47bGV0IHI9dGhpcy5fJEFILGk9ZT09PWFXJiZyIT09YVd8fGUuY2FwdHVyZSE9PXIuY2FwdHVyZXx8ZS5vbmNlIT09ci5vbmNlfHxlLnBhc3NpdmUhPT1yLnBhc3NpdmUsbz1lIT09YVcmJihyPT09YVd8fGkpO2kmJnRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLHIpLG8mJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGUpLHRoaXMuXyRBSD1lfWhhbmRsZUV2ZW50KGUpe3ZhciB0LG47ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuXyRBSD90aGlzLl8kQUguY2FsbChudWxsIT09KG49bnVsbD09PSh0PXRoaXMub3B0aW9ucyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuaG9zdCkmJnZvaWQgMCE9PW4/bjp0aGlzLmVsZW1lbnQsZSk6dGhpcy5fJEFILmhhbmRsZUV2ZW50KGUpfX0sYUo9Y2xhc3MgZXtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5lbGVtZW50PWUsdGhpcy50eXBlPTYsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQU09dCx0aGlzLm9wdGlvbnM9bn1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKGUpe2FaKHRoaXMsZSl9fSxzZT1hYi5saXRIdG1sUG9seWZpbGxTdXBwb3J0O251bGw9PXNlfHxzZShhaixhViksKG51bGwhPT0oZD1hYi5saXRIdG1sVmVyc2lvbnMpJiZ2b2lkIDAhPT1kP2Q6YWIubGl0SHRtbFZlcnNpb25zPVtdKS5wdXNoKCIyLjcuNCIpO2xldCBzdD0oZSx0LG4pPT57dmFyIHIsaTtsZXQgbz1udWxsIT09KHI9bnVsbD09bj92b2lkIDA6bi5yZW5kZXJCZWZvcmUpJiZ2b2lkIDAhPT1yP3I6dCxhPW8uXyRsaXRQYXJ0JDtpZih2b2lkIDA9PT1hKXtsZXQgcz1udWxsIT09KGk9bnVsbD09bj92b2lkIDA6bi5yZW5kZXJCZWZvcmUpJiZ2b2lkIDAhPT1pP2k6bnVsbDtvLl8kbGl0UGFydCQ9YT1uZXcgYVYodC5pbnNlcnRCZWZvcmUoYUMoKSxzKSxzLHZvaWQgMCxudWxsIT1uP246e30pfXJldHVybiBhLl8kQUkoZSksYX0sc249Y2xhc3MgZSBleHRlbmRzIGE0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbmRlck9wdGlvbnM9e2hvc3Q6dGhpc30sdGhpcy5fJERvPXZvaWQgMH1jcmVhdGVSZW5kZXJSb290KCl7dmFyIGUsdDtsZXQgbj1zdXBlci5jcmVhdGVSZW5kZXJSb290KCk7cmV0dXJuIG51bGwhPT0oZT0odD10aGlzLnJlbmRlck9wdGlvbnMpLnJlbmRlckJlZm9yZSkmJnZvaWQgMCE9PWV8fCh0LnJlbmRlckJlZm9yZT1uLmZpcnN0Q2hpbGQpLG59dXBkYXRlKGUpe2xldCB0PXRoaXMucmVuZGVyKCk7dGhpcy5oYXNVcGRhdGVkfHwodGhpcy5yZW5kZXJPcHRpb25zLmlzQ29ubmVjdGVkPXRoaXMuaXNDb25uZWN0ZWQpLHN1cGVyLnVwZGF0ZShlKSx0aGlzLl8kRG89c3QodCx0aGlzLnJlbmRlclJvb3QsdGhpcy5yZW5kZXJPcHRpb25zKX1jb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlO3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksbnVsbD09PShlPXRoaXMuXyREbyl8fHZvaWQgMD09PWV8fGUuc2V0Q29ubmVjdGVkKCEwKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlO3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksbnVsbD09PShlPXRoaXMuXyREbyl8fHZvaWQgMD09PWV8fGUuc2V0Q29ubmVjdGVkKCExKX1yZW5kZXIoKXtyZXR1cm4gYUJ9fTtzbi5maW5hbGl6ZWQ9ITAsc24uXyRsaXRFbGVtZW50JD0hMCxudWxsPT09KF89Z2xvYmFsVGhpcy5saXRFbGVtZW50SHlkcmF0ZVN1cHBvcnQpfHx2b2lkIDA9PT1ffHxfLmNhbGwoZ2xvYmFsVGhpcyx7TGl0RWxlbWVudDpzbn0pO2xldCBzcj1nbG9iYWxUaGlzLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7bnVsbD09c3J8fHNyKHtMaXRFbGVtZW50OnNufSksKG51bGwhPT0oZj1nbG9iYWxUaGlzLmxpdEVsZW1lbnRWZXJzaW9ucykmJnZvaWQgMCE9PWY/ZjpnbG9iYWxUaGlzLmxpdEVsZW1lbnRWZXJzaW9ucz1bXSkucHVzaCgiMy4zLjIiKTsvKioKCSAqIEBsaWNlbnNlCgkgKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCgkgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCgkgKi8gbGV0IHNpPWU9PnQ9Pnt2YXIgbixyO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0PyhuPWUscj10LGN1c3RvbUVsZW1lbnRzLmRlZmluZShuLHIpLHIpOigoZSx0KT0+e2xldHtraW5kOm4sZWxlbWVudHM6cn09dDtyZXR1cm57a2luZDpuLGVsZW1lbnRzOnIsZmluaXNoZXIodCl7Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGUsdCl9fX0pKGUsdCl9LHNvPShlLHQpPT4ibWV0aG9kIiE9PXQua2luZHx8IXQuZGVzY3JpcHRvcnx8InZhbHVlImluIHQuZGVzY3JpcHRvcj97a2luZDoiZmllbGQiLGtleTpTeW1ib2woKSxwbGFjZW1lbnQ6Im93biIsZGVzY3JpcHRvcjp7fSxvcmlnaW5hbEtleTp0LmtleSxpbml0aWFsaXplcigpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LmluaXRpYWxpemVyJiYodGhpc1t0LmtleV09dC5pbml0aWFsaXplci5jYWxsKHRoaXMpKX0sZmluaXNoZXIobil7bi5jcmVhdGVQcm9wZXJ0eSh0LmtleSxlKX19OnsuLi50LGZpbmlzaGVyKG4pe24uY3JlYXRlUHJvcGVydHkodC5rZXksZSl9fSxzYT0oZSx0LG4pPT57dC5jb25zdHJ1Y3Rvci5jcmVhdGVQcm9wZXJ0eShuLGUpfTtmdW5jdGlvbiBzcyhlKXtyZXR1cm4odCxuKT0+dm9pZCAwIT09bj9zYShlLHQsbik6c28oZSx0KX0vKioKCSAqIEBsaWNlbnNlCgkgKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCgkgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCgkgKi8gZnVuY3Rpb24gc2woZSl7cmV0dXJuIHNzKHsuLi5lLHN0YXRlOiEwfSl9bnVsbCE9KG51bGw9PT0ocD13aW5kb3cuSFRNTFNsb3RFbGVtZW50KXx8dm9pZCAwPT09cD92b2lkIDA6cC5wcm90b3R5cGUuYXNzaWduZWRFbGVtZW50cyl8fCgoZSx0KT0+ZS5hc3NpZ25lZE5vZGVzKHQpLmZpbHRlcihlPT5lLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpKTsvKioKCSAqIEBsaWNlbnNlCgkgKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCgkgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCgkgKi8gbGV0IHMkPWU9PiguLi50KT0+KHtfJGxpdERpcmVjdGl2ZSQ6ZSx2YWx1ZXM6dH0pLHNjPWNsYXNzIGV7Y29uc3RydWN0b3IoZSl7fWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQVQoZSx0LG4pe3RoaXMuXyRDdD1lLHRoaXMuXyRBTT10LHRoaXMuXyRDaT1ufV8kQVMoZSx0KXtyZXR1cm4gdGhpcy51cGRhdGUoZSx0KX11cGRhdGUoZSx0KXtyZXR1cm4gdGhpcy5yZW5kZXIoLi4udCl9fSxzaD1zJChjbGFzcyBleHRlbmRzIHNje2NvbnN0cnVjdG9yKGUpe3ZhciB0O2lmKHN1cGVyKGUpLDEhPT1lLnR5cGV8fCJjbGFzcyIhPT1lLm5hbWV8fChudWxsPT09KHQ9ZS5zdHJpbmdzKXx8dm9pZCAwPT09dD92b2lkIDA6dC5sZW5ndGgpPjIpdGhyb3cgRXJyb3IoImBjbGFzc01hcCgpYCBjYW4gb25seSBiZSB1c2VkIGluIHRoZSBgY2xhc3NgIGF0dHJpYnV0ZSBhbmQgbXVzdCBiZSB0aGUgb25seSBwYXJ0IGluIHRoZSBhdHRyaWJ1dGUuIil9cmVuZGVyKGUpe3JldHVybiIgIitPYmplY3Qua2V5cyhlKS5maWx0ZXIodD0+ZVt0XSkuam9pbigiICIpKyIgIn11cGRhdGUoZSxbdF0pe3ZhciBuLHI7aWYodm9pZCAwPT09dGhpcy5pdCl7Zm9yKGxldCBpIGluIHRoaXMuaXQ9bmV3IFNldCx2b2lkIDAhPT1lLnN0cmluZ3MmJih0aGlzLm50PW5ldyBTZXQoZS5zdHJpbmdzLmpvaW4oIiAiKS5zcGxpdCgvXHMvKS5maWx0ZXIoZT0+IiIhPT1lKSkpLHQpIXRbaV18fChudWxsPT09KG49dGhpcy5udCl8fHZvaWQgMD09PW4/dm9pZCAwOm4uaGFzKGkpKXx8dGhpcy5pdC5hZGQoaSk7cmV0dXJuIHRoaXMucmVuZGVyKHQpfWxldCBvPWUuZWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGxldCBhIGluIHRoaXMuaXQuZm9yRWFjaChlPT57ZSBpbiB0fHwoby5yZW1vdmUoZSksdGhpcy5pdC5kZWxldGUoZSkpfSksdCl7bGV0IHM9ISF0W2FdO3M9PT10aGlzLml0LmhhcyhhKXx8KG51bGw9PT0ocj10aGlzLm50KXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYXMoYSkpfHwocz8oby5hZGQoYSksdGhpcy5pdC5hZGQoYSkpOihvLnJlbW92ZShhKSx0aGlzLml0LmRlbGV0ZShhKSkpfXJldHVybiBhQn19KSxzdT1nbG9iYWxUaGlzLHNkPXN1LnRydXN0ZWRUeXBlcyxzXz1zZD9zZC5jcmVhdGVQb2xpY3koImxpdC1odG1sIix7Y3JlYXRlSFRNTDplPT5lfSk6dm9pZCAwLHNmPSIkbGl0JCIsc3A9YGxpdCQkeyhNYXRoLnJhbmRvbSgpKyIiKS5zbGljZSg5KX0kYCxzMT0iPyIrc3AsczA9YDwke3MxfT5gLHNnPWRvY3VtZW50LHNtPSgpPT5zZy5jcmVhdGVDb21tZW50KCIiKSxzMz1lPT5udWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSxzdz1BcnJheS5pc0FycmF5LHN2PWU9PnN3KGUpfHwiZnVuY3Rpb24iPT10eXBlb2YgZT8uW1N5bWJvbC5pdGVyYXRvcl0sczI9IlsgCVxuXGZccl0iLHM0PS88KD86KCEtLXxcL1teYS16QS1aXSl8KFwvP1thLXpBLVpdW14+XHNdKil8KFwvPyQpKS9nLHNiPS8tLT4vZyxzOD0vPi9nLHM2PVJlZ0V4cChgPnwke3MyfSg/OihbXlxccyInPj0vXSspKCR7czJ9Kj0ke3MyfSooPzpbXiAJClxmXHIiJ1xgPD49XXwoInwnKXwpKXwkKWAsImciKSxzeT0vJy9nLHM1PS8iL2csc3g9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pLHM3PShlLC4uLnQpPT4oe18kbGl0VHlwZSQ6MixzdHJpbmdzOmUsdmFsdWVzOnR9KSxzRT1TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKSxzQz1TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpLHNEPW5ldyBXZWFrTWFwLHNrPXNnLmNyZWF0ZVRyZWVXYWxrZXIoc2csMTI5KTtmdW5jdGlvbiBzQShlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpfHwhZS5oYXNPd25Qcm9wZXJ0eSgicmF3IikpdGhyb3cgRXJyb3IoImludmFsaWQgdGVtcGxhdGUgc3RyaW5ncyBhcnJheSIpO3JldHVybiB2b2lkIDAhPT1zXz9zXy5jcmVhdGVIVE1MKHQpOnR9bGV0IHNJPShlLHQpPT57bGV0IG49ZS5sZW5ndGgtMSxyPVtdLGksbz0yPT09dD8iPHN2Zz4iOiIiLGE9czQ7Zm9yKGxldCBzPTA7czxuO3MrKyl7bGV0IGw9ZVtzXSwkLGMsaD0tMSx1PTA7Zm9yKDt1PGwubGVuZ3RoJiYoYS5sYXN0SW5kZXg9dSxudWxsIT09KGM9YS5leGVjKGwpKSk7KXU9YS5sYXN0SW5kZXgsYT09PXM0PyIhLS0iPT09Y1sxXT9hPXNiOnZvaWQgMCE9PWNbMV0/YT1zODp2b2lkIDAhPT1jWzJdPyhzeC50ZXN0KGNbMl0pJiYoaT1SZWdFeHAoIjwvIitjWzJdLCJnIikpLGE9czYpOnZvaWQgMCE9PWNbM10mJihhPXM2KTphPT09czY/Ij4iPT09Y1swXT8oYT1pPz9zNCxoPS0xKTp2b2lkIDA9PT1jWzFdP2g9LTI6KGg9YS5sYXN0SW5kZXgtY1syXS5sZW5ndGgsJD1jWzFdLGE9dm9pZCAwPT09Y1szXT9zNjonIic9PT1jWzNdP3M1OnN5KTphPT09czV8fGE9PT1zeT9hPXM2OmE9PT1zYnx8YT09PXM4P2E9czQ6KGE9czYsaT12b2lkIDApO2xldCBkPWE9PT1zNiYmZVtzKzFdLnN0YXJ0c1dpdGgoIi8+Iik/IiAiOiIiO28rPWE9PT1zND9sK3MwOmg+PTA/KHIucHVzaCgkKSxsLnNsaWNlKDAsaCkrc2YrbC5zbGljZShoKStzcCtkKTpsK3NwKygtMj09PWg/czpkKX1yZXR1cm5bc0EoZSxvKyhlW25dfHwiPD8+IikrKDI9PT10PyI8L3N2Zz4iOiIiKSkscl19LHNUPWNsYXNzIGV7Y29uc3RydWN0b3Ioe3N0cmluZ3M6dCxfJGxpdFR5cGUkOm59LHIpe2xldCBpO3RoaXMucGFydHM9W107bGV0IG89MCxhPTAscz10Lmxlbmd0aC0xLGw9dGhpcy5wYXJ0cyxbJCxjXT1zSSh0LG4pO2lmKHRoaXMuZWw9ZS5jcmVhdGVFbGVtZW50KCQsciksc2suY3VycmVudE5vZGU9dGhpcy5lbC5jb250ZW50LDI9PT1uKXtsZXQgaD10aGlzLmVsLmNvbnRlbnQuZmlyc3RDaGlsZDtoLnJlcGxhY2VXaXRoKC4uLmguY2hpbGROb2Rlcyl9Zm9yKDtudWxsIT09KGk9c2submV4dE5vZGUoKSkmJmwubGVuZ3RoPHM7KXtpZigxPT09aS5ub2RlVHlwZSl7aWYoaS5oYXNBdHRyaWJ1dGVzKCkpZm9yKGxldCB1IG9mIGkuZ2V0QXR0cmlidXRlTmFtZXMoKSlpZih1LmVuZHNXaXRoKHNmKSl7bGV0IGQ9Y1thKytdLF89aS5nZXRBdHRyaWJ1dGUodSkuc3BsaXQoc3ApLGY9LyhbLj9AXSk/KC4qKS8uZXhlYyhkKTtsLnB1c2goe3R5cGU6MSxpbmRleDpvLG5hbWU6ZlsyXSxzdHJpbmdzOl8sY3RvcjoiLiI9PT1mWzFdP3NNOiI/Ij09PWZbMV0/c1A6IkAiPT09ZlsxXT9zOTpzT30pLGkucmVtb3ZlQXR0cmlidXRlKHUpfWVsc2UgdS5zdGFydHNXaXRoKHNwKSYmKGwucHVzaCh7dHlwZTo2LGluZGV4Om99KSxpLnJlbW92ZUF0dHJpYnV0ZSh1KSk7aWYoc3gudGVzdChpLnRhZ05hbWUpKXtsZXQgcD1pLnRleHRDb250ZW50LnNwbGl0KHNwKSxnPXAubGVuZ3RoLTE7aWYoZz4wKXtpLnRleHRDb250ZW50PXNkP3NkLmVtcHR5U2NyaXB0OiIiO2ZvcihsZXQgbT0wO208ZzttKyspaS5hcHBlbmQocFttXSxzbSgpKSxzay5uZXh0Tm9kZSgpLGwucHVzaCh7dHlwZToyLGluZGV4Oisrb30pO2kuYXBwZW5kKHBbZ10sc20oKSl9fX1lbHNlIGlmKDg9PT1pLm5vZGVUeXBlKXtpZihpLmRhdGE9PT1zMSlsLnB1c2goe3R5cGU6MixpbmRleDpvfSk7ZWxzZXtsZXQgdz0tMTtmb3IoOy0xIT09KHc9aS5kYXRhLmluZGV4T2Yoc3AsdysxKSk7KWwucHVzaCh7dHlwZTo3LGluZGV4Om99KSx3Kz1zcC5sZW5ndGgtMX19bysrfX1zdGF0aWMgY3JlYXRlRWxlbWVudChlLHQpe2xldCBuPXNnLmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7cmV0dXJuIG4uaW5uZXJIVE1MPWUsbn19O2Z1bmN0aW9uIHNTKGUsdCxuPWUscil7aWYodD09PXNFKXJldHVybiB0O2xldCBpPXZvaWQgMCE9PXI/bi5fJENvPy5bcl06bi5fJENsLG89czModCk/dm9pZCAwOnQuXyRsaXREaXJlY3RpdmUkO3JldHVybiBpPy5jb25zdHJ1Y3RvciE9PW8mJihpPy5fJEFPPy4oITEpLHZvaWQgMD09PW8/aT12b2lkIDA6KGk9bmV3IG8oZSkpLl8kQVQoZSxuLHIpLHZvaWQgMCE9PXI/KG4uXyRDbz8/PVtdKVtyXT1pOm4uXyRDbD1pKSx2b2lkIDAhPT1pJiYodD1zUyhlLGkuXyRBUyhlLHQudmFsdWVzKSxpLHIpKSx0fWNsYXNzIHNMe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fJEFWPVtdLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFEPWUsdGhpcy5fJEFNPXR9Z2V0IHBhcmVudE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFNLnBhcmVudE5vZGV9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9dShlKXtsZXR7ZWw6e2NvbnRlbnQ6dH0scGFydHM6bn09dGhpcy5fJEFELHI9KGU/LmNyZWF0aW9uU2NvcGU/P3NnKS5pbXBvcnROb2RlKHQsITApO3NrLmN1cnJlbnROb2RlPXI7bGV0IGk9c2submV4dE5vZGUoKSxvPTAsYT0wLHM9blswXTtmb3IoO3ZvaWQgMCE9PXM7KXtpZihvPT09cy5pbmRleCl7bGV0IGw7Mj09PXMudHlwZT9sPW5ldyBzTihpLGkubmV4dFNpYmxpbmcsdGhpcyxlKToxPT09cy50eXBlP2w9bmV3IHMuY3RvcihpLHMubmFtZSxzLnN0cmluZ3MsdGhpcyxlKTo2PT09cy50eXBlJiYobD1uZXcgc1IoaSx0aGlzLGUpKSx0aGlzLl8kQVYucHVzaChsKSxzPW5bKythXX1vIT09cz8uaW5kZXgmJihpPXNrLm5leHROb2RlKCksbysrKX1yZXR1cm4gc2suY3VycmVudE5vZGU9c2cscn1wKGUpe2xldCB0PTA7Zm9yKGxldCBuIG9mIHRoaXMuXyRBVil2b2lkIDAhPT1uJiYodm9pZCAwIT09bi5zdHJpbmdzPyhuLl8kQUkoZSxuLHQpLHQrPW4uc3RyaW5ncy5sZW5ndGgtMik6bi5fJEFJKGVbdF0pKSx0Kyt9fWNsYXNzIHNOe2dldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTT8uXyRBVT8/dGhpcy5fJEN2fWNvbnN0cnVjdG9yKGUsdCxuLHIpe3RoaXMudHlwZT0yLHRoaXMuXyRBSD1zQyx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBQT1lLHRoaXMuXyRBQj10LHRoaXMuXyRBTT1uLHRoaXMub3B0aW9ucz1yLHRoaXMuXyRDdj1yPy5pc0Nvbm5lY3RlZD8/ITB9Z2V0IHBhcmVudE5vZGUoKXtsZXQgZT10aGlzLl8kQUEucGFyZW50Tm9kZSx0PXRoaXMuXyRBTTtyZXR1cm4gdm9pZCAwIT09dCYmMTE9PT1lPy5ub2RlVHlwZSYmKGU9dC5wYXJlbnROb2RlKSxlfWdldCBzdGFydE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFBfWdldCBlbmROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQn1fJEFJKGUsdD10aGlzKXtlPXNTKHRoaXMsZSx0KSxzMyhlKT9lPT09c0N8fG51bGw9PWV8fCIiPT09ZT8odGhpcy5fJEFIIT09c0MmJnRoaXMuXyRBUigpLHRoaXMuXyRBSD1zQyk6ZSE9PXRoaXMuXyRBSCYmZSE9PXNFJiZ0aGlzLl8oZSk6dm9pZCAwIT09ZS5fJGxpdFR5cGUkP3RoaXMuZyhlKTp2b2lkIDAhPT1lLm5vZGVUeXBlP3RoaXMuJChlKTpzdihlKT90aGlzLlQoZSk6dGhpcy5fKGUpfWsoZSl7cmV0dXJuIHRoaXMuXyRBQS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMuXyRBQil9JChlKXt0aGlzLl8kQUghPT1lJiYodGhpcy5fJEFSKCksdGhpcy5fJEFIPXRoaXMuayhlKSl9XyhlKXt0aGlzLl8kQUghPT1zQyYmczModGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT1lOnRoaXMuJChzZy5jcmVhdGVUZXh0Tm9kZShlKSksdGhpcy5fJEFIPWV9ZyhlKXtsZXR7dmFsdWVzOnQsXyRsaXRUeXBlJDpufT1lLHI9Im51bWJlciI9PXR5cGVvZiBuP3RoaXMuXyRBQyhlKToodm9pZCAwPT09bi5lbCYmKG4uZWw9c1QuY3JlYXRlRWxlbWVudChzQShuLmgsbi5oWzBdKSx0aGlzLm9wdGlvbnMpKSxuKTtpZih0aGlzLl8kQUg/Ll8kQUQ9PT1yKXRoaXMuXyRBSC5wKHQpO2Vsc2V7bGV0IGk9bmV3IHNMKHIsdGhpcyksbz1pLnUodGhpcy5vcHRpb25zKTtpLnAodCksdGhpcy4kKG8pLHRoaXMuXyRBSD1pfX1fJEFDKGUpe2xldCB0PXNELmdldChlLnN0cmluZ3MpO3JldHVybiB2b2lkIDA9PT10JiZzRC5zZXQoZS5zdHJpbmdzLHQ9bmV3IHNUKGUpKSx0fVQoZSl7c3codGhpcy5fJEFIKXx8KHRoaXMuXyRBSD1bXSx0aGlzLl8kQVIoKSk7bGV0IHQ9dGhpcy5fJEFILG4scj0wO2ZvcihsZXQgaSBvZiBlKXI9PT10Lmxlbmd0aD90LnB1c2gobj1uZXcgc04odGhpcy5rKHNtKCkpLHRoaXMuayhzbSgpKSx0aGlzLHRoaXMub3B0aW9ucykpOm49dFtyXSxuLl8kQUkoaSkscisrO3I8dC5sZW5ndGgmJih0aGlzLl8kQVIobiYmbi5fJEFCLm5leHRTaWJsaW5nLHIpLHQubGVuZ3RoPXIpfV8kQVIoZT10aGlzLl8kQUEubmV4dFNpYmxpbmcsdCl7Zm9yKHRoaXMuXyRBUD8uKCExLCEwLHQpO2UmJmUhPT10aGlzLl8kQUI7KXtsZXQgbj1lLm5leHRTaWJsaW5nO2UucmVtb3ZlKCksZT1ufX1zZXRDb25uZWN0ZWQoZSl7dm9pZCAwPT09dGhpcy5fJEFNJiYodGhpcy5fJEN2PWUsdGhpcy5fJEFQPy4oZSkpfX1jbGFzcyBzT3tnZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3RvcihlLHQsbixyLGkpe3RoaXMudHlwZT0xLHRoaXMuXyRBSD1zQyx0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD1lLHRoaXMubmFtZT10LHRoaXMuXyRBTT1yLHRoaXMub3B0aW9ucz1pLG4ubGVuZ3RoPjJ8fCIiIT09blswXXx8IiIhPT1uWzFdPyh0aGlzLl8kQUg9QXJyYXkobi5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9bik6dGhpcy5fJEFIPXNDfV8kQUkoZSx0PXRoaXMsbixyKXtsZXQgaT10aGlzLnN0cmluZ3Msbz0hMTtpZih2b2lkIDA9PT1pKWU9c1ModGhpcyxlLHQsMCksKG89IXMzKGUpfHxlIT09dGhpcy5fJEFIJiZlIT09c0UpJiYodGhpcy5fJEFIPWUpO2Vsc2V7bGV0IGE9ZSxzLGw7Zm9yKGU9aVswXSxzPTA7czxpLmxlbmd0aC0xO3MrKykobD1zUyh0aGlzLGFbbitzXSx0LHMpKT09PXNFJiYobD10aGlzLl8kQUhbc10pLG98fD0hczMobCl8fGwhPT10aGlzLl8kQUhbc10sbD09PXNDP2U9c0M6ZSE9PXNDJiYoZSs9KGw/PyIiKStpW3MrMV0pLHRoaXMuXyRBSFtzXT1sfW8mJiFyJiZ0aGlzLmooZSl9aihlKXtlPT09c0M/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLGU/PyIiKX19Y2xhc3Mgc00gZXh0ZW5kcyBzT3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50eXBlPTN9aihlKXt0aGlzLmVsZW1lbnRbdGhpcy5uYW1lXT1lPT09c0M/dm9pZCAwOmV9fWNsYXNzIHNQIGV4dGVuZHMgc097Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT00fWooZSl7dGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLm5hbWUsISFlJiZlIT09c0MpfX1jbGFzcyBzOSBleHRlbmRzIHNPe2NvbnN0cnVjdG9yKGUsdCxuLHIsaSl7c3VwZXIoZSx0LG4scixpKSx0aGlzLnR5cGU9NX1fJEFJKGUsdD10aGlzKXtpZigoZT1zUyh0aGlzLGUsdCwwKT8/c0MpPT09c0UpcmV0dXJuO2xldCBuPXRoaXMuXyRBSCxyPWU9PT1zQyYmbiE9PXNDfHxlLmNhcHR1cmUhPT1uLmNhcHR1cmV8fGUub25jZSE9PW4ub25jZXx8ZS5wYXNzaXZlIT09bi5wYXNzaXZlLGk9ZSE9PXNDJiYobj09PXNDfHxyKTtyJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxuKSxpJiZ0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxlKSx0aGlzLl8kQUg9ZX1oYW5kbGVFdmVudChlKXsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fJEFIP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LGUpOnRoaXMuXyRBSC5oYW5kbGVFdmVudChlKX19Y2xhc3Mgc1J7Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZWxlbWVudD1lLHRoaXMudHlwZT02LHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFNPXQsdGhpcy5vcHRpb25zPW59Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9XyRBSShlKXtzUyh0aGlzLGUpfX1sZXQgc1U9c3UubGl0SHRtbFBvbHlmaWxsU3VwcG9ydDtzVT8uKHNULHNOKSwoc3UubGl0SHRtbFZlcnNpb25zPz89W10pLnB1c2goIjMuMC4wIik7bGV0IHNCPShlLHQsbik9Pk1hdGgubWluKE1hdGgubWF4KG4sZSksdCksc1c9e2R1cmF0aW9uOi4zLGRlbGF5OjAsZW5kRGVsYXk6MCxyZXBlYXQ6MCxlYXNpbmc6ImVhc2UifSxzRj1lPT4ibnVtYmVyIj09dHlwZW9mIGUsc3o9ZT0+QXJyYXkuaXNBcnJheShlKSYmIXNGKGVbMF0pLHNIPShlLHQsbik9PntsZXQgcj10LWU7cmV0dXJuKChuLWUpJXIrciklcitlfSxzaj0oZSx0LG4pPT4tbiplK24qdCtlLHNaPSgpPT57fSxzWT1lPT5lLHNWPShlLHQsbik9PnQtZT09MD8xOihuLWUpLyh0LWUpO2Z1bmN0aW9uIHNHKGUsdCl7bGV0IG49ZVtlLmxlbmd0aC0xXTtmb3IobGV0IHI9MTtyPD10O3IrKyl7bGV0IGk9c1YoMCx0LHIpO2UucHVzaChzaihuLDEsaSkpfX1sZXQgc0s9ZT0+QXJyYXkuaXNBcnJheShlKSYmc0YoZVswXSksc3E9ZT0+Im9iamVjdCI9PXR5cGVvZiBlJiZCb29sZWFuKGUuY3JlYXRlQW5pbWF0aW9uKSxzUT1lPT4iZnVuY3Rpb24iPT10eXBlb2YgZSxzWD1lPT4ic3RyaW5nIj09dHlwZW9mIGUsc0o9e21zOmU9PjFlMyplLHM6ZT0+ZS8xZTN9LGxlPShlLHQsbik9PigoKDEtMypuKzMqdCkqZSsoMypuLTYqdCkpKmUrMyp0KSplO2Z1bmN0aW9uIGx0KGUsdCxuLHIpe2lmKGU9PT10JiZuPT09cilyZXR1cm4gc1k7bGV0IGk9dD0+KGZ1bmN0aW9uIGUodCxuLHIsaSxvKXtsZXQgYSxzLGw9MDtkbyhhPWxlKHM9bisoci1uKS8yLGksbyktdCk+MD9yPXM6bj1zO3doaWxlKE1hdGguYWJzKGEpPjFlLTcmJisrbDwxMik7cmV0dXJuIHN9KSh0LDAsMSxlLG4pO3JldHVybiBlPT4wPT09ZXx8MT09PWU/ZTpsZShpKGUpLHQscil9bGV0IGxuPShlLHQ9ImVuZCIpPT5uPT57bj0iZW5kIj09PXQ/TWF0aC5taW4obiwuOTk5KTpNYXRoLm1heChuLC4wMDEpO2xldCByPW4qZTtyZXR1cm4gc0IoMCwxLCgiZW5kIj09PXQ/TWF0aC5mbG9vcihyKTpNYXRoLmNlaWwocikpL2UpfSxscj17ZWFzZTpsdCguMjUsLjEsLjI1LDEpLCJlYXNlLWluIjpsdCguNDIsMCwxLDEpLCJlYXNlLWluLW91dCI6bHQoLjQyLDAsLjU4LDEpLCJlYXNlLW91dCI6bHQoMCwwLC41OCwxKX0sbGk9L1woKC4qPylcKS87ZnVuY3Rpb24gbG8oZSl7aWYoc1EoZSkpcmV0dXJuIGU7aWYoc0soZSkpcmV0dXJuIGx0KC4uLmUpO2lmKGxyW2VdKXJldHVybiBscltlXTtpZihlLnN0YXJ0c1dpdGgoInN0ZXBzIikpe2xldCB0PWxpLmV4ZWMoZSk7aWYodCl7bGV0IG49dFsxXS5zcGxpdCgiLCIpO3JldHVybiBsbihwYXJzZUZsb2F0KG5bMF0pLG5bMV0udHJpbSgpKX19cmV0dXJuIHNZfWNsYXNzIGxhe2NvbnN0cnVjdG9yKGUsdD1bMCwxXSx7ZWFzaW5nOm4sZHVyYXRpb246cj1zVy5kdXJhdGlvbixkZWxheTppPXNXLmRlbGF5LGVuZERlbGF5Om89c1cuZW5kRGVsYXkscmVwZWF0OmE9c1cucmVwZWF0LG9mZnNldDpzLGRpcmVjdGlvbjpsPSJub3JtYWwifT17fSl7aWYodGhpcy5zdGFydFRpbWU9bnVsbCx0aGlzLnJhdGU9MSx0aGlzLnQ9MCx0aGlzLmNhbmNlbFRpbWVzdGFtcD1udWxsLHRoaXMuZWFzaW5nPXNZLHRoaXMuZHVyYXRpb249MCx0aGlzLnRvdGFsRHVyYXRpb249MCx0aGlzLnJlcGVhdD0wLHRoaXMucGxheVN0YXRlPSJpZGxlIix0aGlzLmZpbmlzaGVkPW5ldyBQcm9taXNlKChlLHQpPT57dGhpcy5yZXNvbHZlPWUsdGhpcy5yZWplY3Q9dH0pLG49bnx8c1cuZWFzaW5nLHNxKG4pKXtsZXQgJD1uLmNyZWF0ZUFuaW1hdGlvbih0KTtuPSQuZWFzaW5nLHQ9JC5rZXlmcmFtZXN8fHQscj0kLmR1cmF0aW9ufHxyfXRoaXMucmVwZWF0PWEsdGhpcy5lYXNpbmc9c3oobik/c1k6bG8obiksdGhpcy51cGRhdGVEdXJhdGlvbihyKTtsZXQgYz1mdW5jdGlvbiBlKHQsbj1mdW5jdGlvbiBlKHQpe2xldCBuPVswXTtyZXR1cm4gc0cobix0LTEpLG59KHQubGVuZ3RoKSxyPXNZKXtsZXQgaT10Lmxlbmd0aCxvPWktbi5sZW5ndGg7cmV0dXJuIG8+MCYmc0cobixvKSxlPT57dmFyIG8sYTtsZXQgcz0wO2Zvcig7czxpLTImJiEoZTxuW3MrMV0pO3MrKyk7bGV0IGw9c0IoMCwxLHNWKG5bc10sbltzKzFdLGUpKSwkPShvPXIsYT1zLHN6KG8pP29bc0goMCxvLmxlbmd0aCxhKV06byk7cmV0dXJuIGw9JChsKSxzaih0W3NdLHRbcysxXSxsKX19KHQscyxzeihuKT9uLm1hcChsbyk6c1kpO3RoaXMudGljaz10PT57dmFyIG47bGV0IHI9MDtyPXZvaWQgMCE9PXRoaXMucGF1c2VUaW1lP3RoaXMucGF1c2VUaW1lOih0LXRoaXMuc3RhcnRUaW1lKSp0aGlzLnJhdGUsdGhpcy50PXIsci89MWUzLHI9TWF0aC5tYXgoci1pLDApLCJmaW5pc2hlZCI9PT10aGlzLnBsYXlTdGF0ZSYmdm9pZCAwPT09dGhpcy5wYXVzZVRpbWUmJihyPXRoaXMudG90YWxEdXJhdGlvbik7bGV0IGE9ci90aGlzLmR1cmF0aW9uLHM9TWF0aC5mbG9vcihhKSwkPWElMTshJCYmYT49MSYmKCQ9MSksMT09PSQmJnMtLTtsZXQgaD1zJTI7KCJyZXZlcnNlIj09PWx8fCJhbHRlcm5hdGUiPT09bCYmaHx8ImFsdGVybmF0ZS1yZXZlcnNlIj09PWwmJiFoKSYmKCQ9MS0kKTtsZXQgdT1yPj10aGlzLnRvdGFsRHVyYXRpb24/MTpNYXRoLm1pbigkLDEpLGQ9Yyh0aGlzLmVhc2luZyh1KSk7ZShkKTtsZXQgXz12b2lkIDA9PT10aGlzLnBhdXNlVGltZSYmKCJmaW5pc2hlZCI9PT10aGlzLnBsYXlTdGF0ZXx8cj49dGhpcy50b3RhbER1cmF0aW9uK28pO18/KHRoaXMucGxheVN0YXRlPSJmaW5pc2hlZCIsbnVsbD09PShuPXRoaXMucmVzb2x2ZSl8fHZvaWQgMD09PW58fG4uY2FsbCh0aGlzLGQpKToiaWRsZSIhPT10aGlzLnBsYXlTdGF0ZSYmKHRoaXMuZnJhbWVSZXF1ZXN0SWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudGljaykpfSx0aGlzLnBsYXkoKX1wbGF5KCl7bGV0IGU9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5wbGF5U3RhdGU9InJ1bm5pbmciLHZvaWQgMCE9PXRoaXMucGF1c2VUaW1lP3RoaXMuc3RhcnRUaW1lPWUtdGhpcy5wYXVzZVRpbWU6dGhpcy5zdGFydFRpbWV8fCh0aGlzLnN0YXJ0VGltZT1lKSx0aGlzLmNhbmNlbFRpbWVzdGFtcD10aGlzLnN0YXJ0VGltZSx0aGlzLnBhdXNlVGltZT12b2lkIDAsdGhpcy5mcmFtZVJlcXVlc3RJZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy50aWNrKX1wYXVzZSgpe3RoaXMucGxheVN0YXRlPSJwYXVzZWQiLHRoaXMucGF1c2VUaW1lPXRoaXMudH1maW5pc2goKXt0aGlzLnBsYXlTdGF0ZT0iZmluaXNoZWQiLHRoaXMudGljaygwKX1zdG9wKCl7dmFyIGU7dGhpcy5wbGF5U3RhdGU9ImlkbGUiLHZvaWQgMCE9PXRoaXMuZnJhbWVSZXF1ZXN0SWQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuZnJhbWVSZXF1ZXN0SWQpLG51bGw9PT0oZT10aGlzLnJlamVjdCl8fHZvaWQgMD09PWV8fGUuY2FsbCh0aGlzLCExKX1jYW5jZWwoKXt0aGlzLnN0b3AoKSx0aGlzLnRpY2sodGhpcy5jYW5jZWxUaW1lc3RhbXApfXJldmVyc2UoKXt0aGlzLnJhdGUqPS0xfWNvbW1pdFN0eWxlcygpe311cGRhdGVEdXJhdGlvbihlKXt0aGlzLmR1cmF0aW9uPWUsdGhpcy50b3RhbER1cmF0aW9uPWUqKHRoaXMucmVwZWF0KzEpfWdldCBjdXJyZW50VGltZSgpe3JldHVybiB0aGlzLnR9c2V0IGN1cnJlbnRUaW1lKGUpe3ZvaWQgMCE9PXRoaXMucGF1c2VUaW1lfHwwPT09dGhpcy5yYXRlP3RoaXMucGF1c2VUaW1lPWU6dGhpcy5zdGFydFRpbWU9cGVyZm9ybWFuY2Uubm93KCktZS90aGlzLnJhdGV9Z2V0IHBsYXliYWNrUmF0ZSgpe3JldHVybiB0aGlzLnJhdGV9c2V0IHBsYXliYWNrUmF0ZShlKXt0aGlzLnJhdGU9ZX19dmFyIGxzPWZ1bmN0aW9uKCl7fTsicHJvZHVjdGlvbiIhPT1wcm9jZXNzLmVudi5OT0RFX0VOViYmKGxzPWZ1bmN0aW9uKGUsdCl7aWYoIWUpdGhyb3cgRXJyb3IodCl9KTtjbGFzcyBsbHtzZXRBbmltYXRpb24oZSl7dGhpcy5hbmltYXRpb249ZSxudWxsPT1lfHxlLmZpbmlzaGVkLnRoZW4oKCk9PnRoaXMuY2xlYXJBbmltYXRpb24oKSkuY2F0Y2goKCk9Pnt9KX1jbGVhckFuaW1hdGlvbigpe3RoaXMuYW5pbWF0aW9uPXRoaXMuZ2VuZXJhdG9yPXZvaWQgMH19bGV0IGwkPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGxjKGUpe3JldHVybiBsJC5oYXMoZSl8fGwkLnNldChlLHt0cmFuc2Zvcm1zOltdLHZhbHVlczpuZXcgTWFwfSksbCQuZ2V0KGUpfWxldCBsaD1bIiIsIlgiLCJZIiwiWiJdLGx1PXt4OiJ0cmFuc2xhdGVYIix5OiJ0cmFuc2xhdGVZIix6OiJ0cmFuc2xhdGVaIn0sbGQ9e3N5bnRheDoiPGFuZ2xlPiIsaW5pdGlhbFZhbHVlOiIwZGVnIix0b0RlZmF1bHRVbml0OmU9PmUrImRlZyJ9LGxfPXt0cmFuc2xhdGU6e3N5bnRheDoiPGxlbmd0aC1wZXJjZW50YWdlPiIsaW5pdGlhbFZhbHVlOiIwcHgiLHRvRGVmYXVsdFVuaXQ6ZT0+ZSsicHgifSxyb3RhdGU6bGQsc2NhbGU6e3N5bnRheDoiPG51bWJlcj4iLGluaXRpYWxWYWx1ZToxLHRvRGVmYXVsdFVuaXQ6c1l9LHNrZXc6bGR9LGxmPW5ldyBNYXAsbHA9ZT0+YC0tbW90aW9uLSR7ZX1gLGwxPVsieCIsInkiLCJ6Il07WyJ0cmFuc2xhdGUiLCJzY2FsZSIsInJvdGF0ZSIsInNrZXciXS5mb3JFYWNoKGU9PntsaC5mb3JFYWNoKHQ9PntsMS5wdXNoKGUrdCksbGYuc2V0KGxwKGUrdCksbF9bZV0pfSl9KTtsZXQgbDA9KGUsdCk9PmwxLmluZGV4T2YoZSktbDEuaW5kZXhPZih0KSxsZz1uZXcgU2V0KGwxKSxsbT1lPT5sZy5oYXMoZSksbDM9KGUsdCk9Pnt2YXIgbixyO2x1W3RdJiYodD1sdVt0XSk7bGV0e3RyYW5zZm9ybXM6aX09bGMoZSk7bj1pLHI9dCwtMT09PW4uaW5kZXhPZihyKSYmbi5wdXNoKHIpLGUuc3R5bGUudHJhbnNmb3JtPWx3KGkpfSxsdz1lPT5lLnNvcnQobDApLnJlZHVjZShsdiwiIikudHJpbSgpLGx2PShlLHQpPT5gJHtlfSAke3R9KHZhcigke2xwKHQpfSkpYCxsMj1lPT5lLnN0YXJ0c1dpdGgoIi0tIiksbDQ9bmV3IFNldCxsYj0oZSx0KT0+ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikuYW5pbWF0ZShlLHQpLGw4PXtjc3NSZWdpc3RlclByb3BlcnR5OigpPT4idW5kZWZpbmVkIiE9dHlwZW9mIENTUyYmT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoQ1NTLCJyZWdpc3RlclByb3BlcnR5Iiksd2FhcGk6KCk9Pk9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKEVsZW1lbnQucHJvdG90eXBlLCJhbmltYXRlIikscGFydGlhbEtleWZyYW1lcygpe3RyeXtsYih7b3BhY2l0eTpbMV19KX1jYXRjaChlKXtyZXR1cm4hMX1yZXR1cm4hMH0sZmluaXNoZWQ6KCk9PkJvb2xlYW4obGIoe29wYWNpdHk6WzAsMV19LHtkdXJhdGlvbjouMDAxfSkuZmluaXNoZWQpLGxpbmVhckVhc2luZygpe3RyeXtsYih7b3BhY2l0eTowfSx7ZWFzaW5nOiJsaW5lYXIoMCwgMSkifSl9Y2F0Y2goZSl7cmV0dXJuITF9cmV0dXJuITB9fSxsNj17fSxseT17fTtmb3IobGV0IGw1IGluIGw4KWx5W2w1XT0oKT0+KHZvaWQgMD09PWw2W2w1XSYmKGw2W2w1XT1sOFtsNV0oKSksbDZbbDVdKTtsZXQgbHg9KGUsdCk9PntsZXQgbj0iIixyPU1hdGgucm91bmQodC8uMDE1KTtmb3IobGV0IGk9MDtpPHI7aSsrKW4rPWUoc1YoMCxyLTEsaSkpKyIsICI7cmV0dXJuIG4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtMil9LGw3PShlLHQpPT5zUShlKT9seS5saW5lYXJFYXNpbmcoKT9gbGluZWFyKCR7bHgoZSx0KX0pYDpzVy5lYXNpbmc6c0soZSk/bEUoZSk6ZSxsRT0oW2UsdCxuLHJdKT0+YGN1YmljLWJlemllcigke2V9LCAke3R9LCAke259LCAke3J9KWAsbEM9ZT0+QXJyYXkuaXNBcnJheShlKT9lOltlXTtmdW5jdGlvbiBsRChlKXtyZXR1cm4gbHVbZV0mJihlPWx1W2VdKSxsbShlKT9scChlKTplfWxldCBsaz17Z2V0KGUsdCl7dD1sRCh0KTtsZXQgbj1sMih0KT9lLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCk6Z2V0Q29tcHV0ZWRTdHlsZShlKVt0XTtpZighbiYmMCE9PW4pe2xldCByPWxmLmdldCh0KTtyJiYobj1yLmluaXRpYWxWYWx1ZSl9cmV0dXJuIG59LHNldChlLHQsbil7dD1sRCh0KSxsMih0KT9lLnN0eWxlLnNldFByb3BlcnR5KHQsbik6ZS5zdHlsZVt0XT1ufX07ZnVuY3Rpb24gbEEoZSx0PSEwKXtpZihlJiYiZmluaXNoZWQiIT09ZS5wbGF5U3RhdGUpdHJ5e2Uuc3RvcD9lLnN0b3AoKToodCYmZS5jb21taXRTdHlsZXMoKSxlLmNhbmNlbCgpKX1jYXRjaChuKXt9fWZ1bmN0aW9uIGxJKGUsdCxuLHI9e30saSl7dmFyIG8sYTtsZXQgcz13aW5kb3cuX19NT1RJT05fREVWX1RPT0xTX1JFQ09SRCxsPSExIT09ci5yZWNvcmQmJnMsJCx7ZHVyYXRpb246Yz1zVy5kdXJhdGlvbixkZWxheTpoPXNXLmRlbGF5LGVuZERlbGF5OnU9c1cuZW5kRGVsYXkscmVwZWF0OmQ9c1cucmVwZWF0LGVhc2luZzpfPXNXLmVhc2luZyxwZXJzaXN0OmY9ITEsZGlyZWN0aW9uOnAsb2Zmc2V0OmcsYWxsb3dXZWJraXRBY2NlbGVyYXRpb246bT0hMX09cix3PWxjKGUpLHY9bG0odCksYj1seS53YWFwaSgpO3YmJmwzKGUsdCk7bGV0IHk9bEQodCkseD0obz13LnZhbHVlcyxhPXksby5oYXMoYSl8fG8uc2V0KGEsbmV3IGxsKSxvLmdldChhKSksRT1sZi5nZXQoeSk7cmV0dXJuIGxBKHguYW5pbWF0aW9uLCEoc3EoXykmJnguZ2VuZXJhdG9yKSYmITEhPT1yLnJlY29yZCksKCk9PntsZXQgbz0oKT0+e3ZhciB0LG47cmV0dXJuIG51bGwhPT0obj1udWxsIT09KHQ9bGsuZ2V0KGUseSkpJiZ2b2lkIDAhPT10P3Q6bnVsbD09RT92b2lkIDA6RS5pbml0aWFsVmFsdWUpJiZ2b2lkIDAhPT1uP246MH0sYT1mdW5jdGlvbiBlKHQsbil7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspbnVsbD09PXRbcl0mJih0W3JdPXI/dFtyLTFdOm4oKSk7cmV0dXJuIHR9KGxDKG4pLG8pLHc9ZnVuY3Rpb24gZSh0LG4pe3ZhciByO2xldCBpPShudWxsPT1uP3ZvaWQgMDpuLnRvRGVmYXVsdFVuaXQpfHxzWSxvPXRbdC5sZW5ndGgtMV07aWYoc1gobykpe2xldCBhPShudWxsPT09KHI9by5tYXRjaCgvKC0/W1xkLl0rKShbYS16JV0qKS8pKXx8dm9pZCAwPT09cj92b2lkIDA6clsyXSl8fCIiO2EmJihpPWU9PmUrYSl9cmV0dXJuIGl9KGEsRSk7aWYoc3EoXykpe2xldCBDPV8uY3JlYXRlQW5pbWF0aW9uKGEsIm9wYWNpdHkiIT09dCxvLHkseCk7Xz1DLmVhc2luZyxhPUMua2V5ZnJhbWVzfHxhLGM9Qy5kdXJhdGlvbnx8Y31pZihsMih5KSYmKGx5LmNzc1JlZ2lzdGVyUHJvcGVydHkoKT9mdW5jdGlvbiBlKHQpe2lmKCFsNC5oYXModCkpe2w0LmFkZCh0KTt0cnl7bGV0e3N5bnRheDpuLGluaXRpYWxWYWx1ZTpyfT1sZi5oYXModCk/bGYuZ2V0KHQpOnt9O0NTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOnQsaW5oZXJpdHM6ITEsc3ludGF4Om4saW5pdGlhbFZhbHVlOnJ9KX1jYXRjaChpKXt9fX0oeSk6Yj0hMSksdiYmIWx5LmxpbmVhckVhc2luZygpJiYoc1EoXyl8fHN6KF8pJiZfLnNvbWUoc1EpKSYmKGI9ITEpLGIpe0UmJihhPWEubWFwKGU9PnNGKGUpP0UudG9EZWZhdWx0VW5pdChlKTplKSksMT09PWEubGVuZ3RoJiYoIWx5LnBhcnRpYWxLZXlmcmFtZXMoKXx8bCkmJmEudW5zaGlmdChvKCkpO2xldCBEPXtkZWxheTpzSi5tcyhoKSxkdXJhdGlvbjpzSi5tcyhjKSxlbmREZWxheTpzSi5tcyh1KSxlYXNpbmc6c3ooXyk/dm9pZCAwOmw3KF8sYyksZGlyZWN0aW9uOnAsaXRlcmF0aW9uczpkKzEsZmlsbDoiYm90aCJ9OygkPWUuYW5pbWF0ZSh7W3ldOmEsb2Zmc2V0OmcsZWFzaW5nOnN6KF8pP18ubWFwKGU9Pmw3KGUsYykpOnZvaWQgMH0sRCkpLmZpbmlzaGVkfHwoJC5maW5pc2hlZD1uZXcgUHJvbWlzZSgoZSx0KT0+eyQub25maW5pc2g9ZSwkLm9uY2FuY2VsPXR9KSk7bGV0IGs9YVthLmxlbmd0aC0xXTskLmZpbmlzaGVkLnRoZW4oKCk9PntmfHwobGsuc2V0KGUseSxrKSwkLmNhbmNlbCgpKX0pLmNhdGNoKHNaKSxtfHwoJC5wbGF5YmFja1JhdGU9MS4wMDAwMDEpfWVsc2UgaWYoaSYmdikxPT09KGE9YS5tYXAoZT0+InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlRmxvYXQoZSk6ZSkpLmxlbmd0aCYmYS51bnNoaWZ0KHBhcnNlRmxvYXQobygpKSksJD1uZXcgaSh0PT57bGsuc2V0KGUseSx3P3codCk6dCl9LGEsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHIpLHtkdXJhdGlvbjpjLGVhc2luZzpffSkpO2Vsc2V7bGV0IEE9YVthLmxlbmd0aC0xXTtsay5zZXQoZSx5LEUmJnNGKEEpP0UudG9EZWZhdWx0VW5pdChBKTpBKX1yZXR1cm4gbCYmcyhlLHQsYSx7ZHVyYXRpb246YyxkZWxheTpoLGVhc2luZzpfLHJlcGVhdDpkLG9mZnNldDpnfSwibW90aW9uLW9uZSIpLHguc2V0QW5pbWF0aW9uKCQpLCR9fWxldCBsVD0oZSx0KT0+ZVt0XT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSksZVt0XSk6T2JqZWN0LmFzc2lnbih7fSxlKSxsUz1lPT5lKCksbEw9KGUsdCxuPXNXLmR1cmF0aW9uKT0+bmV3IFByb3h5KHthbmltYXRpb25zOmUubWFwKGxTKS5maWx0ZXIoQm9vbGVhbiksZHVyYXRpb246bixvcHRpb25zOnR9LGxPKSxsTj1lPT5lLmFuaW1hdGlvbnNbMF0sbE89e2dldChlLHQpe2xldCBuPWxOKGUpO3N3aXRjaCh0KXtjYXNlImR1cmF0aW9uIjpyZXR1cm4gZS5kdXJhdGlvbjtjYXNlImN1cnJlbnRUaW1lIjpyZXR1cm4gc0oucygobnVsbD09bj92b2lkIDA6blt0XSl8fDApO2Nhc2UicGxheWJhY2tSYXRlIjpjYXNlInBsYXlTdGF0ZSI6cmV0dXJuIG51bGw9PW4/dm9pZCAwOm5bdF07Y2FzZSJmaW5pc2hlZCI6cmV0dXJuIGUuZmluaXNoZWR8fChlLmZpbmlzaGVkPVByb21pc2UuYWxsKGUuYW5pbWF0aW9ucy5tYXAobE0pKS5jYXRjaChzWikpLGUuZmluaXNoZWQ7Y2FzZSJzdG9wIjpyZXR1cm4oKT0+e2UuYW5pbWF0aW9ucy5mb3JFYWNoKGU9PmxBKGUpKX07Y2FzZSJmb3JFYWNoTmF0aXZlIjpyZXR1cm4gdD0+e2UuYW5pbWF0aW9ucy5mb3JFYWNoKG49PnQobixlKSl9O2RlZmF1bHQ6cmV0dXJuIHZvaWQgMD09PShudWxsPT1uP3ZvaWQgMDpuW3RdKT92b2lkIDA6KCk9PmUuYW5pbWF0aW9ucy5mb3JFYWNoKGU9PmVbdF0oKSl9fSxzZXQoZSx0LG4pe3N3aXRjaCh0KXtjYXNlImN1cnJlbnRUaW1lIjpuPXNKLm1zKG4pO2Nhc2UiY3VycmVudFRpbWUiOmNhc2UicGxheWJhY2tSYXRlIjpmb3IobGV0IHI9MDtyPGUuYW5pbWF0aW9ucy5sZW5ndGg7cisrKWUuYW5pbWF0aW9uc1tyXVt0XT1uO3JldHVybiEwfXJldHVybiExfX0sbE09ZT0+ZS5maW5pc2hlZDtmdW5jdGlvbiBsUChlLHQsbil7cmV0dXJuIHNRKGUpP2UodCxuKTplfWxldCBsOT0oJGU9bGEsZnVuY3Rpb24gZSh0LG4scj17fSl7dmFyIGksbyxhO3Q9KCJzdHJpbmciPT10eXBlb2YoaT10KT9vPyhudWxsIT09KGE9b1tpXSkmJnZvaWQgMCE9PWF8fChvW2ldPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoaSkpLGk9b1tpXSk6aT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGkpOmkgaW5zdGFuY2VvZiBFbGVtZW50JiYoaT1baV0pLEFycmF5LmZyb20oaXx8W10pKTtsZXQgcz10Lmxlbmd0aDtscyhCb29sZWFuKHMpLCJObyB2YWxpZCBlbGVtZW50IHByb3ZpZGVkLiIpLGxzKEJvb2xlYW4obiksIk5vIGtleWZyYW1lcyBkZWZpbmVkLiIpO2xldCBsPVtdO2ZvcihsZXQgJD0wOyQ8czskKyspe2xldCBjPXRbJF07Zm9yKGxldCBoIGluIG4pe2xldCB1PWxUKHIsaCk7dS5kZWxheT1sUCh1LmRlbGF5LCQscyk7bGV0IGQ9bEkoYyxoLG5baF0sdSwkZSk7bC5wdXNoKGQpfX1yZXR1cm4gbEwobCxyLHIuZHVyYXRpb24pfSk7ZnVuY3Rpb24gbFIoZSx0PXt9KXtyZXR1cm4gbEwoWygpPT57bGV0IG49bmV3IGxhKGUsWzAsMV0sdCk7cmV0dXJuIG4uZmluaXNoZWQuY2F0Y2goKCk9Pnt9KSxufSxdLHQsdC5kdXJhdGlvbil9ZnVuY3Rpb24gbFUoZSx0LG4pe2xldCByPXNRKGUpP2xSOmw5O3JldHVybiByKGUsdCxuKX12YXIgbEI9e30sbFc9ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgUHJvbWlzZSYmUHJvbWlzZS5wcm90b3R5cGUmJlByb21pc2UucHJvdG90eXBlLnRoZW59LGxGPXt9LGx6PXt9O2xldCBsSCxsaj1bMCwyNiw0NCw3MCwxMDAsMTM0LDE3MiwxOTYsMjQyLDI5MiwzNDYsNDA0LDQ2Niw1MzIsNTgxLDY1NSw3MzMsODE1LDkwMSw5OTEsMTA4NSwxMTU2LDEyNTgsMTM2NCwxNDc0LDE1ODgsMTcwNiwxODI4LDE5MjEsMjA1MSwyMTg1LDIzMjMsMjQ2NSwyNjExLDI3NjEsMjg3NiwzMDM0LDMxOTYsMzM2MiwzNTMyLDM3MDZdO2x6LmdldFN5bWJvbFNpemU9ZnVuY3Rpb24gZSh0KXtpZighdCl0aHJvdyBFcnJvcignInZlcnNpb24iIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCcpO2lmKHQ8MXx8dD40MCl0aHJvdyBFcnJvcignInZlcnNpb24iIHNob3VsZCBiZSBpbiByYW5nZSBmcm9tIDEgdG8gNDAnKTtyZXR1cm4gNCp0KzE3fSxsei5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcz1mdW5jdGlvbiBlKHQpe3JldHVybiBsalt0XX0sbHouZ2V0QkNIRGlnaXQ9ZnVuY3Rpb24oZSl7bGV0IHQ9MDtmb3IoOzAhPT1lOyl0KyssZT4+Pj0xO3JldHVybiB0fSxsei5zZXRUb1NKSVNGdW5jdGlvbj1mdW5jdGlvbiBlKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IEVycm9yKCcidG9TSklTRnVuYyIgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24uJyk7bEg9dH0sbHouaXNLYW5qaU1vZGVFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PWxIfSxsei50b1NKSVM9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbEgodCl9O3ZhciBsWixsWSxsVixsRyxsSyxscSxsUSxsWCxsSiwkZSwkdCwkbj17fTtmdW5jdGlvbiAkcigpe3RoaXMuYnVmZmVyPVtdLHRoaXMubGVuZ3RoPTB9ZnVuY3Rpb24gJGkoZSl7aWYoIWV8fGU8MSl0aHJvdyBFcnJvcigiQml0TWF0cml4IHNpemUgbXVzdCBiZSBkZWZpbmVkIGFuZCBncmVhdGVyIHRoYW4gMCIpO3RoaXMuc2l6ZT1lLHRoaXMuZGF0YT1uZXcgVWludDhBcnJheShlKmUpLHRoaXMucmVzZXJ2ZWRCaXQ9bmV3IFVpbnQ4QXJyYXkoZSplKX0oJHQ9JG4pLkw9e2JpdDoxfSwkdC5NPXtiaXQ6MH0sJHQuUT17Yml0OjN9LCR0Lkg9e2JpdDoyfSwkdC5pc1ZhbGlkPWZ1bmN0aW9uIGUodCl7cmV0dXJuIHQmJnZvaWQgMCE9PXQuYml0JiZ0LmJpdD49MCYmdC5iaXQ8NH0sJHQuZnJvbT1mdW5jdGlvbiBlKHQsbil7aWYoJHQuaXNWYWxpZCh0KSlyZXR1cm4gdDt0cnl7cmV0dXJuIGZ1bmN0aW9uIGUodCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IEVycm9yKCJQYXJhbSBpcyBub3QgYSBzdHJpbmciKTtsZXQgbj10LnRvTG93ZXJDYXNlKCk7c3dpdGNoKG4pe2Nhc2UibCI6Y2FzZSJsb3ciOnJldHVybiAkdC5MO2Nhc2UibSI6Y2FzZSJtZWRpdW0iOnJldHVybiAkdC5NO2Nhc2UicSI6Y2FzZSJxdWFydGlsZSI6cmV0dXJuICR0LlE7Y2FzZSJoIjpjYXNlImhpZ2giOnJldHVybiAkdC5IO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gRUMgTGV2ZWw6ICIrdCl9fSh0KX1jYXRjaChyKXtyZXR1cm4gbn19LCRyLnByb3RvdHlwZT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybih0aGlzLmJ1ZmZlcltNYXRoLmZsb29yKGUvOCldPj4+Ny1lJTgmMSk9PTF9LHB1dDpmdW5jdGlvbihlLHQpe2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5wdXRCaXQoKGU+Pj50LW4tMSYxKT09MSl9LGdldExlbmd0aEluQml0czpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0scHV0Qml0OmZ1bmN0aW9uKGUpe2xldCB0PU1hdGguZmxvb3IodGhpcy5sZW5ndGgvOCk7dGhpcy5idWZmZXIubGVuZ3RoPD10JiZ0aGlzLmJ1ZmZlci5wdXNoKDApLGUmJih0aGlzLmJ1ZmZlclt0XXw9MTI4Pj4+dGhpcy5sZW5ndGglOCksdGhpcy5sZW5ndGgrK319LCRpLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oZSx0LG4scil7bGV0IGk9ZSp0aGlzLnNpemUrdDt0aGlzLmRhdGFbaV09bixyJiYodGhpcy5yZXNlcnZlZEJpdFtpXT0hMCl9LCRpLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5kYXRhW2UqdGhpcy5zaXplK3RdfSwkaS5wcm90b3R5cGUueG9yPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmRhdGFbZSp0aGlzLnNpemUrdF1ePW59LCRpLnByb3RvdHlwZS5pc1Jlc2VydmVkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVzZXJ2ZWRCaXRbZSp0aGlzLnNpemUrdF19O3ZhciAkbz17fTshZnVuY3Rpb24oZSl7bGV0IHQ9bHouZ2V0U3ltYm9sU2l6ZTtlLmdldFJvd0NvbENvb3Jkcz1mdW5jdGlvbiBlKG4pe2lmKDE9PT1uKXJldHVybltdO2xldCByPU1hdGguZmxvb3Iobi83KSsyLGk9dChuKSxvPTE0NT09PWk/MjY6MipNYXRoLmNlaWwoKGktMTMpLygyKnItMikpLGE9W2ktN107Zm9yKGxldCBzPTE7czxyLTE7cysrKWFbc109YVtzLTFdLW87cmV0dXJuIGEucHVzaCg2KSxhLnJldmVyc2UoKX0sZS5nZXRQb3NpdGlvbnM9ZnVuY3Rpb24gdChuKXtsZXQgcj1bXSxpPWUuZ2V0Um93Q29sQ29vcmRzKG4pLG89aS5sZW5ndGg7Zm9yKGxldCBhPTA7YTxvO2ErKylmb3IobGV0IHM9MDtzPG87cysrKSgwIT09YXx8MCE9PXMpJiYoMCE9PWF8fHMhPT1vLTEpJiYoYSE9PW8tMXx8MCE9PXMpJiZyLnB1c2goW2lbYV0saVtzXV0pO3JldHVybiByfX0oJG8pO3ZhciAkYT17fTtsZXQgJHM9bHouZ2V0U3ltYm9sU2l6ZTskYS5nZXRQb3NpdGlvbnM9ZnVuY3Rpb24gZSh0KXtsZXQgbj0kcyh0KTtyZXR1cm5bWzAsMF0sW24tNywwXSxbMCxuLTddXX07dmFyICRsPXt9OyFmdW5jdGlvbihlKXtlLlBhdHRlcm5zPXtQQVRURVJOMDAwOjAsUEFUVEVSTjAwMToxLFBBVFRFUk4wMTA6MixQQVRURVJOMDExOjMsUEFUVEVSTjEwMDo0LFBBVFRFUk4xMDE6NSxQQVRURVJOMTEwOjYsUEFUVEVSTjExMTo3fTtsZXQgdD17TjE6MyxOMjozLE4zOjQwLE40OjEwfTtmdW5jdGlvbiBuKHQsbixyKXtzd2l0Y2godCl7Y2FzZSBlLlBhdHRlcm5zLlBBVFRFUk4wMDA6cmV0dXJuKG4rciklMj09MDtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjAwMTpyZXR1cm4gbiUyPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMDEwOnJldHVybiByJTM9PTA7Y2FzZSBlLlBhdHRlcm5zLlBBVFRFUk4wMTE6cmV0dXJuKG4rciklMz09MDtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjEwMDpyZXR1cm4oTWF0aC5mbG9vcihuLzIpK01hdGguZmxvb3Ioci8zKSklMj09MDtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjEwMTpyZXR1cm4gbipyJTIrbipyJTM9PTA7Y2FzZSBlLlBhdHRlcm5zLlBBVFRFUk4xMTA6cmV0dXJuKG4qciUyK24qciUzKSUyPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMTExOnJldHVybihuKnIlMysobityKSUyKSUyPT0wO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImJhZCBtYXNrUGF0dGVybjoiK3QpfX1lLmlzVmFsaWQ9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbnVsbCE9dCYmIiIhPT10JiYhaXNOYU4odCkmJnQ+PTAmJnQ8PTd9LGUuZnJvbT1mdW5jdGlvbiB0KG4pe3JldHVybiBlLmlzVmFsaWQobik/cGFyc2VJbnQobiwxMCk6dm9pZCAwfSxlLmdldFBlbmFsdHlOMT1mdW5jdGlvbiBlKG4pe2xldCByPW4uc2l6ZSxpPTAsbz0wLGE9MCxzPW51bGwsbD1udWxsO2ZvcihsZXQgJD0wOyQ8cjskKyspe289YT0wLHM9bD1udWxsO2ZvcihsZXQgYz0wO2M8cjtjKyspe2xldCBoPW4uZ2V0KCQsYyk7aD09PXM/bysrOihvPj01JiYoaSs9dC5OMSsoby01KSkscz1oLG89MSksKGg9bi5nZXQoYywkKSk9PT1sP2ErKzooYT49NSYmKGkrPXQuTjErKGEtNSkpLGw9aCxhPTEpfW8+PTUmJihpKz10Lk4xKyhvLTUpKSxhPj01JiYoaSs9dC5OMSsoYS01KSl9cmV0dXJuIGl9LGUuZ2V0UGVuYWx0eU4yPWZ1bmN0aW9uIGUobil7bGV0IHI9bi5zaXplLGk9MDtmb3IobGV0IG89MDtvPHItMTtvKyspZm9yKGxldCBhPTA7YTxyLTE7YSsrKXtsZXQgcz1uLmdldChvLGEpK24uZ2V0KG8sYSsxKStuLmdldChvKzEsYSkrbi5nZXQobysxLGErMSk7KDQ9PT1zfHwwPT09cykmJmkrK31yZXR1cm4gaSp0Lk4yfSxlLmdldFBlbmFsdHlOMz1mdW5jdGlvbiBlKG4pe2xldCByPW4uc2l6ZSxpPTAsbz0wLGE9MDtmb3IobGV0IHM9MDtzPHI7cysrKXtvPWE9MDtmb3IobGV0IGw9MDtsPHI7bCsrKW89bzw8MSYyMDQ3fG4uZ2V0KHMsbCksbD49MTAmJigxNDg4PT09b3x8OTM9PT1vKSYmaSsrLGE9YTw8MSYyMDQ3fG4uZ2V0KGwscyksbD49MTAmJigxNDg4PT09YXx8OTM9PT1hKSYmaSsrfXJldHVybiBpKnQuTjN9LGUuZ2V0UGVuYWx0eU40PWZ1bmN0aW9uIGUobil7bGV0IHI9MCxpPW4uZGF0YS5sZW5ndGg7Zm9yKGxldCBvPTA7bzxpO28rKylyKz1uLmRhdGFbb107bGV0IGE9TWF0aC5hYnMoTWF0aC5jZWlsKDEwMCpyL2kvNSktMTApO3JldHVybiBhKnQuTjR9LGUuYXBwbHlNYXNrPWZ1bmN0aW9uIGUodCxyKXtsZXQgaT1yLnNpemU7Zm9yKGxldCBvPTA7bzxpO28rKylmb3IobGV0IGE9MDthPGk7YSsrKXIuaXNSZXNlcnZlZChhLG8pfHxyLnhvcihhLG8sbih0LGEsbykpfSxlLmdldEJlc3RNYXNrPWZ1bmN0aW9uIHQobixyKXtsZXQgaT1PYmplY3Qua2V5cyhlLlBhdHRlcm5zKS5sZW5ndGgsbz0wLGE9MS8wO2ZvcihsZXQgcz0wO3M8aTtzKyspe3IocyksZS5hcHBseU1hc2socyxuKTtsZXQgbD1lLmdldFBlbmFsdHlOMShuKStlLmdldFBlbmFsdHlOMihuKStlLmdldFBlbmFsdHlOMyhuKStlLmdldFBlbmFsdHlONChuKTtlLmFwcGx5TWFzayhzLG4pLGw8YSYmKGE9bCxvPXMpfXJldHVybiBvfX0oJGwpO3ZhciAkJD17fTtsZXQgJGM9JG4sJGg9WzEsMSwxLDEsMSwxLDEsMSwxLDEsMiwyLDEsMiwyLDQsMSwyLDQsNCwyLDQsNCw0LDIsNCw2LDUsMiw0LDYsNiwyLDUsOCw4LDQsNSw4LDgsNCw1LDgsMTEsNCw4LDEwLDExLDQsOSwxMiwxNiw0LDksMTYsMTYsNiwxMCwxMiwxOCw2LDEwLDE3LDE2LDYsMTEsMTYsMTksNiwxMywxOCwyMSw3LDE0LDIxLDI1LDgsMTYsMjAsMjUsOCwxNywyMywyNSw5LDE3LDIzLDM0LDksMTgsMjUsMzAsMTAsMjAsMjcsMzIsMTIsMjEsMjksMzUsMTIsMjMsMzQsMzcsMTIsMjUsMzQsNDAsMTMsMjYsMzUsNDIsMTQsMjgsMzgsNDUsMTUsMjksNDAsNDgsMTYsMzEsNDMsNTEsMTcsMzMsNDUsNTQsMTgsMzUsNDgsNTcsMTksMzcsNTEsNjAsMTksMzgsNTMsNjMsMjAsNDAsNTYsNjYsMjEsNDMsNTksNzAsMjIsNDUsNjIsNzQsMjQsNDcsNjUsNzcsMjUsNDksNjgsODFdLCR1PVs3LDEwLDEzLDE3LDEwLDE2LDIyLDI4LDE1LDI2LDM2LDQ0LDIwLDM2LDUyLDY0LDI2LDQ4LDcyLDg4LDM2LDY0LDk2LDExMiw0MCw3MiwxMDgsMTMwLDQ4LDg4LDEzMiwxNTYsNjAsMTEwLDE2MCwxOTIsNzIsMTMwLDE5MiwyMjQsODAsMTUwLDIyNCwyNjQsOTYsMTc2LDI2MCwzMDgsMTA0LDE5OCwyODgsMzUyLDEyMCwyMTYsMzIwLDM4NCwxMzIsMjQwLDM2MCw0MzIsMTQ0LDI4MCw0MDgsNDgwLDE2OCwzMDgsNDQ4LDUzMiwxODAsMzM4LDUwNCw1ODgsMTk2LDM2NCw1NDYsNjUwLDIyNCw0MTYsNjAwLDcwMCwyMjQsNDQyLDY0NCw3NTAsMjUyLDQ3Niw2OTAsODE2LDI3MCw1MDQsNzUwLDkwMCwzMDAsNTYwLDgxMCw5NjAsMzEyLDU4OCw4NzAsMTA1MCwzMzYsNjQ0LDk1MiwxMTEwLDM2MCw3MDAsMTAyMCwxMjAwLDM5MCw3MjgsMTA1MCwxMjYwLDQyMCw3ODQsMTE0MCwxMzUwLDQ1MCw4MTIsMTIwMCwxNDQwLDQ4MCw4NjgsMTI5MCwxNTMwLDUxMCw5MjQsMTM1MCwxNjIwLDU0MCw5ODAsMTQ0MCwxNzEwLDU3MCwxMDM2LDE1MzAsMTgwMCw1NzAsMTA2NCwxNTkwLDE4OTAsNjAwLDExMjAsMTY4MCwxOTgwLDYzMCwxMjA0LDE3NzAsMjEwMCw2NjAsMTI2MCwxODYwLDIyMjAsNzIwLDEzMTYsMTk1MCwyMzEwLDc1MCwxMzcyLDIwNDAsMjQzMF07JCQuZ2V0QmxvY2tzQ291bnQ9ZnVuY3Rpb24gZSh0LG4pe3N3aXRjaChuKXtjYXNlICRjLkw6cmV0dXJuICRoWyh0LTEpKjQrMF07Y2FzZSAkYy5NOnJldHVybiAkaFsodC0xKSo0KzFdO2Nhc2UgJGMuUTpyZXR1cm4gJGhbKHQtMSkqNCsyXTtjYXNlICRjLkg6cmV0dXJuICRoWyh0LTEpKjQrM107ZGVmYXVsdDpyZXR1cm59fSwkJC5nZXRUb3RhbENvZGV3b3Jkc0NvdW50PWZ1bmN0aW9uIGUodCxuKXtzd2l0Y2gobil7Y2FzZSAkYy5MOnJldHVybiAkdVsodC0xKSo0KzBdO2Nhc2UgJGMuTTpyZXR1cm4gJHVbKHQtMSkqNCsxXTtjYXNlICRjLlE6cmV0dXJuICR1Wyh0LTEpKjQrMl07Y2FzZSAkYy5IOnJldHVybiAkdVsodC0xKSo0KzNdO2RlZmF1bHQ6cmV0dXJufX07dmFyICRkPXt9LCRfPXt9O2xldCAkZj1uZXcgVWludDhBcnJheSg1MTIpLCRwPW5ldyBVaW50OEFycmF5KDI1Nik7IWZ1bmN0aW9uIGUoKXtsZXQgdD0xO2ZvcihsZXQgbj0wO248MjU1O24rKykkZltuXT10LCRwW3RdPW4sMjU2Jih0PDw9MSkmJih0Xj0yODUpO2ZvcihsZXQgcj0yNTU7cjw1MTI7cisrKSRmW3JdPSRmW3ItMjU1XX0oKSwkXy5sb2c9ZnVuY3Rpb24gZSh0KXtpZih0PDEpdGhyb3cgRXJyb3IoImxvZygiK3QrIikiKTtyZXR1cm4gJHBbdF19LCRfLmV4cD1mdW5jdGlvbiBlKHQpe3JldHVybiAkZlt0XX0sJF8ubXVsPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gMD09PXR8fDA9PT1uPzA6JGZbJHBbdF0rJHBbbl1dfSxmdW5jdGlvbihlKXtsZXQgdD0kXztlLm11bD1mdW5jdGlvbiBlKG4scil7bGV0IGk9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgrci5sZW5ndGgtMSk7Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDtvKyspZm9yKGxldCBhPTA7YTxyLmxlbmd0aDthKyspaVtvK2FdXj10Lm11bChuW29dLHJbYV0pO3JldHVybiBpfSxlLm1vZD1mdW5jdGlvbiBlKG4scil7bGV0IGk9bmV3IFVpbnQ4QXJyYXkobik7Zm9yKDtpLmxlbmd0aC1yLmxlbmd0aD49MDspe2xldCBvPWlbMF07Zm9yKGxldCBhPTA7YTxyLmxlbmd0aDthKyspaVthXV49dC5tdWwoclthXSxvKTtsZXQgcz0wO2Zvcig7czxpLmxlbmd0aCYmMD09PWlbc107KXMrKztpPWkuc2xpY2Uocyl9cmV0dXJuIGl9LGUuZ2VuZXJhdGVFQ1BvbHlub21pYWw9ZnVuY3Rpb24gbihyKXtsZXQgaT1uZXcgVWludDhBcnJheShbMV0pO2ZvcihsZXQgbz0wO288cjtvKyspaT1lLm11bChpLG5ldyBVaW50OEFycmF5KFsxLHQuZXhwKG8pXSkpO3JldHVybiBpfX0oJGQpO2xldCAkMT0kZDtmdW5jdGlvbiAkMChlKXt0aGlzLmdlblBvbHk9dm9pZCAwLHRoaXMuZGVncmVlPWUsdGhpcy5kZWdyZWUmJnRoaXMuaW5pdGlhbGl6ZSh0aGlzLmRlZ3JlZSl9JDAucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24gZSh0KXt0aGlzLmRlZ3JlZT10LHRoaXMuZ2VuUG9seT0kMS5nZW5lcmF0ZUVDUG9seW5vbWlhbCh0aGlzLmRlZ3JlZSl9LCQwLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24gZSh0KXtpZighdGhpcy5nZW5Qb2x5KXRocm93IEVycm9yKCJFbmNvZGVyIG5vdCBpbml0aWFsaXplZCIpO2xldCBuPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoK3RoaXMuZGVncmVlKTtuLnNldCh0KTtsZXQgcj0kMS5tb2Qobix0aGlzLmdlblBvbHkpLGk9dGhpcy5kZWdyZWUtci5sZW5ndGg7aWYoaT4wKXtsZXQgbz1uZXcgVWludDhBcnJheSh0aGlzLmRlZ3JlZSk7cmV0dXJuIG8uc2V0KHIsaSksb31yZXR1cm4gcn07dmFyICRnPXt9LCRtPXt9LCQzPXt9OyQzLmlzVmFsaWQ9ZnVuY3Rpb24gZSh0KXtyZXR1cm4haXNOYU4odCkmJnQ+PTEmJnQ8PTQwfTt2YXIgJHc9e307bGV0ICR2PSJbMC05XSsiLCQyPSIoPzpbdTMwMDAtdTMwM0ZdfFt1MzA0MC11MzA5Rl18W3UzMEEwLXUzMEZGXXxbdUZGMDAtdUZGRUZdfFt1NEUwMC11OUZBRl18W3UyNjA1LXUyNjA2XXxbdTIxOTAtdTIxOTVdfHUyMDNCfFt1MjAxMHUyMDE1dTIwMTh1MjAxOXUyMDI1dTIwMjZ1MjAxQ3UyMDFEdTIyMjV1MjI2MF18W3UwMzkxLXUwNDUxXXxbdTAwQTd1MDBBOHUwMEIxdTAwQjR1MDBEN3UwMEY3XSkrIjskMj0kMi5yZXBsYWNlKC91L2csIlxcdSIpO2xldCAkND0iKD86KD8hW0EtWjAtOSAkJSorXFwtLi86XXwiKyQyKyIpKD86LnxbXHJcbl0pKSsiOyR3LktBTkpJPVJlZ0V4cCgkMiwiZyIpLCR3LkJZVEVfS0FOSkk9UmVnRXhwKCJbXkEtWjAtOSAkJSorXFwtLi86XSsiLCJnIiksJHcuQllURT1SZWdFeHAoJDQsImciKSwkdy5OVU1FUklDPVJlZ0V4cCgkdiwiZyIpLCR3LkFMUEhBTlVNRVJJQz1SZWdFeHAoIltBLVogJCUqK1xcLS4vOl0rIiwiZyIpO2xldCAkYj1SZWdFeHAoIl4iKyQyKyIkIiksJDg9UmVnRXhwKCJeIiskdisiJCIpLCQ2PVJlZ0V4cCgiXltBLVowLTkgJCUqK1xcLS4vOl0rJCIpOyR3LnRlc3RLYW5qaT1mdW5jdGlvbiBlKHQpe3JldHVybiAkYi50ZXN0KHQpfSwkdy50ZXN0TnVtZXJpYz1mdW5jdGlvbiBlKHQpe3JldHVybiAkOC50ZXN0KHQpfSwkdy50ZXN0QWxwaGFudW1lcmljPWZ1bmN0aW9uIGUodCl7cmV0dXJuICQ2LnRlc3QodCl9LGZ1bmN0aW9uKGUpe2xldCB0PSQzLG49JHc7ZS5OVU1FUklDPXtpZDoiTnVtZXJpYyIsYml0OjEsY2NCaXRzOlsxMCwxMiwxNF19LGUuQUxQSEFOVU1FUklDPXtpZDoiQWxwaGFudW1lcmljIixiaXQ6MixjY0JpdHM6WzksMTEsMTNdfSxlLkJZVEU9e2lkOiJCeXRlIixiaXQ6NCxjY0JpdHM6WzgsMTYsMTZdfSxlLktBTkpJPXtpZDoiS2FuamkiLGJpdDo4LGNjQml0czpbOCwxMCwxMl19LGUuTUlYRUQ9e2JpdDotMX0sZS5nZXRDaGFyQ291bnRJbmRpY2F0b3I9ZnVuY3Rpb24gZShuLHIpe2lmKCFuLmNjQml0cyl0aHJvdyBFcnJvcigiSW52YWxpZCBtb2RlOiAiK24pO2lmKCF0LmlzVmFsaWQocikpdGhyb3cgRXJyb3IoIkludmFsaWQgdmVyc2lvbjogIityKTtyZXR1cm4gcj49MSYmcjwxMD9uLmNjQml0c1swXTpyPDI3P24uY2NCaXRzWzFdOm4uY2NCaXRzWzJdfSxlLmdldEJlc3RNb2RlRm9yRGF0YT1mdW5jdGlvbiB0KHIpe3JldHVybiBuLnRlc3ROdW1lcmljKHIpP2UuTlVNRVJJQzpuLnRlc3RBbHBoYW51bWVyaWMocik/ZS5BTFBIQU5VTUVSSUM6bi50ZXN0S2Fuamkocik/ZS5LQU5KSTooMCxlLkJZVEUpfSxlLnRvU3RyaW5nPWZ1bmN0aW9uIGUodCl7aWYodCYmdC5pZClyZXR1cm4gdC5pZDt0aHJvdyBFcnJvcigiSW52YWxpZCBtb2RlIil9LGUuaXNWYWxpZD1mdW5jdGlvbiBlKHQpe3JldHVybiB0JiZ0LmJpdCYmdC5jY0JpdHN9LGUuZnJvbT1mdW5jdGlvbiB0KG4scil7aWYoZS5pc1ZhbGlkKG4pKXJldHVybiBuO3RyeXtyZXR1cm4gZnVuY3Rpb24gdChuKXtpZigic3RyaW5nIiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IoIlBhcmFtIGlzIG5vdCBhIHN0cmluZyIpO2xldCByPW4udG9Mb3dlckNhc2UoKTtzd2l0Y2gocil7Y2FzZSJudW1lcmljIjpyZXR1cm4gZS5OVU1FUklDO2Nhc2UiYWxwaGFudW1lcmljIjpyZXR1cm4gZS5BTFBIQU5VTUVSSUM7Y2FzZSJrYW5qaSI6cmV0dXJuIGUuS0FOSkk7Y2FzZSJieXRlIjpyZXR1cm4gZS5CWVRFO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gbW9kZTogIituKX19KG4pfWNhdGNoKGkpe3JldHVybiByfX19KCRtKSxmdW5jdGlvbihlKXtsZXQgdD1seixuPSQkLHI9JG4saT0kbSxvPSQzLGE9dC5nZXRCQ0hEaWdpdCg3OTczKTtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuIGkuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKGUsdCkrNH1mdW5jdGlvbiBsKGUsdCl7bGV0IG49MDtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2xldCByPXMoZS5tb2RlLHQpO24rPXIrZS5nZXRCaXRzTGVuZ3RoKCl9KSxufWUuZnJvbT1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIG8uaXNWYWxpZCh0KT9wYXJzZUludCh0LDEwKTpufSxlLmdldENhcGFjaXR5PWZ1bmN0aW9uIGUocixhLGwpe2lmKCFvLmlzVmFsaWQocikpdGhyb3cgRXJyb3IoIkludmFsaWQgUVIgQ29kZSB2ZXJzaW9uIik7dm9pZCAwPT09bCYmKGw9aS5CWVRFKTtsZXQgJD10LmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHIpLGM9bi5nZXRUb3RhbENvZGV3b3Jkc0NvdW50KHIsYSksaD0oJC1jKSo4O2lmKGw9PT1pLk1JWEVEKXJldHVybiBoO2xldCB1PWgtcyhsLHIpO3N3aXRjaChsKXtjYXNlIGkuTlVNRVJJQzpyZXR1cm4gTWF0aC5mbG9vcih1LzEwKjMpO2Nhc2UgaS5BTFBIQU5VTUVSSUM6cmV0dXJuIE1hdGguZmxvb3IodS8xMSoyKTtjYXNlIGkuS0FOSkk6cmV0dXJuIE1hdGguZmxvb3IodS8xMyk7Y2FzZSBpLkJZVEU6ZGVmYXVsdDpyZXR1cm4gTWF0aC5mbG9vcih1LzgpfX0sZS5nZXRCZXN0VmVyc2lvbkZvckRhdGE9ZnVuY3Rpb24gdChuLG8pe2xldCBhLHM9ci5mcm9tKG8sci5NKTtpZihBcnJheS5pc0FycmF5KG4pKXtpZihuLmxlbmd0aD4xKXJldHVybiBmdW5jdGlvbiB0KG4scil7Zm9yKGxldCBvPTE7bzw9NDA7bysrKXtsZXQgYT1sKG4sbyk7aWYoYTw9ZS5nZXRDYXBhY2l0eShvLHIsaS5NSVhFRCkpcmV0dXJuIG99fShuLHMpO2lmKDA9PT1uLmxlbmd0aClyZXR1cm4gMTthPW5bMF19ZWxzZSBhPW47cmV0dXJuIGZ1bmN0aW9uIHQobixyLGkpe2ZvcihsZXQgbz0xO288PTQwO28rKylpZihyPD1lLmdldENhcGFjaXR5KG8saSxuKSlyZXR1cm4gb30oYS5tb2RlLGEuZ2V0TGVuZ3RoKCkscyl9LGUuZ2V0RW5jb2RlZEJpdHM9ZnVuY3Rpb24gZShuKXtpZighby5pc1ZhbGlkKG4pfHxuPDcpdGhyb3cgRXJyb3IoIkludmFsaWQgUVIgQ29kZSB2ZXJzaW9uIik7bGV0IHI9bjw8MTI7Zm9yKDt0LmdldEJDSERpZ2l0KHIpLWE+PTA7KXJePTc5NzM8PHQuZ2V0QkNIRGlnaXQociktYTtyZXR1cm4gbjw8MTJ8cn19KCRnKTt2YXIgJHk9e307bGV0ICQ1PWx6LCR4PSQ1LmdldEJDSERpZ2l0KDEzMzUpOyR5LmdldEVuY29kZWRCaXRzPWZ1bmN0aW9uIGUodCxuKXtsZXQgcj10LmJpdDw8M3xuLGk9cjw8MTA7Zm9yKDskNS5nZXRCQ0hEaWdpdChpKS0keD49MDspaV49MTMzNTw8JDUuZ2V0QkNIRGlnaXQoaSktJHg7cmV0dXJuKHI8PDEwfGkpXjIxNTIyfTt2YXIgJDc9e307bGV0ICRFPSRtO2Z1bmN0aW9uICRDKGUpe3RoaXMubW9kZT0kRS5OVU1FUklDLHRoaXMuZGF0YT1lLnRvU3RyaW5nKCl9JEMuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbiBlKHQpe3JldHVybiAxMCpNYXRoLmZsb29yKHQvMykrKHQlMz90JTMqMysxOjApfSwkQy5wcm90b3R5cGUuZ2V0TGVuZ3RoPWZ1bmN0aW9uIGUoKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sJEMucHJvdG90eXBlLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24gZSgpe3JldHVybiAkQy5nZXRCaXRzTGVuZ3RoKHRoaXMuZGF0YS5sZW5ndGgpfSwkQy5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24gZSh0KXtsZXQgbixyLGk7Zm9yKG49MDtuKzM8PXRoaXMuZGF0YS5sZW5ndGg7bis9MylpPXBhcnNlSW50KHI9dGhpcy5kYXRhLnN1YnN0cihuLDMpLDEwKSx0LnB1dChpLDEwKTtsZXQgbz10aGlzLmRhdGEubGVuZ3RoLW47bz4wJiYoaT1wYXJzZUludChyPXRoaXMuZGF0YS5zdWJzdHIobiksMTApLHQucHV0KGksMypvKzEpKX07dmFyICREPSRDO2xldCAkaz0kbSwkQT1bIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsIiAiLCIkIiwiJSIsIioiLCIrIiwiLSIsIi4iLCIvIiwiOiJdO2Z1bmN0aW9uICRJKGUpe3RoaXMubW9kZT0kay5BTFBIQU5VTUVSSUMsdGhpcy5kYXRhPWV9JEkuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbiBlKHQpe3JldHVybiAxMSpNYXRoLmZsb29yKHQvMikrNioodCUyKX0sJEkucHJvdG90eXBlLmdldExlbmd0aD1mdW5jdGlvbiBlKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGh9LCRJLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uIGUoKXtyZXR1cm4gJEkuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKX0sJEkucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uIGUodCl7bGV0IG47Zm9yKG49MDtuKzI8PXRoaXMuZGF0YS5sZW5ndGg7bis9Mil7bGV0IHI9NDUqJEEuaW5kZXhPZih0aGlzLmRhdGFbbl0pO3IrPSRBLmluZGV4T2YodGhpcy5kYXRhW24rMV0pLHQucHV0KHIsMTEpfXRoaXMuZGF0YS5sZW5ndGglMiYmdC5wdXQoJEEuaW5kZXhPZih0aGlzLmRhdGFbbl0pLDYpfTt2YXIgJFQ9JEksJFM9ZnVuY3Rpb24gZSh0KXtmb3IodmFyIG49W10scj10Lmxlbmd0aCxpPTA7aTxyO2krKyl7dmFyIG89dC5jaGFyQ29kZUF0KGkpO2lmKG8+PTU1Mjk2JiZvPD01NjMxOSYmcj5pKzEpe3ZhciBhPXQuY2hhckNvZGVBdChpKzEpO2E+PTU2MzIwJiZhPD01NzM0MyYmKG89KG8tNTUyOTYpKjEwMjQrYS01NjMyMCs2NTUzNixpKz0xKX1pZihvPDEyOCl7bi5wdXNoKG8pO2NvbnRpbnVlfWlmKG88MjA0OCl7bi5wdXNoKG8+PjZ8MTkyKSxuLnB1c2goNjMmb3wxMjgpO2NvbnRpbnVlfWlmKG88NTUyOTZ8fG8+PTU3MzQ0JiZvPDY1NTM2KXtuLnB1c2gobz4+MTJ8MjI0KSxuLnB1c2gobz4+NiY2M3wxMjgpLG4ucHVzaCg2MyZvfDEyOCk7Y29udGludWV9aWYobz49NjU1MzYmJm88PTExMTQxMTEpe24ucHVzaChvPj4xOHwyNDApLG4ucHVzaChvPj4xMiY2M3wxMjgpLG4ucHVzaChvPj42JjYzfDEyOCksbi5wdXNoKDYzJm98MTI4KTtjb250aW51ZX1uLnB1c2goMjM5LDE5MSwxODkpfXJldHVybiBuZXcgVWludDhBcnJheShuKS5idWZmZXJ9O2xldCAkTD0kUywkTj0kbTtmdW5jdGlvbiAkTyhlKXt0aGlzLm1vZGU9JE4uQllURSwic3RyaW5nIj09dHlwZW9mIGUmJihlPSRMKGUpKSx0aGlzLmRhdGE9bmV3IFVpbnQ4QXJyYXkoZSl9JE8uZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbiBlKHQpe3JldHVybiA4KnR9LCRPLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24gZSgpe3JldHVybiB0aGlzLmRhdGEubGVuZ3RofSwkTy5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbiBlKCl7cmV0dXJuICRPLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LCRPLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlKXtmb3IobGV0IHQ9MCxuPXRoaXMuZGF0YS5sZW5ndGg7dDxuO3QrKyllLnB1dCh0aGlzLmRhdGFbdF0sOCl9O3ZhciAkTT0kTztsZXQgJFA9JG0sJDk9bHo7ZnVuY3Rpb24gJFIoZSl7dGhpcy5tb2RlPSRQLktBTkpJLHRoaXMuZGF0YT1lfSRSLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gMTMqdH0sJFIucHJvdG90eXBlLmdldExlbmd0aD1mdW5jdGlvbiBlKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGh9LCRSLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uIGUoKXtyZXR1cm4gJFIuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKX0sJFIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe2xldCB0O2Zvcih0PTA7dDx0aGlzLmRhdGEubGVuZ3RoO3QrKyl7bGV0IG49JDkudG9TSklTKHRoaXMuZGF0YVt0XSk7aWYobj49MzMwODgmJm48PTQwOTU2KW4tPTMzMDg4O2Vsc2UgaWYobj49NTc0MDgmJm48PTYwMzUxKW4tPTQ5NDcyO2Vsc2UgdGhyb3cgRXJyb3IoIkludmFsaWQgU0pJUyBjaGFyYWN0ZXI6ICIrdGhpcy5kYXRhW3RdKyJcbk1ha2Ugc3VyZSB5b3VyIGNoYXJzZXQgaXMgVVRGLTgiKTtuPShuPj4+OCYyNTUpKjE5MisoMjU1Jm4pLGUucHV0KG4sMTMpfX07dmFyICRVLCRCLCRXPSRSLCRGPXtleHBvcnRzOnt9fTskVT0kRiwkQj17c2luZ2xlX3NvdXJjZV9zaG9ydGVzdF9wYXRoczpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyxsLCQsYyxoLHU9e30sZD17fTtkW3RdPTA7dmFyIF89JEIuUHJpb3JpdHlRdWV1ZS5tYWtlKCk7Zm9yKF8ucHVzaCh0LDApOyFfLmVtcHR5KCk7KWZvcihvIGluIGk9KHI9Xy5wb3AoKSkudmFsdWUsYT1yLmNvc3Qscz1lW2ldfHx7fSlzLmhhc093blByb3BlcnR5KG8pJiYoJD1hKyhsPXNbb10pLGM9ZFtvXSwoKGg9dm9pZCAwPT09ZFtvXSl8fGM+JCkmJihkW29dPSQsXy5wdXNoKG8sJCksdVtvXT1pKSk7aWYodm9pZCAwIT09biYmdm9pZCAwPT09ZFtuXSl0aHJvdyBFcnJvcihbIkNvdWxkIG5vdCBmaW5kIGEgcGF0aCBmcm9tICIsdCwiIHRvICIsbiwiLiJdLmpvaW4oIiIpKTtyZXR1cm4gdX0sZXh0cmFjdF9zaG9ydGVzdF9wYXRoX2Zyb21fcHJlZGVjZXNzb3JfbGlzdDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1bXSxyPXQ7cjspbi5wdXNoKHIpLGVbcl0scj1lW3JdO3JldHVybiBuLnJldmVyc2UoKSxufSxmaW5kX3BhdGg6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPSRCLnNpbmdsZV9zb3VyY2Vfc2hvcnRlc3RfcGF0aHMoZSx0LG4pO3JldHVybiAkQi5leHRyYWN0X3Nob3J0ZXN0X3BhdGhfZnJvbV9wcmVkZWNlc3Nvcl9saXN0KHIsbil9LFByaW9yaXR5UXVldWU6e21ha2U6ZnVuY3Rpb24oZSl7dmFyIHQsbj0kQi5Qcmlvcml0eVF1ZXVlLHI9e307Zm9yKHQgaW4gZT1lfHx7fSxuKW4uaGFzT3duUHJvcGVydHkodCkmJihyW3RdPW5bdF0pO3JldHVybiByLnF1ZXVlPVtdLHIuc29ydGVyPWUuc29ydGVyfHxuLmRlZmF1bHRfc29ydGVyLHJ9LGRlZmF1bHRfc29ydGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuY29zdC10LmNvc3R9LHB1c2g6ZnVuY3Rpb24oZSx0KXt0aGlzLnF1ZXVlLnB1c2goe3ZhbHVlOmUsY29zdDp0fSksdGhpcy5xdWV1ZS5zb3J0KHRoaXMuc29ydGVyKX0scG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVldWUuc2hpZnQoKX0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMucXVldWUubGVuZ3RofX19LCRVLmV4cG9ydHM9JEI7dmFyICR6PSRGLmV4cG9ydHM7IWZ1bmN0aW9uKGUpe2xldCB0PSRtLG49JEQscj0kVCxpPSRNLG89JFcsYT0kdyxzPWx6LGw9JHo7ZnVuY3Rpb24gJChlKXtyZXR1cm4gdW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUpKS5sZW5ndGh9ZnVuY3Rpb24gYyhlLHQsbil7bGV0IHI9W10saTtmb3IoO251bGwhPT0oaT1lLmV4ZWMobikpOylyLnB1c2goe2RhdGE6aVswXSxpbmRleDppLmluZGV4LG1vZGU6dCxsZW5ndGg6aVswXS5sZW5ndGh9KTtyZXR1cm4gcn1mdW5jdGlvbiBoKGUpe2xldCBuPWMoYS5OVU1FUklDLHQuTlVNRVJJQyxlKSxyPWMoYS5BTFBIQU5VTUVSSUMsdC5BTFBIQU5VTUVSSUMsZSksaSxvO3MuaXNLYW5qaU1vZGVFbmFibGVkKCk/KGk9YyhhLkJZVEUsdC5CWVRFLGUpLG89YyhhLktBTkpJLHQuS0FOSkksZSkpOihpPWMoYS5CWVRFX0tBTkpJLHQuQllURSxlKSxvPVtdKTtsZXQgbD1uLmNvbmNhdChyLGksbyk7cmV0dXJuIGwuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiBlLmluZGV4LXQuaW5kZXh9KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue2RhdGE6ZS5kYXRhLG1vZGU6ZS5tb2RlLGxlbmd0aDplLmxlbmd0aH19KX1mdW5jdGlvbiB1KGUsYSl7c3dpdGNoKGEpe2Nhc2UgdC5OVU1FUklDOnJldHVybiBuLmdldEJpdHNMZW5ndGgoZSk7Y2FzZSB0LkFMUEhBTlVNRVJJQzpyZXR1cm4gci5nZXRCaXRzTGVuZ3RoKGUpO2Nhc2UgdC5LQU5KSTpyZXR1cm4gby5nZXRCaXRzTGVuZ3RoKGUpO2Nhc2UgdC5CWVRFOnJldHVybiBpLmdldEJpdHNMZW5ndGgoZSl9fWZ1bmN0aW9uIGQoZSxhKXtsZXQgbCwkPXQuZ2V0QmVzdE1vZGVGb3JEYXRhKGUpO2lmKChsPXQuZnJvbShhLCQpKSE9PXQuQllURSYmbC5iaXQ8JC5iaXQpdGhyb3cgRXJyb3IoJyInK2UrJyIgY2Fubm90IGJlIGVuY29kZWQgd2l0aCBtb2RlICcrdC50b1N0cmluZyhsKSsiLlxuIFN1Z2dlc3RlZCBtb2RlIGlzOiAiK3QudG9TdHJpbmcoJCkpO3N3aXRjaChsIT09dC5LQU5KSXx8cy5pc0thbmppTW9kZUVuYWJsZWQoKXx8KGw9dC5CWVRFKSxsKXtjYXNlIHQuTlVNRVJJQzpyZXR1cm4gbmV3IG4oZSk7Y2FzZSB0LkFMUEhBTlVNRVJJQzpyZXR1cm4gbmV3IHIoZSk7Y2FzZSB0LktBTkpJOnJldHVybiBuZXcgbyhlKTtjYXNlIHQuQllURTpyZXR1cm4gbmV3IGkoZSl9fWUuZnJvbUFycmF5PWZ1bmN0aW9uIGUodCl7cmV0dXJuIHQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P2UucHVzaChkKHQsbnVsbCkpOnQuZGF0YSYmZS5wdXNoKGQodC5kYXRhLHQubW9kZSkpLGV9LFtdKX0sZS5mcm9tU3RyaW5nPWZ1bmN0aW9uIG4ocixpKXt2YXIgbztsZXQgYT1oKHIscy5pc0thbmppTW9kZUVuYWJsZWQoKSksYz1mdW5jdGlvbiBlKG4pe2xldCByPVtdO2ZvcihsZXQgaT0wO2k8bi5sZW5ndGg7aSsrKXtsZXQgbz1uW2ldO3N3aXRjaChvLm1vZGUpe2Nhc2UgdC5OVU1FUklDOnIucHVzaChbbyx7ZGF0YTpvLmRhdGEsbW9kZTp0LkFMUEhBTlVNRVJJQyxsZW5ndGg6by5sZW5ndGh9LHtkYXRhOm8uZGF0YSxtb2RlOnQuQllURSxsZW5ndGg6by5sZW5ndGh9XSk7YnJlYWs7Y2FzZSB0LkFMUEhBTlVNRVJJQzpyLnB1c2goW28se2RhdGE6by5kYXRhLG1vZGU6dC5CWVRFLGxlbmd0aDpvLmxlbmd0aH1dKTticmVhaztjYXNlIHQuS0FOSkk6ci5wdXNoKFtvLHtkYXRhOm8uZGF0YSxtb2RlOnQuQllURSxsZW5ndGg6JChvLmRhdGEpfV0pO2JyZWFrO2Nhc2UgdC5CWVRFOnIucHVzaChbe2RhdGE6by5kYXRhLG1vZGU6dC5CWVRFLGxlbmd0aDokKG8uZGF0YSl9XSl9fXJldHVybiByfShhKSxkPWZ1bmN0aW9uIGUobixyKXtsZXQgaT17fSxvPXtzdGFydDp7fX0sYT1bInN0YXJ0Il07Zm9yKGxldCBzPTA7czxuLmxlbmd0aDtzKyspe2xldCBsPW5bc10sJD1bXTtmb3IobGV0IGM9MDtjPGwubGVuZ3RoO2MrKyl7bGV0IGg9bFtjXSxkPSIiK3MrYzskLnB1c2goZCksaVtkXT17bm9kZTpoLGxhc3RDb3VudDowfSxvW2RdPXt9O2ZvcihsZXQgXz0wO188YS5sZW5ndGg7XysrKXtsZXQgZj1hW19dO2lbZl0mJmlbZl0ubm9kZS5tb2RlPT09aC5tb2RlPyhvW2ZdW2RdPXUoaVtmXS5sYXN0Q291bnQraC5sZW5ndGgsaC5tb2RlKS11KGlbZl0ubGFzdENvdW50LGgubW9kZSksaVtmXS5sYXN0Q291bnQrPWgubGVuZ3RoKTooaVtmXSYmKGlbZl0ubGFzdENvdW50PWgubGVuZ3RoKSxvW2ZdW2RdPXUoaC5sZW5ndGgsaC5tb2RlKSs0K3QuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKGgubW9kZSxyKSl9fWE9JH1mb3IobGV0IHA9MDtwPGEubGVuZ3RoO3ArKylvW2FbcF1dLmVuZD0wO3JldHVybnttYXA6byx0YWJsZTppfX0oYyxpKSxfPWwuZmluZF9wYXRoKGQubWFwLCJzdGFydCIsImVuZCIpLGY9W107Zm9yKGxldCBwPTE7cDxfLmxlbmd0aC0xO3ArKylmLnB1c2goZC50YWJsZVtfW3BdXS5ub2RlKTtyZXR1cm4gZS5mcm9tQXJyYXkoKG89ZikucmVkdWNlKGZ1bmN0aW9uKGUsdCl7bGV0IG49ZS5sZW5ndGgtMT49MD9lW2UubGVuZ3RoLTFdOm51bGw7cmV0dXJuIG4mJm4ubW9kZT09PXQubW9kZT8oZVtlLmxlbmd0aC0xXS5kYXRhKz10LmRhdGEsZSk6KGUucHVzaCh0KSxlKX0sW10pKX0sZS5yYXdTcGxpdD1mdW5jdGlvbiB0KG4pe3JldHVybiBlLmZyb21BcnJheShoKG4scy5pc0thbmppTW9kZUVuYWJsZWQoKSkpfX0oJDcpO2xldCAkSD1seiwkaj0kbiwkWj0kciwkWT0kaSwkVj0kbywkRz0kYSwkSz0kbCwkcT0kJCwkUT0kMCwkWD0kZywkSj0keSxjZT0kbSxjdD0kNztmdW5jdGlvbiBjbihlLHQsbil7bGV0IHI9ZS5zaXplLGk9JEouZ2V0RW5jb2RlZEJpdHModCxuKSxvLGE7Zm9yKG89MDtvPDE1O28rKylhPShpPj5vJjEpPT0xLG88Nj9lLnNldChvLDgsYSwhMCk6bzw4P2Uuc2V0KG8rMSw4LGEsITApOmUuc2V0KHItMTUrbyw4LGEsITApLG88OD9lLnNldCg4LHItby0xLGEsITApOm88OT9lLnNldCg4LDE1LW8tMSsxLGEsITApOmUuc2V0KDgsMTUtby0xLGEsITApO2Uuc2V0KHItOCw4LDEsITApfWxGLmNyZWF0ZT1mdW5jdGlvbiBlKHQsbil7aWYodm9pZCAwPT09dHx8IiI9PT10KXRocm93IEVycm9yKCJObyBpbnB1dCB0ZXh0Iik7bGV0IHI9JGouTSxpLG87cmV0dXJuIHZvaWQgMCE9PW4mJihyPSRqLmZyb20obi5lcnJvckNvcnJlY3Rpb25MZXZlbCwkai5NKSxpPSRYLmZyb20obi52ZXJzaW9uKSxvPSRLLmZyb20obi5tYXNrUGF0dGVybiksbi50b1NKSVNGdW5jJiYkSC5zZXRUb1NKSVNGdW5jdGlvbihuLnRvU0pJU0Z1bmMpKSxmdW5jdGlvbiBlKHQsbixyLGkpe2xldCBvO2lmKEFycmF5LmlzQXJyYXkodCkpbz1jdC5mcm9tQXJyYXkodCk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHQpe2xldCBhPW47aWYoIWEpe2xldCBzPWN0LnJhd1NwbGl0KHQpO2E9JFguZ2V0QmVzdFZlcnNpb25Gb3JEYXRhKHMscil9bz1jdC5mcm9tU3RyaW5nKHQsYXx8NDApfWVsc2UgdGhyb3cgRXJyb3IoIkludmFsaWQgZGF0YSIpO2xldCBsPSRYLmdldEJlc3RWZXJzaW9uRm9yRGF0YShvLHIpO2lmKCFsKXRocm93IEVycm9yKCJUaGUgYW1vdW50IG9mIGRhdGEgaXMgdG9vIGJpZyB0byBiZSBzdG9yZWQgaW4gYSBRUiBDb2RlIik7aWYobil7aWYobjxsKXRocm93IEVycm9yKCJcblRoZSBjaG9zZW4gUVIgQ29kZSB2ZXJzaW9uIGNhbm5vdCBjb250YWluIHRoaXMgYW1vdW50IG9mIGRhdGEuXG5NaW5pbXVtIHZlcnNpb24gcmVxdWlyZWQgdG8gc3RvcmUgY3VycmVudCBkYXRhIGlzOiAiK2wrIi5cbiIpfWVsc2Ugbj1sO2xldCAkPWZ1bmN0aW9uIGUodCxuLHIpe2xldCBpPW5ldyAkWjtyLmZvckVhY2goZnVuY3Rpb24oZSl7aS5wdXQoZS5tb2RlLmJpdCw0KSxpLnB1dChlLmdldExlbmd0aCgpLGNlLmdldENoYXJDb3VudEluZGljYXRvcihlLm1vZGUsdCkpLGUud3JpdGUoaSl9KTtsZXQgbz0kSC5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcyh0KSxhPSRxLmdldFRvdGFsQ29kZXdvcmRzQ291bnQodCxuKSxzPShvLWEpKjg7Zm9yKGkuZ2V0TGVuZ3RoSW5CaXRzKCkrNDw9cyYmaS5wdXQoMCw0KTtpLmdldExlbmd0aEluQml0cygpJTghPTA7KWkucHV0Qml0KDApO2xldCBsPShzLWkuZ2V0TGVuZ3RoSW5CaXRzKCkpLzg7Zm9yKGxldCAkPTA7JDxsOyQrKylpLnB1dCgkJTI/MTc6MjM2LDgpO3JldHVybiBmdW5jdGlvbiBlKHQsbixyKXtsZXQgaT0kSC5nZXRTeW1ib2xUb3RhbENvZGV3b3JkcyhuKSxvPSRxLmdldFRvdGFsQ29kZXdvcmRzQ291bnQobixyKSxhPSRxLmdldEJsb2Nrc0NvdW50KG4scikscz1hLWklYSxsPU1hdGguZmxvb3IoKGktbykvYSksJD1sKzEsYz1NYXRoLmZsb29yKGkvYSktbCxoPW5ldyAkUShjKSx1PTAsZD1BcnJheShhKSxfPUFycmF5KGEpLGY9MCxwPW5ldyBVaW50OEFycmF5KHQuYnVmZmVyKTtmb3IobGV0IGc9MDtnPGE7ZysrKXtsZXQgbT1nPHM/bDokO2RbZ109cC5zbGljZSh1LHUrbSksX1tnXT1oLmVuY29kZShkW2ddKSx1Kz1tLGY9TWF0aC5tYXgoZixtKX1sZXQgdz1uZXcgVWludDhBcnJheShpKSx2PTAsYix5O2ZvcihiPTA7YjxmO2IrKylmb3IoeT0wO3k8YTt5KyspYjxkW3ldLmxlbmd0aCYmKHdbdisrXT1kW3ldW2JdKTtmb3IoYj0wO2I8YztiKyspZm9yKHk9MDt5PGE7eSsrKXdbdisrXT1fW3ldW2JdO3JldHVybiB3fShpLHQsbil9KG4scixvKSxjPSRILmdldFN5bWJvbFNpemUobiksaD1uZXcgJFkoYyk7cmV0dXJuIGZ1bmN0aW9uIGUodCxuKXtsZXQgcj10LnNpemUsaT0kRy5nZXRQb3NpdGlvbnMobik7Zm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspe2xldCBhPWlbb11bMF0scz1pW29dWzFdO2ZvcihsZXQgbD0tMTtsPD03O2wrKylpZighKGErbDw9LTEpJiYhKHI8PWErbCkpZm9yKGxldCAkPS0xOyQ8PTc7JCsrKXMrJDw9LTF8fHI8PXMrJHx8KGw+PTAmJmw8PTYmJigwPT09JHx8Nj09PSQpfHwkPj0wJiYkPD02JiYoMD09PWx8fDY9PT1sKXx8bD49MiYmbDw9NCYmJD49MiYmJDw9ND90LnNldChhK2wscyskLCEwLCEwKTp0LnNldChhK2wscyskLCExLCEwKSl9fShoLG4pLGZ1bmN0aW9uIGUodCl7bGV0IG49dC5zaXplO2ZvcihsZXQgcj04O3I8bi04O3IrKyl7bGV0IGk9ciUyPT0wO3Quc2V0KHIsNixpLCEwKSx0LnNldCg2LHIsaSwhMCl9fShoKSxmdW5jdGlvbiBlKHQsbil7bGV0IHI9JFYuZ2V0UG9zaXRpb25zKG4pO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKXtsZXQgbz1yW2ldWzBdLGE9cltpXVsxXTtmb3IobGV0IHM9LTI7czw9MjtzKyspZm9yKGxldCBsPS0yO2w8PTI7bCsrKS0yPT09c3x8Mj09PXN8fC0yPT09bHx8Mj09PWx8fDA9PT1zJiYwPT09bD90LnNldChvK3MsYStsLCEwLCEwKTp0LnNldChvK3MsYStsLCExLCEwKX19KGgsbiksY24oaCxyLDApLG4+PTcmJmZ1bmN0aW9uIGUodCxuKXtsZXQgcj10LnNpemUsaT0kWC5nZXRFbmNvZGVkQml0cyhuKSxvLGEscztmb3IobGV0IGw9MDtsPDE4O2wrKylvPU1hdGguZmxvb3IobC8zKSxhPWwlMytyLTgtMyxzPShpPj5sJjEpPT0xLHQuc2V0KG8sYSxzLCEwKSx0LnNldChhLG8scywhMCl9KGgsbiksZnVuY3Rpb24gZSh0LG4pe2xldCByPXQuc2l6ZSxpPS0xLG89ci0xLGE9NyxzPTA7Zm9yKGxldCBsPXItMTtsPjA7bC09Milmb3IoNj09PWwmJmwtLTs7KXtmb3IobGV0ICQ9MDskPDI7JCsrKWlmKCF0LmlzUmVzZXJ2ZWQobyxsLSQpKXtsZXQgYz0hMTtzPG4ubGVuZ3RoJiYoYz0obltzXT4+PmEmMSk9PTEpLHQuc2V0KG8sbC0kLGMpLC0xPT0tLWEmJihzKyssYT03KX1pZigobys9aSk8MHx8cjw9byl7by09aSxpPS1pO2JyZWFrfX19KGgsJCksaXNOYU4oaSkmJihpPSRLLmdldEJlc3RNYXNrKGgsY24uYmluZChudWxsLGgscikpKSwkSy5hcHBseU1hc2soaSxoKSxjbihoLHIsaSkse21vZHVsZXM6aCx2ZXJzaW9uOm4sZXJyb3JDb3JyZWN0aW9uTGV2ZWw6cixtYXNrUGF0dGVybjppLHNlZ21lbnRzOm99fSh0LGkscixvKX07dmFyIGNyPXt9LGNpPU8oT2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZGVmYXVsdDp7fX0pKSxjbz17fTtmdW5jdGlvbiBjYSgpe3Rocm93IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gY3MoKXt0aHJvdyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9dmFyIGNsPWNhLGMkPWNzO2Z1bmN0aW9uIGNjKGUpe2lmKGNsPT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKChjbD09PWNhfHwhY2wpJiZzZXRUaW1lb3V0KXJldHVybiBjbD1zZXRUaW1lb3V0LHNldFRpbWVvdXQoZSwwKTt0cnl7cmV0dXJuIGNsKGUsMCl9Y2F0Y2godCl7dHJ5e3JldHVybiBjbC5jYWxsKG51bGwsZSwwKX1jYXRjaChuKXtyZXR1cm4gY2wuY2FsbCh0aGlzLGUsMCl9fX0iZnVuY3Rpb24iPT10eXBlb2YgZWMuc2V0VGltZW91dCYmKGNsPXNldFRpbWVvdXQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlYy5jbGVhclRpbWVvdXQmJihjJD1jbGVhclRpbWVvdXQpO3ZhciBjaD1bXSxjdT0hMSxjZD0tMTtmdW5jdGlvbiBjXygpe2N1JiZnJiYoY3U9ITEsZy5sZW5ndGg/Y2g9Zy5jb25jYXQoY2gpOmNkPS0xLGNoLmxlbmd0aCYmY2YoKSl9ZnVuY3Rpb24gY2YoKXtpZighY3Upe3ZhciBlPWNjKGNfKTtjdT0hMDtmb3IodmFyIHQ9Y2gubGVuZ3RoO3Q7KXtmb3IoZz1jaCxjaD1bXTsrK2NkPHQ7KWcmJmdbY2RdLnJ1bigpO2NkPS0xLHQ9Y2gubGVuZ3RofWc9bnVsbCxjdT0hMSxmdW5jdGlvbiBlKHQpe2lmKGMkPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQodCk7aWYoKGMkPT09Y3N8fCFjJCkmJmNsZWFyVGltZW91dClyZXR1cm4gYyQ9Y2xlYXJUaW1lb3V0LGNsZWFyVGltZW91dCh0KTt0cnl7cmV0dXJuIGMkKHQpfWNhdGNoKG4pe3RyeXtyZXR1cm4gYyQuY2FsbChudWxsLHQpfWNhdGNoKHIpe3JldHVybiBjJC5jYWxsKHRoaXMsdCl9fX0oZSl9fWZ1bmN0aW9uIGNwKGUpe3ZhciB0PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTtjaC5wdXNoKG5ldyBjMShlLHQpKSwxIT09Y2gubGVuZ3RofHxjdXx8Y2MoY2YpfWZ1bmN0aW9uIGMxKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9YzEucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe3RoaXMuZnVuLmFwcGx5KG51bGwsdGhpcy5hcnJheSl9O3ZhciBjMD0iYnJvd3NlciIsY2c9ImJyb3dzZXIiLGNtPSEwLGMzPXt9LGN3PVtdLGN2PSIiLGMyPXt9LGM0PXt9LGNiPXt9O2Z1bmN0aW9uIGM4KCl7fXZhciBjNj1jOCxjeT1jOCxjNT1jOCxjeD1jOCxjNz1jOCxjRT1jOCxjQz1jODtmdW5jdGlvbiBjRCgpe3JldHVybiAwfXZhciBjaz1lYy5wZXJmb3JtYW5jZXx8e30sY0E9Y2subm93fHxjay5tb3pOb3d8fGNrLm1zTm93fHxjay5vTm93fHxjay53ZWJraXROb3d8fGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpfSxjST1uZXcgRGF0ZSxjVD17bmV4dFRpY2s6Y3AsdGl0bGU6YzAsYnJvd3NlcjpjbSxlbnY6YzMsYXJndjpjdyx2ZXJzaW9uOmN2LHZlcnNpb25zOmMyLG9uOmM2LGFkZExpc3RlbmVyOmN5LG9uY2U6YzUsb2ZmOmN4LHJlbW92ZUxpc3RlbmVyOmM3LHJlbW92ZUFsbExpc3RlbmVyczpjRSxlbWl0OmNDLGJpbmRpbmc6ZnVuY3Rpb24gZSh0KXt0aHJvdyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0sY3dkOmZ1bmN0aW9uIGUoKXtyZXR1cm4iLyJ9LGNoZGlyOmZ1bmN0aW9uIGUodCl7dGhyb3cgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSx1bWFzazpjRCxocnRpbWU6ZnVuY3Rpb24gZSh0KXt2YXIgbj0uMDAxKmNBLmNhbGwoY2spLHI9TWF0aC5mbG9vcihuKSxpPU1hdGguZmxvb3IobiUxKjFlOSk7cmV0dXJuIHQmJihyLT10WzBdLChpLT10WzFdKTwwJiYoci0tLGkrPTFlOSkpLFtyLGldfSxwbGF0Zm9ybTpjZyxyZWxlYXNlOmM0LGNvbmZpZzpjYix1cHRpbWU6ZnVuY3Rpb24gZSgpe3ZhciB0O3JldHVybihuZXcgRGF0ZS1jSSkvMWUzfX0sY1M9bT0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbiBlKHQsbil7dC5zdXBlcl89bix0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KX06ZnVuY3Rpb24gZSh0LG4pe3Quc3VwZXJfPW47dmFyIHI9ZnVuY3Rpb24oKXt9O3IucHJvdG90eXBlPW4ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9LGNMPS8lW3NkaiVdL2c7ZnVuY3Rpb24gY04oZSl7aWYoIWNWKGUpKXtmb3IodmFyIHQ9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspdC5wdXNoKGM5KGFyZ3VtZW50c1tuXSkpO3JldHVybiB0LmpvaW4oIiAiKX1mb3IodmFyIG49MSxyPWFyZ3VtZW50cyxpPXIubGVuZ3RoLG89U3RyaW5nKGUpLnJlcGxhY2UoY0wsZnVuY3Rpb24oZSl7aWYoIiUlIj09PWUpcmV0dXJuIiUiO2lmKG4+PWkpcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UiJXMiOnJldHVybiBTdHJpbmcocltuKytdKTtjYXNlIiVkIjpyZXR1cm4gTnVtYmVyKHJbbisrXSk7Y2FzZSIlaiI6dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShyW24rK10pfWNhdGNoKHQpe3JldHVybiJbQ2lyY3VsYXJdIn1kZWZhdWx0OnJldHVybiBlfX0pLGE9cltuXTtuPGk7YT1yWysrbl0pY2ooYSl8fCFjUShhKT9vKz0iICIrYTpvKz0iICIrYzkoYSk7cmV0dXJuIG99ZnVuY3Rpb24gY08oZSx0KXtpZihjSyhlYy5wcm9jZXNzKSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gY08oZSx0KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2lmKCEwPT09Y1Qubm9EZXByZWNhdGlvbilyZXR1cm4gZTt2YXIgbj0hMTtyZXR1cm4gZnVuY3Rpb24gcigpe2lmKCFuKXtpZihjVC50aHJvd0RlcHJlY2F0aW9uKXRocm93IEVycm9yKHQpO2NULnRyYWNlRGVwcmVjYXRpb24/Y29uc29sZS50cmFjZSh0KTpjb25zb2xlLmVycm9yKHQpLG49ITB9cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX12YXIgY009e307ZnVuY3Rpb24gY1AoZSl7cmV0dXJuIGNLKHcpJiYodz1jVC5lbnYuTk9ERV9ERUJVR3x8IiIpLGNNW2U9ZS50b1VwcGVyQ2FzZSgpXXx8KFJlZ0V4cCgiXFxiIitlKyJcXGIiLCJpIikudGVzdCh3KT9jTVtlXT1mdW5jdGlvbigpe3ZhciB0PWNOLmFwcGx5KG51bGwsYXJndW1lbnRzKTtjb25zb2xlLmVycm9yKCIlcyAlZDogJXMiLGUsMCx0KX06Y01bZV09ZnVuY3Rpb24oKXt9KSxjTVtlXX1mdW5jdGlvbiBjOShlLHQpe3ZhciBuPXtzZWVuOltdLHN0eWxpemU6Y1V9O3JldHVybiBhcmd1bWVudHMubGVuZ3RoPj0zJiYobi5kZXB0aD1hcmd1bWVudHNbMl0pLGFyZ3VtZW50cy5sZW5ndGg+PTQmJihuLmNvbG9ycz1hcmd1bWVudHNbM10pLGNIKHQpP24uc2hvd0hpZGRlbj10OnQmJmhzKG4sdCksY0sobi5zaG93SGlkZGVuKSYmKG4uc2hvd0hpZGRlbj0hMSksY0sobi5kZXB0aCkmJihuLmRlcHRoPTIpLGNLKG4uY29sb3JzKSYmKG4uY29sb3JzPSExKSxjSyhuLmN1c3RvbUluc3BlY3QpJiYobi5jdXN0b21JbnNwZWN0PSEwKSxuLmNvbG9ycyYmKG4uc3R5bGl6ZT1jUiksY0IobixlLG4uZGVwdGgpfWZ1bmN0aW9uIGNSKGUsdCl7dmFyIG49Yzkuc3R5bGVzW3RdO3JldHVybiBuPyJceDFiWyIrYzkuY29sb3JzW25dWzBdKyJtIitlKyJceDFiWyIrYzkuY29sb3JzW25dWzFdKyJtIjplfWZ1bmN0aW9uIGNVKGUsdCl7cmV0dXJuIGV9ZnVuY3Rpb24gY0IoZSx0LG4pe2lmKGUuY3VzdG9tSW5zcGVjdCYmdCYmaGUodC5pbnNwZWN0KSYmdC5pbnNwZWN0IT09YzkmJiEodC5jb25zdHJ1Y3RvciYmdC5jb25zdHJ1Y3Rvci5wcm90b3R5cGU9PT10KSl7dmFyIHIsaSxvLGEscz10Lmluc3BlY3QobixlKTtyZXR1cm4gY1Yocyl8fChzPWNCKGUscyxuKSksc312YXIgbD1mdW5jdGlvbiBlKHQsbil7aWYoY0sobikpcmV0dXJuIHQuc3R5bGl6ZSgidW5kZWZpbmVkIiwidW5kZWZpbmVkIik7aWYoY1Yobikpe3ZhciByPSInIitKU09OLnN0cmluZ2lmeShuKS5yZXBsYWNlKC9eInwiJC9nLCIiKS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykrIiciO3JldHVybiB0LnN0eWxpemUociwic3RyaW5nIil9cmV0dXJuIGNZKG4pP3Quc3R5bGl6ZSgiIituLCJudW1iZXIiKTpjSChuKT90LnN0eWxpemUoIiIrbiwiYm9vbGVhbiIpOmNqKG4pP3Quc3R5bGl6ZSgibnVsbCIsIm51bGwiKTp2b2lkIDB9KGUsdCk7aWYobClyZXR1cm4gbDt2YXIgJCxjLGg9T2JqZWN0LmtleXModCksdT0oJD1oLGM9e30sJC5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7Y1tlXT0hMH0pLGMpO2lmKGUuc2hvd0hpZGRlbiYmKGg9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkpLGNKKHQpJiYoaC5pbmRleE9mKCJtZXNzYWdlIik+PTB8fGguaW5kZXhPZigiZGVzY3JpcHRpb24iKT49MCkpcmV0dXJuIGNXKHQpO2lmKDA9PT1oLmxlbmd0aCl7aWYoaGUodCkpe3ZhciBkPXQubmFtZT8iOiAiK3QubmFtZToiIjtyZXR1cm4gZS5zdHlsaXplKCJbRnVuY3Rpb24iK2QrIl0iLCJzcGVjaWFsIil9aWYoY3EodCkpcmV0dXJuIGUuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCksInJlZ2V4cCIpO2lmKGNYKHQpKXJldHVybiBlLnN0eWxpemUoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSwiZGF0ZSIpO2lmKGNKKHQpKXJldHVybiBjVyh0KX12YXIgXz0iIixmPSExLHA9WyJ7IiwifSJdO2lmKGN6KHQpJiYoZj0hMCxwPVsiWyIsIl0iXSksaGUodCkmJihfPSIgW0Z1bmN0aW9uIisodC5uYW1lPyI6ICIrdC5uYW1lOiIiKSsiXSIpLGNxKHQpJiYoXz0iICIrUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKSxjWCh0KSYmKF89IiAiK0RhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwodCkpLGNKKHQpJiYoXz0iICIrY1codCkpLDA9PT1oLmxlbmd0aCYmKCFmfHwwPT10Lmxlbmd0aCkpcmV0dXJuIHBbMF0rXytwWzFdO2lmKG48MClyZXR1cm4gY3EodCk/ZS5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSwicmVnZXhwIik6ZS5zdHlsaXplKCJbT2JqZWN0XSIsInNwZWNpYWwiKTtyZXR1cm4gZS5zZWVuLnB1c2godCksYT1mP2Z1bmN0aW9uIGUodCxuLHIsaSxvKXtmb3IodmFyIGE9W10scz0wLGw9bi5sZW5ndGg7czxsOysrcylobChuLFN0cmluZyhzKSk/YS5wdXNoKGNGKHQsbixyLGksU3RyaW5nKHMpLCEwKSk6YS5wdXNoKCIiKTtyZXR1cm4gby5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UubWF0Y2goL15cZCskLyl8fGEucHVzaChjRih0LG4scixpLGUsITApKX0pLGF9KGUsdCxuLHUsaCk6aC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIGNGKGUsdCxuLHUscixmKX0pLGUuc2Vlbi5wb3AoKSxyPWEsaT1fLG89cCxyLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiB0LmluZGV4T2YoIlxuIiksZSt0LnJlcGxhY2UoL1x1MDAxYlxbXGRcZD9tL2csIiIpLmxlbmd0aCsxfSwwKT42MD9vWzBdKygiIj09PWk/IiI6aSsiXG4gIikrIiAiK3Iuam9pbigiLFxuICAiKSsiICIrb1sxXTpvWzBdK2krIiAiK3Iuam9pbigiLCAiKSsiICIrb1sxXX1mdW5jdGlvbiBjVyhlKXtyZXR1cm4iWyIrRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkrIl0ifWZ1bmN0aW9uIGNGKGUsdCxuLHIsaSxvKXt2YXIgYSxzLGw7aWYoKGw9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpfHx7dmFsdWU6dFtpXX0pLmdldD9zPWwuc2V0P2Uuc3R5bGl6ZSgiW0dldHRlci9TZXR0ZXJdIiwic3BlY2lhbCIpOmUuc3R5bGl6ZSgiW0dldHRlcl0iLCJzcGVjaWFsIik6bC5zZXQmJihzPWUuc3R5bGl6ZSgiW1NldHRlcl0iLCJzcGVjaWFsIikpLGhsKHIsaSl8fChhPSJbIitpKyJdIiksIXMmJigwPmUuc2Vlbi5pbmRleE9mKGwudmFsdWUpPyhzPWNqKG4pP2NCKGUsbC52YWx1ZSxudWxsKTpjQihlLGwudmFsdWUsbi0xKSkuaW5kZXhPZigiXG4iKT4tMSYmKHM9bz9zLnNwbGl0KCJcbiIpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4iICAiK2V9KS5qb2luKCJcbiIpLnN1YnN0cigyKToiXG4iK3Muc3BsaXQoIlxuIikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiIgICAiK2V9KS5qb2luKCJcbiIpKTpzPWUuc3R5bGl6ZSgiW0NpcmN1bGFyXSIsInNwZWNpYWwiKSksY0soYSkpe2lmKG8mJmkubWF0Y2goL15cZCskLykpcmV0dXJuIHM7KGE9SlNPTi5zdHJpbmdpZnkoIiIraSkpLm1hdGNoKC9eIihbYS16QS1aX11bYS16QS1aXzAtOV0qKSIkLyk/KGE9YS5zdWJzdHIoMSxhLmxlbmd0aC0yKSxhPWUuc3R5bGl6ZShhLCJuYW1lIikpOihhPWEucmVwbGFjZSgvJy9nLCJcXCciKS5yZXBsYWNlKC9cXCIvZywnIicpLnJlcGxhY2UoLyheInwiJCkvZywiJyIpLGE9ZS5zdHlsaXplKGEsInN0cmluZyIpKX1yZXR1cm4gYSsiOiAiK3N9ZnVuY3Rpb24gY3ooZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gY0goZSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZX1mdW5jdGlvbiBjaihlKXtyZXR1cm4gbnVsbD09PWV9ZnVuY3Rpb24gY1ooZSl7cmV0dXJuIG51bGw9PWV9ZnVuY3Rpb24gY1koZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlfWZ1bmN0aW9uIGNWKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX1mdW5jdGlvbiBjRyhlKXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIGV9ZnVuY3Rpb24gY0soZSl7cmV0dXJuIHZvaWQgMD09PWV9ZnVuY3Rpb24gY3EoZSl7cmV0dXJuIGNRKGUpJiYiW29iamVjdCBSZWdFeHBdIj09PWhyKGUpfWZ1bmN0aW9uIGNRKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9ZnVuY3Rpb24gY1goZSl7cmV0dXJuIGNRKGUpJiYiW29iamVjdCBEYXRlXSI9PT1ocihlKX1mdW5jdGlvbiBjSihlKXtyZXR1cm4gY1EoZSkmJigiW29iamVjdCBFcnJvcl0iPT09aHIoZSl8fGUgaW5zdGFuY2VvZiBFcnJvcil9ZnVuY3Rpb24gaGUoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9ZnVuY3Rpb24gaHQoZSl7cmV0dXJuIG51bGw9PT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwibnVtYmVyIj09dHlwZW9mIGV8fCJzdHJpbmciPT10eXBlb2YgZXx8InN5bWJvbCI9PXR5cGVvZiBlfHx2b2lkIDA9PT1lfWZ1bmN0aW9uIGhuKGUpe3JldHVybiBlOC5pc0J1ZmZlcihlKX1mdW5jdGlvbiBocihlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIGhpKGUpe3JldHVybiBlPDEwPyIwIitlLnRvU3RyaW5nKDEwKTplLnRvU3RyaW5nKDEwKX1jOS5jb2xvcnM9e2JvbGQ6WzEsMjJdLGl0YWxpYzpbMywyM10sdW5kZXJsaW5lOls0LDI0XSxpbnZlcnNlOls3LDI3XSx3aGl0ZTpbMzcsMzldLGdyZXk6WzkwLDM5XSxibGFjazpbMzAsMzldLGJsdWU6WzM0LDM5XSxjeWFuOlszNiwzOV0sZ3JlZW46WzMyLDM5XSxtYWdlbnRhOlszNSwzOV0scmVkOlszMSwzOV0seWVsbG93OlszMywzOV19LGM5LnN0eWxlcz17c3BlY2lhbDoiY3lhbiIsbnVtYmVyOiJ5ZWxsb3ciLGJvb2xlYW46InllbGxvdyIsdW5kZWZpbmVkOiJncmV5IixudWxsOiJib2xkIixzdHJpbmc6ImdyZWVuIixkYXRlOiJtYWdlbnRhIixyZWdleHA6InJlZCJ9O3ZhciBobz1bIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdO2Z1bmN0aW9uIGhhKCl7dmFyIGUsdDtjb25zb2xlLmxvZygiJXMgLSAlcyIsKGU9bmV3IERhdGUsdD1baGkoZS5nZXRIb3VycygpKSxoaShlLmdldE1pbnV0ZXMoKSksaGkoZS5nZXRTZWNvbmRzKCkpXS5qb2luKCI6IiksW2UuZ2V0RGF0ZSgpLGhvW2UuZ2V0TW9udGgoKV0sdF0uam9pbigiICIpKSxjTi5hcHBseShudWxsLGFyZ3VtZW50cykpfWZ1bmN0aW9uIGhzKGUsdCl7aWYoIXR8fCFjUSh0KSlyZXR1cm4gZTtmb3IodmFyIG49T2JqZWN0LmtleXModCkscj1uLmxlbmd0aDtyLS07KWVbbltyXV09dFtuW3JdXTtyZXR1cm4gZX1mdW5jdGlvbiBobChlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX12YXIgaCQ9e2luaGVyaXRzOmNTLF9leHRlbmQ6aHMsbG9nOmhhLGlzQnVmZmVyOmhuLGlzUHJpbWl0aXZlOmh0LGlzRnVuY3Rpb246aGUsaXNFcnJvcjpjSixpc0RhdGU6Y1gsaXNPYmplY3Q6Y1EsaXNSZWdFeHA6Y3EsaXNVbmRlZmluZWQ6Y0ssaXNTeW1ib2w6Y0csaXNTdHJpbmc6Y1YsaXNOdW1iZXI6Y1ksaXNOdWxsT3JVbmRlZmluZWQ6Y1osaXNOdWxsOmNqLGlzQm9vbGVhbjpjSCxpc0FycmF5OmN6LGluc3BlY3Q6YzksZGVwcmVjYXRlOmNPLGZvcm1hdDpjTixkZWJ1Z2xvZzpjUH0saGM9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsX2V4dGVuZDpocyxkZWJ1Z2xvZzpjUCxkZWZhdWx0OmgkLGRlcHJlY2F0ZTpjTyxmb3JtYXQ6Y04saW5oZXJpdHM6Y1MsaW5zcGVjdDpjOSxpc0FycmF5OmN6LGlzQm9vbGVhbjpjSCxpc0J1ZmZlcjpobixpc0RhdGU6Y1gsaXNFcnJvcjpjSixpc0Z1bmN0aW9uOmhlLGlzTnVsbDpjaixpc051bGxPclVuZGVmaW5lZDpjWixpc051bWJlcjpjWSxpc09iamVjdDpjUSxpc1ByaW1pdGl2ZTpodCxpc1JlZ0V4cDpjcSxpc1N0cmluZzpjVixpc1N5bWJvbDpjRyxpc1VuZGVmaW5lZDpjSyxsb2c6aGF9KSxoaD1PKGhjKTtmdW5jdGlvbiBodSgpe31mdW5jdGlvbiBoZCgpe2hkLmluaXQuY2FsbCh0aGlzKX1mdW5jdGlvbiBoXyhlKXtyZXR1cm4gdm9pZCAwPT09ZS5fbWF4TGlzdGVuZXJzP2hkLmRlZmF1bHRNYXhMaXN0ZW5lcnM6ZS5fbWF4TGlzdGVuZXJzfWZ1bmN0aW9uIGhmKGUsdCxuLHIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IFR5cGVFcnJvcignImxpc3RlbmVyIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTtpZigobz1lLl9ldmVudHMpPyhvLm5ld0xpc3RlbmVyJiYoZS5lbWl0KCJuZXdMaXN0ZW5lciIsdCxuLmxpc3RlbmVyP24ubGlzdGVuZXI6biksbz1lLl9ldmVudHMpLGE9b1t0XSk6KG89ZS5fZXZlbnRzPW5ldyBodSxlLl9ldmVudHNDb3VudD0wKSxhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgYT9hPW9bdF09cj9bbixhXTpbYSxuXTpyP2EudW5zaGlmdChuKTphLnB1c2gobiksIWEud2FybmVkJiYoaT1oXyhlKSkmJmk+MCYmYS5sZW5ndGg+aSl7YS53YXJuZWQ9ITA7dmFyIGksbyxhLHMsbD1FcnJvcigiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAiK2EubGVuZ3RoKyIgIit0KyIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdCIpO2wubmFtZT0iTWF4TGlzdGVuZXJzRXhjZWVkZWRXYXJuaW5nIixsLmVtaXR0ZXI9ZSxsLnR5cGU9dCxsLmNvdW50PWEubGVuZ3RoLHM9bCwiZnVuY3Rpb24iPT10eXBlb2YgY29uc29sZS53YXJuP2NvbnNvbGUud2FybihzKTpjb25zb2xlLmxvZyhzKX19ZWxzZSBhPW9bdF09biwrK2UuX2V2ZW50c0NvdW50O3JldHVybiBlfWZ1bmN0aW9uIGhwKGUsdCxuKXt2YXIgcj0hMTtmdW5jdGlvbiBpKCl7ZS5yZW1vdmVMaXN0ZW5lcih0LGkpLHJ8fChyPSEwLG4uYXBwbHkoZSxhcmd1bWVudHMpKX1yZXR1cm4gaS5saXN0ZW5lcj1uLGl9ZnVuY3Rpb24gaDEoZSl7dmFyIHQ9dGhpcy5fZXZlbnRzO2lmKHQpe3ZhciBuPXRbZV07aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIDE7aWYobilyZXR1cm4gbi5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gaDAoZSx0KXtmb3IodmFyIG49QXJyYXkodCk7dC0tOyluW3RdPWVbdF07cmV0dXJuIG59ZnVuY3Rpb24gaGcoKXt0aGlzLmhlYWQ9bnVsbCx0aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aD0wfWh1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpLGhkLkV2ZW50RW1pdHRlcj1oZCxoZC51c2luZ0RvbWFpbnM9ITEsaGQucHJvdG90eXBlLmRvbWFpbj12b2lkIDAsaGQucHJvdG90eXBlLl9ldmVudHM9dm9pZCAwLGhkLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMCxoZC5kZWZhdWx0TWF4TGlzdGVuZXJzPTEwLGhkLmluaXQ9ZnVuY3Rpb24oKXt0aGlzLmRvbWFpbj1udWxsLGhkLnVzaW5nRG9tYWlucyYmdi5hY3RpdmUsdGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHMhPT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykuX2V2ZW50c3x8KHRoaXMuX2V2ZW50cz1uZXcgaHUsdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpcy5fbWF4TGlzdGVuZXJzPXRoaXMuX21heExpc3RlbmVyc3x8dm9pZCAwfSxoZC5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uIGUodCl7aWYoIm51bWJlciIhPXR5cGVvZiB0fHx0PDB8fGlzTmFOKHQpKXRocm93IFR5cGVFcnJvcignIm4iIGFyZ3VtZW50IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPXQsdGhpc30saGQucHJvdG90eXBlLmdldE1heExpc3RlbmVycz1mdW5jdGlvbiBlKCl7cmV0dXJuIGhfKHRoaXMpfSxoZC5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbiBlKHQpe3ZhciBuLHIsaSxvLGEscyxsLCQ9ImVycm9yIj09PXQ7aWYocz10aGlzLl9ldmVudHMpJD0kJiZudWxsPT1zLmVycm9yO2Vsc2UgaWYoISQpcmV0dXJuITE7aWYobD10aGlzLmRvbWFpbiwkKXtpZihuPWFyZ3VtZW50c1sxXSxsKW58fChuPUVycm9yKCdVbmNhdWdodCwgdW5zcGVjaWZpZWQgImVycm9yIiBldmVudCcpKSxuLmRvbWFpbkVtaXR0ZXI9dGhpcyxuLmRvbWFpbj1sLG4uZG9tYWluVGhyb3duPSExLGwuZW1pdCgiZXJyb3IiLG4pO2Vsc2UgaWYobiBpbnN0YW5jZW9mIEVycm9yKXRocm93IG47ZWxzZXt2YXIgYz1FcnJvcignVW5jYXVnaHQsIHVuc3BlY2lmaWVkICJlcnJvciIgZXZlbnQuICgnK24rIikiKTt0aHJvdyBjLmNvbnRleHQ9bixjfXJldHVybiExfWlmKCEocj1zW3RdKSlyZXR1cm4hMTt2YXIgaD0iZnVuY3Rpb24iPT10eXBlb2Ygcjtzd2l0Y2goaT1hcmd1bWVudHMubGVuZ3RoKXtjYXNlIDE6IWZ1bmN0aW9uIGUodCxuLHIpe2lmKG4pdC5jYWxsKHIpO2Vsc2UgZm9yKHZhciBpPXQubGVuZ3RoLG89aDAodCxpKSxhPTA7YTxpOysrYSlvW2FdLmNhbGwocil9KHIsaCx0aGlzKTticmVhaztjYXNlIDI6IWZ1bmN0aW9uIGUodCxuLHIsaSl7aWYobil0LmNhbGwocixpKTtlbHNlIGZvcih2YXIgbz10Lmxlbmd0aCxhPWgwKHQsbykscz0wO3M8bzsrK3MpYVtzXS5jYWxsKHIsaSl9KHIsaCx0aGlzLGFyZ3VtZW50c1sxXSk7YnJlYWs7Y2FzZSAzOiFmdW5jdGlvbiBlKHQsbixyLGksbyl7aWYobil0LmNhbGwocixpLG8pO2Vsc2UgZm9yKHZhciBhPXQubGVuZ3RoLHM9aDAodCxhKSxsPTA7bDxhOysrbClzW2xdLmNhbGwocixpLG8pfShyLGgsdGhpcyxhcmd1bWVudHNbMV0sYXJndW1lbnRzWzJdKTticmVhaztjYXNlIDQ6IWZ1bmN0aW9uIGUodCxuLHIsaSxvLGEpe2lmKG4pdC5jYWxsKHIsaSxvLGEpO2Vsc2UgZm9yKHZhciBzPXQubGVuZ3RoLGw9aDAodCxzKSwkPTA7JDxzOysrJClsWyRdLmNhbGwocixpLG8sYSl9KHIsaCx0aGlzLGFyZ3VtZW50c1sxXSxhcmd1bWVudHNbMl0sYXJndW1lbnRzWzNdKTticmVhaztkZWZhdWx0OmZvcihhPTEsbz1BcnJheShpLTEpO2E8aTthKyspb1thLTFdPWFyZ3VtZW50c1thXTshZnVuY3Rpb24gZSh0LG4scixpKXtpZihuKXQuYXBwbHkocixpKTtlbHNlIGZvcih2YXIgbz10Lmxlbmd0aCxhPWgwKHQsbykscz0wO3M8bzsrK3MpYVtzXS5hcHBseShyLGkpfShyLGgsdGhpcyxvKX1yZXR1cm4hMH0saGQucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gaGYodGhpcyx0LG4sITEpfSxoZC5wcm90b3R5cGUub249aGQucHJvdG90eXBlLmFkZExpc3RlbmVyLGhkLnByb3RvdHlwZS5wcmVwZW5kTGlzdGVuZXI9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiBoZih0aGlzLHQsbiwhMCl9LGhkLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uIGUodCxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMub24odCxocCh0aGlzLHQsbikpLHRoaXN9LGhkLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyPWZ1bmN0aW9uIGUodCxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMucHJlcGVuZExpc3RlbmVyKHQsaHAodGhpcyx0LG4pKSx0aGlzfSxoZC5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24gZSh0LG4pe3ZhciByLGksbyxhLHM7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKCEoaT10aGlzLl9ldmVudHMpfHwhKHI9aVt0XSkpcmV0dXJuIHRoaXM7aWYocj09PW58fHIubGlzdGVuZXImJnIubGlzdGVuZXI9PT1uKTA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPW5ldyBodTooZGVsZXRlIGlbdF0saS5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsdCxyLmxpc3RlbmVyfHxuKSk7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil7Zm9yKG89LTEsYT1yLmxlbmd0aDthLS0gPjA7KWlmKHJbYV09PT1ufHxyW2FdLmxpc3RlbmVyJiZyW2FdLmxpc3RlbmVyPT09bil7cz1yW2FdLmxpc3RlbmVyLG89YTticmVha31pZihvPDApcmV0dXJuIHRoaXM7aWYoMT09PXIubGVuZ3RoKXtpZihyWzBdPXZvaWQgMCwwPT0tLXRoaXMuX2V2ZW50c0NvdW50KXJldHVybiB0aGlzLl9ldmVudHM9bmV3IGh1LHRoaXM7ZGVsZXRlIGlbdF19ZWxzZShmdW5jdGlvbiBlKHQsbil7Zm9yKHZhciByPW4saT1yKzEsbz10Lmxlbmd0aDtpPG87cis9MSxpKz0xKXRbcl09dFtpXTt0LnBvcCgpfSkocixvKTtpLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIix0LHN8fG4pfXJldHVybiB0aGlzfSxoZC5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KX0saGQucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbiBlKHQpe2lmKCEocj10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKCFyLnJlbW92ZUxpc3RlbmVyKXJldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD8odGhpcy5fZXZlbnRzPW5ldyBodSx0aGlzLl9ldmVudHNDb3VudD0wKTpyW3RdJiYoMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9bmV3IGh1OmRlbGV0ZSByW3RdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXtmb3IodmFyIG4scixpLG89T2JqZWN0LmtleXMociksYT0wO2E8by5sZW5ndGg7KythKSJyZW1vdmVMaXN0ZW5lciIhPT0oaT1vW2FdKSYmdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoaSk7cmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCJyZW1vdmVMaXN0ZW5lciIpLHRoaXMuX2V2ZW50cz1uZXcgaHUsdGhpcy5fZXZlbnRzQ291bnQ9MCx0aGlzfWlmKCJmdW5jdGlvbiI9PXR5cGVvZihuPXJbdF0pKXRoaXMucmVtb3ZlTGlzdGVuZXIodCxuKTtlbHNlIGlmKG4pZG8gdGhpcy5yZW1vdmVMaXN0ZW5lcih0LG5bbi5sZW5ndGgtMV0pO3doaWxlKG5bMF0pO3JldHVybiB0aGlzfSxoZC5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uIGUodCl7dmFyIG4scixpPXRoaXMuX2V2ZW50cztyZXR1cm4gaSYmKG49aVt0XSk/ImZ1bmN0aW9uIj09dHlwZW9mIG4/W24ubGlzdGVuZXJ8fG5dOmZ1bmN0aW9uIGUodCl7Zm9yKHZhciBuPUFycmF5KHQubGVuZ3RoKSxyPTA7cjxuLmxlbmd0aDsrK3IpbltyXT10W3JdLmxpc3RlbmVyfHx0W3JdO3JldHVybiBufShuKTpbXX0saGQubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlLHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlLmxpc3RlbmVyQ291bnQ/ZS5saXN0ZW5lckNvdW50KHQpOmgxLmNhbGwoZSx0KX0saGQucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9aDEsaGQucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24gZSgpe3JldHVybiB0aGlzLl9ldmVudHNDb3VudD4wP1JlZmxlY3Qub3duS2V5cyh0aGlzLl9ldmVudHMpOltdfSxoZy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlKXt2YXIgdD17ZGF0YTplLG5leHQ6bnVsbH07dGhpcy5sZW5ndGg+MD90aGlzLnRhaWwubmV4dD10OnRoaXMuaGVhZD10LHRoaXMudGFpbD10LCsrdGhpcy5sZW5ndGh9LGhnLnByb3RvdHlwZS51bnNoaWZ0PWZ1bmN0aW9uKGUpe3ZhciB0PXtkYXRhOmUsbmV4dDp0aGlzLmhlYWR9OzA9PT10aGlzLmxlbmd0aCYmKHRoaXMudGFpbD10KSx0aGlzLmhlYWQ9dCwrK3RoaXMubGVuZ3RofSxoZy5wcm90b3R5cGUuc2hpZnQ9ZnVuY3Rpb24oKXtpZigwIT09dGhpcy5sZW5ndGgpe3ZhciBlPXRoaXMuaGVhZC5kYXRhO3JldHVybiAxPT09dGhpcy5sZW5ndGg/dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsOnRoaXMuaGVhZD10aGlzLmhlYWQubmV4dCwtLXRoaXMubGVuZ3RoLGV9fSxoZy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH0saGcucHJvdG90eXBlLmpvaW49ZnVuY3Rpb24oZSl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiIiO2Zvcih2YXIgdD10aGlzLmhlYWQsbj0iIit0LmRhdGE7dD10Lm5leHQ7KW4rPWUrdC5kYXRhO3JldHVybiBufSxoZy5wcm90b3R5cGUuY29uY2F0PWZ1bmN0aW9uKGUpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm4gZTguYWxsb2MoMCk7aWYoMT09PXRoaXMubGVuZ3RoKXJldHVybiB0aGlzLmhlYWQuZGF0YTtmb3IodmFyIHQ9ZTguYWxsb2NVbnNhZmUoZT4+PjApLG49dGhpcy5oZWFkLHI9MDtuOyluLmRhdGEuY29weSh0LHIpLHIrPW4uZGF0YS5sZW5ndGgsbj1uLm5leHQ7cmV0dXJuIHR9O3ZhciBobT1lOC5pc0VuY29kaW5nfHxmdW5jdGlvbihlKXtzd2l0Y2goZSYmZS50b0xvd2VyQ2FzZSgpKXtjYXNlImhleCI6Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpjYXNlImFzY2lpIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpjYXNlInJhdyI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O2Z1bmN0aW9uIGgzKGUpe3N3aXRjaCh0aGlzLmVuY29kaW5nPShlfHwidXRmOCIpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fXS8sIiIpLCFmdW5jdGlvbiBlKHQpe2lmKHQmJiFobSh0KSl0aHJvdyBFcnJvcigiVW5rbm93biBlbmNvZGluZzogIit0KX0oZSksdGhpcy5lbmNvZGluZyl7Y2FzZSJ1dGY4Ijp0aGlzLnN1cnJvZ2F0ZVNpemU9MzticmVhaztjYXNlInVjczIiOmNhc2UidXRmMTZsZSI6dGhpcy5zdXJyb2dhdGVTaXplPTIsdGhpcy5kZXRlY3RJbmNvbXBsZXRlQ2hhcj1odjticmVhaztjYXNlImJhc2U2NCI6dGhpcy5zdXJyb2dhdGVTaXplPTMsdGhpcy5kZXRlY3RJbmNvbXBsZXRlQ2hhcj1oMjticmVhaztkZWZhdWx0OnRoaXMud3JpdGU9aHc7cmV0dXJufXRoaXMuY2hhckJ1ZmZlcj1uZXcgZTgoNiksdGhpcy5jaGFyUmVjZWl2ZWQ9MCx0aGlzLmNoYXJMZW5ndGg9MH1mdW5jdGlvbiBodyhlKXtyZXR1cm4gZS50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBodihlKXt0aGlzLmNoYXJSZWNlaXZlZD1lLmxlbmd0aCUyLHRoaXMuY2hhckxlbmd0aD10aGlzLmNoYXJSZWNlaXZlZD8yOjB9ZnVuY3Rpb24gaDIoZSl7dGhpcy5jaGFyUmVjZWl2ZWQ9ZS5sZW5ndGglMyx0aGlzLmNoYXJMZW5ndGg9dGhpcy5jaGFyUmVjZWl2ZWQ/MzowfWgzLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IiI7dGhpcy5jaGFyTGVuZ3RoOyl7dmFyIG49ZS5sZW5ndGg+PXRoaXMuY2hhckxlbmd0aC10aGlzLmNoYXJSZWNlaXZlZD90aGlzLmNoYXJMZW5ndGgtdGhpcy5jaGFyUmVjZWl2ZWQ6ZS5sZW5ndGg7aWYoZS5jb3B5KHRoaXMuY2hhckJ1ZmZlcix0aGlzLmNoYXJSZWNlaXZlZCwwLG4pLHRoaXMuY2hhclJlY2VpdmVkKz1uLHRoaXMuY2hhclJlY2VpdmVkPHRoaXMuY2hhckxlbmd0aClyZXR1cm4iIjtlPWUuc2xpY2UobixlLmxlbmd0aCk7dmFyIHI9KHQ9dGhpcy5jaGFyQnVmZmVyLnNsaWNlKDAsdGhpcy5jaGFyTGVuZ3RoKS50b1N0cmluZyh0aGlzLmVuY29kaW5nKSkuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKTtpZihyPj01NTI5NiYmcjw9NTYzMTkpe3RoaXMuY2hhckxlbmd0aCs9dGhpcy5zdXJyb2dhdGVTaXplLHQ9IiI7Y29udGludWV9aWYodGhpcy5jaGFyUmVjZWl2ZWQ9dGhpcy5jaGFyTGVuZ3RoPTAsMD09PWUubGVuZ3RoKXJldHVybiB0O2JyZWFrfXRoaXMuZGV0ZWN0SW5jb21wbGV0ZUNoYXIoZSk7dmFyIGk9ZS5sZW5ndGg7dGhpcy5jaGFyTGVuZ3RoJiYoZS5jb3B5KHRoaXMuY2hhckJ1ZmZlciwwLGUubGVuZ3RoLXRoaXMuY2hhclJlY2VpdmVkLGkpLGktPXRoaXMuY2hhclJlY2VpdmVkKTt2YXIgaT0odCs9ZS50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsaSkpLmxlbmd0aC0xLHI9dC5jaGFyQ29kZUF0KGkpO2lmKHI+PTU1Mjk2JiZyPD01NjMxOSl7dmFyIG89dGhpcy5zdXJyb2dhdGVTaXplO3JldHVybiB0aGlzLmNoYXJMZW5ndGgrPW8sdGhpcy5jaGFyUmVjZWl2ZWQrPW8sdGhpcy5jaGFyQnVmZmVyLmNvcHkodGhpcy5jaGFyQnVmZmVyLG8sMCxvKSxlLmNvcHkodGhpcy5jaGFyQnVmZmVyLDAsMCxvKSx0LnN1YnN0cmluZygwLGkpfXJldHVybiB0fSxoMy5wcm90b3R5cGUuZGV0ZWN0SW5jb21wbGV0ZUNoYXI9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUubGVuZ3RoPj0zPzM6ZS5sZW5ndGg7dD4wO3QtLSl7dmFyIG49ZVtlLmxlbmd0aC10XTtpZigxPT10JiZuPj41PT02KXt0aGlzLmNoYXJMZW5ndGg9MjticmVha31pZih0PD0yJiZuPj40PT0xNCl7dGhpcy5jaGFyTGVuZ3RoPTM7YnJlYWt9aWYodDw9MyYmbj4+Mz09MzApe3RoaXMuY2hhckxlbmd0aD00O2JyZWFrfX10aGlzLmNoYXJSZWNlaXZlZD10fSxoMy5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKGUpe3ZhciB0PSIiO2lmKGUmJmUubGVuZ3RoJiYodD10aGlzLndyaXRlKGUpKSx0aGlzLmNoYXJSZWNlaXZlZCl7dmFyIG49dGhpcy5jaGFyUmVjZWl2ZWQscj10aGlzLmNoYXJCdWZmZXIsaT10aGlzLmVuY29kaW5nO3QrPXIuc2xpY2UoMCxuKS50b1N0cmluZyhpKX1yZXR1cm4gdH0saDguUmVhZGFibGVTdGF0ZT1oYjt2YXIgaDQ9Y1AoInN0cmVhbSIpO2Z1bmN0aW9uIGhiKGUsdCl7ZT1lfHx7fSx0aGlzLm9iamVjdE1vZGU9ISFlLm9iamVjdE1vZGUsdCBpbnN0YW5jZW9mIGhqJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLnJlYWRhYmxlT2JqZWN0TW9kZSk7dmFyIG49ZS5oaWdoV2F0ZXJNYXJrLHI9dGhpcy5vYmplY3RNb2RlPzE2OjE2Mzg0O3RoaXMuaGlnaFdhdGVyTWFyaz1ufHwwPT09bj9uOnIsdGhpcy5oaWdoV2F0ZXJNYXJrPX5+dGhpcy5oaWdoV2F0ZXJNYXJrLHRoaXMuYnVmZmVyPW5ldyBoZyx0aGlzLmxlbmd0aD0wLHRoaXMucGlwZXM9bnVsbCx0aGlzLnBpcGVzQ291bnQ9MCx0aGlzLmZsb3dpbmc9bnVsbCx0aGlzLmVuZGVkPSExLHRoaXMuZW5kRW1pdHRlZD0hMSx0aGlzLnJlYWRpbmc9ITEsdGhpcy5zeW5jPSEwLHRoaXMubmVlZFJlYWRhYmxlPSExLHRoaXMuZW1pdHRlZFJlYWRhYmxlPSExLHRoaXMucmVhZGFibGVMaXN0ZW5pbmc9ITEsdGhpcy5yZXN1bWVTY2hlZHVsZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLnJhbk91dD0hMSx0aGlzLmF3YWl0RHJhaW49MCx0aGlzLnJlYWRpbmdNb3JlPSExLHRoaXMuZGVjb2Rlcj1udWxsLHRoaXMuZW5jb2Rpbmc9bnVsbCxlLmVuY29kaW5nJiYodGhpcy5kZWNvZGVyPW5ldyBoMyhlLmVuY29kaW5nKSx0aGlzLmVuY29kaW5nPWUuZW5jb2RpbmcpfWZ1bmN0aW9uIGg4KGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGg4KSlyZXR1cm4gbmV3IGg4KGUpO3RoaXMuX3JlYWRhYmxlU3RhdGU9bmV3IGhiKGUsdGhpcyksdGhpcy5yZWFkYWJsZT0hMCxlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5yZWFkJiYodGhpcy5fcmVhZD1lLnJlYWQpLGhkLmNhbGwodGhpcyl9ZnVuY3Rpb24gaDYoZSx0LG4scixpKXt2YXIgbyxhLHMsbCwkPShhPXQscz1uLGw9bnVsbCxlOC5pc0J1ZmZlcihzKXx8InN0cmluZyI9PXR5cGVvZiBzfHxudWxsPT1zfHxhLm9iamVjdE1vZGV8fChsPVR5cGVFcnJvcigiSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuayIpKSxsKTtpZigkKWUuZW1pdCgiZXJyb3IiLCQpO2Vsc2UgaWYobnVsbD09PW4pdC5yZWFkaW5nPSExLGZ1bmN0aW9uIGUodCxuKXtpZighbi5lbmRlZCl7aWYobi5kZWNvZGVyKXt2YXIgcj1uLmRlY29kZXIuZW5kKCk7ciYmci5sZW5ndGgmJihuLmJ1ZmZlci5wdXNoKHIpLG4ubGVuZ3RoKz1uLm9iamVjdE1vZGU/MTpyLmxlbmd0aCl9bi5lbmRlZD0hMCxoNSh0KX19KGUsdCk7ZWxzZSBpZih0Lm9iamVjdE1vZGV8fG4mJm4ubGVuZ3RoPjApe2lmKHQuZW5kZWQmJiFpKXt2YXIgYyxoLHUsZD1FcnJvcigic3RyZWFtLnB1c2goKSBhZnRlciBFT0YiKTtlLmVtaXQoImVycm9yIixkKX1lbHNlIGlmKHQuZW5kRW1pdHRlZCYmaSl7dmFyIF89RXJyb3IoInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50Iik7ZS5lbWl0KCJlcnJvciIsXyl9ZWxzZXshdC5kZWNvZGVyfHxpfHxyfHwobj10LmRlY29kZXIud3JpdGUobiksdT0hdC5vYmplY3RNb2RlJiYwPT09bi5sZW5ndGgpLGl8fCh0LnJlYWRpbmc9ITEpLCF1JiYodC5mbG93aW5nJiYwPT09dC5sZW5ndGgmJiF0LnN5bmM/KGUuZW1pdCgiZGF0YSIsbiksZS5yZWFkKDApKToodC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOm4ubGVuZ3RoLGk/dC5idWZmZXIudW5zaGlmdChuKTp0LmJ1ZmZlci5wdXNoKG4pLHQubmVlZFJlYWRhYmxlJiZoNShlKSkpLGM9ZSwoaD10KS5yZWFkaW5nTW9yZXx8KGgucmVhZGluZ01vcmU9ITAsY3AoaDcsYyxoKSl9fWVsc2UgaXx8KHQucmVhZGluZz0hMSk7cmV0dXJuIG89dCwhby5lbmRlZCYmKG8ubmVlZFJlYWRhYmxlfHxvLmxlbmd0aDxvLmhpZ2hXYXRlck1hcmt8fDA9PT1vLmxlbmd0aCl9ZnVuY3Rpb24gaHkoZSx0KXtpZihlPD0wfHwwPT09dC5sZW5ndGgmJnQuZW5kZWQpcmV0dXJuIDA7aWYodC5vYmplY3RNb2RlKXJldHVybiAxO2lmKGUhPWUpcmV0dXJuIHQuZmxvd2luZyYmdC5sZW5ndGg/dC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDp0Lmxlbmd0aDtpZihlPnQuaGlnaFdhdGVyTWFyayl7dmFyIG47dC5oaWdoV2F0ZXJNYXJrPSgobj1lKT49ODM4ODYwOD9uPTgzODg2MDg6KG4tLSxufD1uPj4+MSxufD1uPj4+MixufD1uPj4+NCxufD1uPj4+OCxufD1uPj4+MTYsbisrKSxuKX1yZXR1cm4gZTw9dC5sZW5ndGg/ZTp0LmVuZGVkP3QubGVuZ3RoOih0Lm5lZWRSZWFkYWJsZT0hMCwwKX1mdW5jdGlvbiBoNShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3QubmVlZFJlYWRhYmxlPSExLHQuZW1pdHRlZFJlYWRhYmxlfHwoaDQoImVtaXRSZWFkYWJsZSIsdC5mbG93aW5nKSx0LmVtaXR0ZWRSZWFkYWJsZT0hMCx0LnN5bmM/Y3AoaHgsZSk6aHgoZSkpfWZ1bmN0aW9uIGh4KGUpe2g0KCJlbWl0IHJlYWRhYmxlIiksZS5lbWl0KCJyZWFkYWJsZSIpLGhEKGUpfWZ1bmN0aW9uIGg3KGUsdCl7Zm9yKHZhciBuPXQubGVuZ3RoOyF0LnJlYWRpbmcmJiF0LmZsb3dpbmcmJiF0LmVuZGVkJiZ0Lmxlbmd0aDx0LmhpZ2hXYXRlck1hcmsmJihoNCgibWF5YmVSZWFkTW9yZSByZWFkIDAiKSxlLnJlYWQoMCksbiE9PXQubGVuZ3RoKTspbj10Lmxlbmd0aDt0LnJlYWRpbmdNb3JlPSExfWZ1bmN0aW9uIGhFKGUpe2g0KCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDAiKSxlLnJlYWQoMCl9ZnVuY3Rpb24gaEMoZSx0KXt0LnJlYWRpbmd8fChoNCgicmVzdW1lIHJlYWQgMCIpLGUucmVhZCgwKSksdC5yZXN1bWVTY2hlZHVsZWQ9ITEsdC5hd2FpdERyYWluPTAsZS5lbWl0KCJyZXN1bWUiKSxoRChlKSx0LmZsb3dpbmcmJiF0LnJlYWRpbmcmJmUucmVhZCgwKX1mdW5jdGlvbiBoRChlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2ZvcihoNCgiZmxvdyIsdC5mbG93aW5nKTt0LmZsb3dpbmcmJm51bGwhPT1lLnJlYWQoKTspO31mdW5jdGlvbiBoayhlLHQpe3ZhciBuLHIsaSxvLGE7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOih0Lm9iamVjdE1vZGU/bj10LmJ1ZmZlci5zaGlmdCgpOiFlfHxlPj10Lmxlbmd0aD8obj10LmRlY29kZXI/dC5idWZmZXIuam9pbigiIik6MT09PXQuYnVmZmVyLmxlbmd0aD90LmJ1ZmZlci5oZWFkLmRhdGE6dC5idWZmZXIuY29uY2F0KHQubGVuZ3RoKSx0LmJ1ZmZlci5jbGVhcigpKTpuPShyPWUsaT10LmJ1ZmZlcixvPXQuZGVjb2RlcixyPGkuaGVhZC5kYXRhLmxlbmd0aD8oYT1pLmhlYWQuZGF0YS5zbGljZSgwLHIpLGkuaGVhZC5kYXRhPWkuaGVhZC5kYXRhLnNsaWNlKHIpKTphPXI9PT1pLmhlYWQuZGF0YS5sZW5ndGg/aS5zaGlmdCgpOm8/ZnVuY3Rpb24gZSh0LG4pe3ZhciByPW4uaGVhZCxpPTEsbz1yLmRhdGE7Zm9yKHQtPW8ubGVuZ3RoO3I9ci5uZXh0Oyl7dmFyIGE9ci5kYXRhLHM9dD5hLmxlbmd0aD9hLmxlbmd0aDp0O2lmKHM9PT1hLmxlbmd0aD9vKz1hOm8rPWEuc2xpY2UoMCx0KSwwPT0odC09cykpe3M9PT1hLmxlbmd0aD8oKytpLHIubmV4dD9uLmhlYWQ9ci5uZXh0Om4uaGVhZD1uLnRhaWw9bnVsbCk6KG4uaGVhZD1yLHIuZGF0YT1hLnNsaWNlKHMpKTticmVha30rK2l9cmV0dXJuIG4ubGVuZ3RoLT1pLG99KHIsaSk6ZnVuY3Rpb24gZSh0LG4pe3ZhciByPWU4LmFsbG9jVW5zYWZlKHQpLGk9bi5oZWFkLG89MTtmb3IoaS5kYXRhLmNvcHkociksdC09aS5kYXRhLmxlbmd0aDtpPWkubmV4dDspe3ZhciBhPWkuZGF0YSxzPXQ+YS5sZW5ndGg/YS5sZW5ndGg6dDtpZihhLmNvcHkocixyLmxlbmd0aC10LDAscyksMD09KHQtPXMpKXtzPT09YS5sZW5ndGg/KCsrbyxpLm5leHQ/bi5oZWFkPWkubmV4dDpuLmhlYWQ9bi50YWlsPW51bGwpOihuLmhlYWQ9aSxpLmRhdGE9YS5zbGljZShzKSk7YnJlYWt9KytvfXJldHVybiBuLmxlbmd0aC09byxyfShyLGkpLGEpLG4pfWZ1bmN0aW9uIGhBKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7aWYodC5sZW5ndGg+MCl0aHJvdyBFcnJvcignImVuZFJlYWRhYmxlKCkiIGNhbGxlZCBvbiBub24tZW1wdHkgc3RyZWFtJyk7dC5lbmRFbWl0dGVkfHwodC5lbmRlZD0hMCxjcChoSSx0LGUpKX1mdW5jdGlvbiBoSShlLHQpe2UuZW5kRW1pdHRlZHx8MCE9PWUubGVuZ3RofHwoZS5lbmRFbWl0dGVkPSEwLHQucmVhZGFibGU9ITEsdC5lbWl0KCJlbmQiKSl9ZnVuY3Rpb24gaFQoZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspaWYoZVtuXT09PXQpcmV0dXJuIG47cmV0dXJuIC0xfWZ1bmN0aW9uIGhTKCl7fWZ1bmN0aW9uIGhMKGUsdCxuKXt0aGlzLmNodW5rPWUsdGhpcy5lbmNvZGluZz10LHRoaXMuY2FsbGJhY2s9bix0aGlzLm5leHQ9bnVsbH1mdW5jdGlvbiBoTihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJidWZmZXIiLHtnZXQ6Y08oZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRCdWZmZXIoKX0sIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuIil9KSxlPWV8fHt9LHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSx0IGluc3RhbmNlb2YgaGomJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIWUud3JpdGFibGVPYmplY3RNb2RlKTt2YXIgbj1lLmhpZ2hXYXRlck1hcmsscj10aGlzLm9iamVjdE1vZGU/MTY6MTYzODQ7dGhpcy5oaWdoV2F0ZXJNYXJrPW58fDA9PT1uP246cix0aGlzLmhpZ2hXYXRlck1hcms9fn50aGlzLmhpZ2hXYXRlck1hcmssdGhpcy5uZWVkRHJhaW49ITEsdGhpcy5lbmRpbmc9ITEsdGhpcy5lbmRlZD0hMSx0aGlzLmZpbmlzaGVkPSExO3ZhciBpPSExPT09ZS5kZWNvZGVTdHJpbmdzO3RoaXMuZGVjb2RlU3RyaW5ncz0haSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMubGVuZ3RoPTAsdGhpcy53cml0aW5nPSExLHRoaXMuY29ya2VkPTAsdGhpcy5zeW5jPSEwLHRoaXMuYnVmZmVyUHJvY2Vzc2luZz0hMSx0aGlzLm9ud3JpdGU9ZnVuY3Rpb24oZSl7KGZ1bmN0aW9uIGUodCxuKXt2YXIgcixpLG8sYSxzLGwsJD10Ll93cml0YWJsZVN0YXRlLGM9JC5zeW5jLGg9JC53cml0ZWNiO2lmKChsPSQpLndyaXRpbmc9ITEsbC53cml0ZWNiPW51bGwsbC5sZW5ndGgtPWwud3JpdGVsZW4sbC53cml0ZWxlbj0wLG4pcj10LGk9JCxvPWMsYT1uLHM9aCwtLWkucGVuZGluZ2NiLG8/Y3AocyxhKTpzKGEpLHIuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHIuZW1pdCgiZXJyb3IiLGEpO2Vsc2V7dmFyIHU9aFIoJCk7dXx8JC5jb3JrZWR8fCQuYnVmZmVyUHJvY2Vzc2luZ3x8ISQuYnVmZmVyZWRSZXF1ZXN0fHxoOSh0LCQpLGM/Y3AoaFAsdCwkLHUsaCk6aFAodCwkLHUsaCl9fSkodCxlKX0sdGhpcy53cml0ZWNiPW51bGwsdGhpcy53cml0ZWxlbj0wLHRoaXMuYnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5wZW5kaW5nY2I9MCx0aGlzLnByZWZpbmlzaGVkPSExLHRoaXMuZXJyb3JFbWl0dGVkPSExLHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgaFcodGhpcyl9ZnVuY3Rpb24gaE8oZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgaE8pJiYhKHRoaXMgaW5zdGFuY2VvZiBoaikpcmV0dXJuIG5ldyBoTyhlKTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBoTihlLHRoaXMpLHRoaXMud3JpdGFibGU9ITAsZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLndyaXRlJiYodGhpcy5fd3JpdGU9ZS53cml0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGUud3JpdGV2JiYodGhpcy5fd3JpdGV2PWUud3JpdGV2KSksaGQuY2FsbCh0aGlzKX1mdW5jdGlvbiBoTShlLHQsbixyLGksbyxhKXt0LndyaXRlbGVuPXIsdC53cml0ZWNiPWEsdC53cml0aW5nPSEwLHQuc3luYz0hMCxuP2UuX3dyaXRldihpLHQub253cml0ZSk6ZS5fd3JpdGUoaSxvLHQub253cml0ZSksdC5zeW5jPSExfWZ1bmN0aW9uIGhQKGUsdCxuLHIpe3ZhciBpLG87bnx8KGk9ZSxvPXQsMD09PW8ubGVuZ3RoJiZvLm5lZWREcmFpbiYmKG8ubmVlZERyYWluPSExLGkuZW1pdCgiZHJhaW4iKSkpLHQucGVuZGluZ2NiLS0scigpLGhCKGUsdCl9ZnVuY3Rpb24gaDkoZSx0KXt0LmJ1ZmZlclByb2Nlc3Npbmc9ITA7dmFyIG49dC5idWZmZXJlZFJlcXVlc3Q7aWYoZS5fd3JpdGV2JiZuJiZuLm5leHQpe3ZhciByPUFycmF5KHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQpLGk9dC5jb3JrZWRSZXF1ZXN0c0ZyZWU7aS5lbnRyeT1uO2Zvcih2YXIgbz0wO247KXJbb109bixuPW4ubmV4dCxvKz0xO2hNKGUsdCwhMCx0Lmxlbmd0aCxyLCIiLGkuZmluaXNoKSx0LnBlbmRpbmdjYisrLHQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLGkubmV4dD8odC5jb3JrZWRSZXF1ZXN0c0ZyZWU9aS5uZXh0LGkubmV4dD1udWxsKTp0LmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgaFcodCl9ZWxzZXtmb3IoO247KXt2YXIgYT1uLmNodW5rLHM9bi5lbmNvZGluZyxsPW4uY2FsbGJhY2ssJD10Lm9iamVjdE1vZGU/MTphLmxlbmd0aDtpZihoTShlLHQsITEsJCxhLHMsbCksbj1uLm5leHQsdC53cml0aW5nKWJyZWFrfW51bGw9PT1uJiYodC5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwpfXQuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0LmJ1ZmZlcmVkUmVxdWVzdD1uLHQuYnVmZmVyUHJvY2Vzc2luZz0hMX1mdW5jdGlvbiBoUihlKXtyZXR1cm4gZS5lbmRpbmcmJjA9PT1lLmxlbmd0aCYmbnVsbD09PWUuYnVmZmVyZWRSZXF1ZXN0JiYhZS5maW5pc2hlZCYmIWUud3JpdGluZ31mdW5jdGlvbiBoVShlLHQpe3QucHJlZmluaXNoZWR8fCh0LnByZWZpbmlzaGVkPSEwLGUuZW1pdCgicHJlZmluaXNoIikpfWZ1bmN0aW9uIGhCKGUsdCl7dmFyIG49aFIodCk7cmV0dXJuIG4mJigwPT09dC5wZW5kaW5nY2I/KGhVKGUsdCksdC5maW5pc2hlZD0hMCxlLmVtaXQoImZpbmlzaCIpKTpoVShlLHQpKSxufWZ1bmN0aW9uIGhXKGUpe3ZhciB0PXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKG4pe3ZhciByPXQuZW50cnk7Zm9yKHQuZW50cnk9bnVsbDtyOyl7dmFyIGk9ci5jYWxsYmFjaztlLnBlbmRpbmdjYi0tLGkobikscj1yLm5leHR9ZS5jb3JrZWRSZXF1ZXN0c0ZyZWU/ZS5jb3JrZWRSZXF1ZXN0c0ZyZWUubmV4dD10OmUuY29ya2VkUmVxdWVzdHNGcmVlPXR9fWNTKGg4LGhkKSxoOC5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIG4ub2JqZWN0TW9kZXx8InN0cmluZyIhPXR5cGVvZiBlfHwodD10fHxuLmRlZmF1bHRFbmNvZGluZyk9PT1uLmVuY29kaW5nfHwoZT1lOC5mcm9tKGUsdCksdD0iIiksaDYodGhpcyxuLGUsdCwhMSl9LGg4LnByb3RvdHlwZS51bnNoaWZ0PWZ1bmN0aW9uKGUpe3JldHVybiBoNih0aGlzLHRoaXMuX3JlYWRhYmxlU3RhdGUsZSwiIiwhMCl9LGg4LnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxoOC5wcm90b3R5cGUuc2V0RW5jb2Rpbmc9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj1uZXcgaDMoZSksdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmNvZGluZz1lLHRoaXN9LGg4LnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe2g0KCJyZWFkIixlKSxlPXBhcnNlSW50KGUsMTApO3ZhciB0LG49dGhpcy5fcmVhZGFibGVTdGF0ZSxyPWU7aWYoMCE9PWUmJihuLmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PWUmJm4ubmVlZFJlYWRhYmxlJiYobi5sZW5ndGg+PW4uaGlnaFdhdGVyTWFya3x8bi5lbmRlZCkpcmV0dXJuIGg0KCJyZWFkOiBlbWl0UmVhZGFibGUiLG4ubGVuZ3RoLG4uZW5kZWQpLDA9PT1uLmxlbmd0aCYmbi5lbmRlZD9oQSh0aGlzKTpoNSh0aGlzKSxudWxsO2lmKDA9PT0oZT1oeShlLG4pKSYmbi5lbmRlZClyZXR1cm4gMD09PW4ubGVuZ3RoJiZoQSh0aGlzKSxudWxsO3ZhciBpPW4ubmVlZFJlYWRhYmxlO3JldHVybiBoNCgibmVlZCByZWFkYWJsZSIsaSksKDA9PT1uLmxlbmd0aHx8bi5sZW5ndGgtZTxuLmhpZ2hXYXRlck1hcmspJiZoNCgibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsiLGk9ITApLG4uZW5kZWR8fG4ucmVhZGluZz9oNCgicmVhZGluZyBvciBlbmRlZCIsaT0hMSk6aSYmKGg0KCJkbyByZWFkIiksbi5yZWFkaW5nPSEwLG4uc3luYz0hMCwwPT09bi5sZW5ndGgmJihuLm5lZWRSZWFkYWJsZT0hMCksdGhpcy5fcmVhZChuLmhpZ2hXYXRlck1hcmspLG4uc3luYz0hMSxuLnJlYWRpbmd8fChlPWh5KHIsbikpKSxudWxsPT09KHQ9ZT4wP2hrKGUsbik6bnVsbCk/KG4ubmVlZFJlYWRhYmxlPSEwLGU9MCk6bi5sZW5ndGgtPWUsMD09PW4ubGVuZ3RoJiYobi5lbmRlZHx8KG4ubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmbi5lbmRlZCYmaEEodGhpcykpLG51bGwhPT10JiZ0aGlzLmVtaXQoImRhdGEiLHQpLHR9LGg4LnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXt0aGlzLmVtaXQoImVycm9yIixFcnJvcigibm90IGltcGxlbWVudGVkIikpfSxoOC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9dGhpcyxpPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKGkucGlwZXNDb3VudCl7Y2FzZSAwOmkucGlwZXM9ZTticmVhaztjYXNlIDE6aS5waXBlcz1baS5waXBlcyxlXTticmVhaztkZWZhdWx0OmkucGlwZXMucHVzaChlKX1pLnBpcGVzQ291bnQrPTEsaDQoInBpcGUgY291bnQ9JWQgb3B0cz0laiIsaS5waXBlc0NvdW50LHQpO3ZhciBvPXQmJiExPT09dC5lbmQ/YzpzO2Z1bmN0aW9uIGEoZSl7aDQoIm9udW5waXBlIiksZT09PXImJmMoKX1mdW5jdGlvbiBzKCl7aDQoIm9uZW5kIiksZS5lbmQoKX1pLmVuZEVtaXR0ZWQ/Y3Aobyk6ci5vbmNlKCJlbmQiLG8pLGUub24oInVucGlwZSIsYSk7dmFyIGw9KG49cixmdW5jdGlvbigpe3ZhciBlPW4uX3JlYWRhYmxlU3RhdGU7aDQoInBpcGVPbkRyYWluIixlLmF3YWl0RHJhaW4pLGUuYXdhaXREcmFpbiYmZS5hd2FpdERyYWluLS0sMD09PWUuYXdhaXREcmFpbiYmbi5saXN0ZW5lcnMoImRhdGEiKS5sZW5ndGgmJihlLmZsb3dpbmc9ITAsaEQobikpfSk7ZS5vbigiZHJhaW4iLGwpO3ZhciAkPSExO2Z1bmN0aW9uIGMoKXtoNCgiY2xlYW51cCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixfKSxlLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLGYpLGUucmVtb3ZlTGlzdGVuZXIoImRyYWluIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZCksZS5yZW1vdmVMaXN0ZW5lcigidW5waXBlIixhKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLHMpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsYyksci5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsdSksJD0hMCxpLmF3YWl0RHJhaW4mJighZS5fd3JpdGFibGVTdGF0ZXx8ZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pJiZsKCl9dmFyIGg9ITE7ZnVuY3Rpb24gdSh0KXtoNCgib25kYXRhIiksaD0hMSwhMSE9PWUud3JpdGUodCl8fGh8fCgoMT09PWkucGlwZXNDb3VudCYmaS5waXBlcz09PWV8fGkucGlwZXNDb3VudD4xJiYtMSE9PWhUKGkucGlwZXMsZSkpJiYhJCYmKGg0KCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLHIuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbiksci5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKyssaD0hMCksci5wYXVzZSgpKX1mdW5jdGlvbiBkKHQpe3ZhciBuO2g0KCJvbmVycm9yIix0KSxwKCksZS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGQpLDA9PT0obj1lKS5saXN0ZW5lcnMoImVycm9yIikubGVuZ3RoJiZlLmVtaXQoImVycm9yIix0KX1mdW5jdGlvbiBfKCl7ZS5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixmKSxwKCl9ZnVuY3Rpb24gZigpe2g0KCJvbmZpbmlzaCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixfKSxwKCl9ZnVuY3Rpb24gcCgpe2g0KCJ1bnBpcGUiKSxyLnVucGlwZShlKX1yZXR1cm4gci5vbigiZGF0YSIsdSksZnVuY3Rpb24gZSh0LG4scil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQucHJlcGVuZExpc3RlbmVyKXJldHVybiB0LnByZXBlbmRMaXN0ZW5lcihuLHIpO3QuX2V2ZW50cyYmdC5fZXZlbnRzW25dP0FycmF5LmlzQXJyYXkodC5fZXZlbnRzW25dKT90Ll9ldmVudHNbbl0udW5zaGlmdChyKTp0Ll9ldmVudHNbbl09W3IsdC5fZXZlbnRzW25dXTp0Lm9uKG4scil9KGUsImVycm9yIixkKSxlLm9uY2UoImNsb3NlIixfKSxlLm9uY2UoImZpbmlzaCIsZiksZS5lbWl0KCJwaXBlIixyKSxpLmZsb3dpbmd8fChoNCgicGlwZSByZXN1bWUiKSxyLnJlc3VtZSgpKSxlfSxoOC5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlYWRhYmxlU3RhdGU7aWYoMD09PXQucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09dC5waXBlc0NvdW50KXJldHVybiBlJiZlIT09dC5waXBlc3x8KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KCJ1bnBpcGUiLHRoaXMpKSx0aGlzO2lmKCFlKXt2YXIgbj10LnBpcGVzLHI9dC5waXBlc0NvdW50O3QucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITE7Zm9yKHZhciBpPTA7aTxyO2krKyluW2ldLmVtaXQoInVucGlwZSIsdGhpcyk7cmV0dXJuIHRoaXN9dmFyIG89aFQodC5waXBlcyxlKTtyZXR1cm4gLTE9PT1vfHwodC5waXBlcy5zcGxpY2UobywxKSx0LnBpcGVzQ291bnQtPTEsMT09PXQucGlwZXNDb3VudCYmKHQucGlwZXM9dC5waXBlc1swXSksZS5lbWl0KCJ1bnBpcGUiLHRoaXMpKSx0aGlzfSxoOC5wcm90b3R5cGUub249ZnVuY3Rpb24oZSx0KXt2YXIgbj1oZC5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCk7aWYoImRhdGEiPT09ZSkhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmdGhpcy5yZXN1bWUoKTtlbHNlIGlmKCJyZWFkYWJsZSI9PT1lKXt2YXIgcj10aGlzLl9yZWFkYWJsZVN0YXRlO3IuZW5kRW1pdHRlZHx8ci5yZWFkYWJsZUxpc3RlbmluZ3x8KHIucmVhZGFibGVMaXN0ZW5pbmc9ci5uZWVkUmVhZGFibGU9ITAsci5lbWl0dGVkUmVhZGFibGU9ITEsci5yZWFkaW5nP3IubGVuZ3RoJiZoNSh0aGlzKTpjcChoRSx0aGlzKSl9cmV0dXJuIG59LGg4LnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1oOC5wcm90b3R5cGUub24saDgucHJvdG90eXBlLnJlc3VtZT1mdW5jdGlvbigpe3ZhciBlLHQsbj10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBuLmZsb3dpbmd8fChoNCgicmVzdW1lIiksbi5mbG93aW5nPSEwLGU9dGhpcywodD1uKS5yZXN1bWVTY2hlZHVsZWR8fCh0LnJlc3VtZVNjaGVkdWxlZD0hMCxjcChoQyxlLHQpKSksdGhpc30saDgucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuIGg0KCJjYWxsIHBhdXNlIGZsb3dpbmc9JWoiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihoNCgicGF1c2UiKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ITEsdGhpcy5lbWl0KCJwYXVzZSIpKSx0aGlzfSxoOC5wcm90b3R5cGUud3JhcD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlLG49ITEscj10aGlzO2Zvcih2YXIgaSBpbiBlLm9uKCJlbmQiLGZ1bmN0aW9uKCl7aWYoaDQoIndyYXBwZWQgZW5kIiksdC5kZWNvZGVyJiYhdC5lbmRlZCl7dmFyIGU9dC5kZWNvZGVyLmVuZCgpO2UmJmUubGVuZ3RoJiZyLnB1c2goZSl9ci5wdXNoKG51bGwpfSksZS5vbigiZGF0YSIsZnVuY3Rpb24oaSl7aWYoaDQoIndyYXBwZWQgZGF0YSIpLHQuZGVjb2RlciYmKGk9dC5kZWNvZGVyLndyaXRlKGkpKSwhdC5vYmplY3RNb2RlfHxudWxsIT1pKSh0Lm9iamVjdE1vZGV8fGkmJmkubGVuZ3RoKSYmKHIucHVzaChpKXx8KG49ITAsZS5wYXVzZSgpKSl9KSxlKXZvaWQgMD09PXRoaXNbaV0mJiJmdW5jdGlvbiI9PXR5cGVvZiBlW2ldJiYodGhpc1tpXT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZVt0XS5hcHBseShlLGFyZ3VtZW50cyl9fShpKSk7cmV0dXJuIGZ1bmN0aW9uIGUodCxuKXtmb3IodmFyIHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspbih0W3JdLHIpfShbImVycm9yIiwiY2xvc2UiLCJkZXN0cm95IiwicGF1c2UiLCJyZXN1bWUiXSxmdW5jdGlvbih0KXtlLm9uKHQsci5lbWl0LmJpbmQocix0KSl9KSxyLl9yZWFkPWZ1bmN0aW9uKHQpe2g0KCJ3cmFwcGVkIF9yZWFkIix0KSxuJiYobj0hMSxlLnJlc3VtZSgpKX0scn0saDguX2Zyb21MaXN0PWhrLGhPLldyaXRhYmxlU3RhdGU9aE4sY1MoaE8saGQpLGhOLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgdD10aGlzLmJ1ZmZlcmVkUmVxdWVzdCxuPVtdO3Q7KW4ucHVzaCh0KSx0PXQubmV4dDtyZXR1cm4gbn0saE8ucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXt0aGlzLmVtaXQoImVycm9yIixFcnJvcigiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZSIpKX0saE8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLGwsJCxjLGgsdT10aGlzLl93cml0YWJsZVN0YXRlLGQ9ITE7cmV0dXJuKCJmdW5jdGlvbiI9PXR5cGVvZiB0JiYobj10LHQ9bnVsbCksZTguaXNCdWZmZXIoZSk/dD0iYnVmZmVyIjp0fHwodD11LmRlZmF1bHRFbmNvZGluZyksImZ1bmN0aW9uIiE9dHlwZW9mIG4mJihuPWhTKSx1LmVuZGVkKT8ocj10aGlzLGk9bixvPUVycm9yKCJ3cml0ZSBhZnRlciBlbmQiKSxyLmVtaXQoImVycm9yIixvKSxjcChpLG8pKTooYT10aGlzLHM9dSxsPWUsJD1uLGM9ITAsaD0hMSxudWxsPT09bD9oPVR5cGVFcnJvcigiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0iKTplOC5pc0J1ZmZlcihsKXx8InN0cmluZyI9PXR5cGVvZiBsfHx2b2lkIDA9PT1sfHxzLm9iamVjdE1vZGV8fChoPVR5cGVFcnJvcigiSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuayIpKSxoJiYoYS5lbWl0KCJlcnJvciIsaCksY3AoJCxoKSxjPSExKSxjJiYodS5wZW5kaW5nY2IrKyxkPWZ1bmN0aW9uIGUodCxuLHIsaSxvKXtyPShhPW4scz1yLGw9aSxhLm9iamVjdE1vZGV8fCExPT09YS5kZWNvZGVTdHJpbmdzfHwic3RyaW5nIiE9dHlwZW9mIHN8fChzPWU4LmZyb20ocyxsKSkscyksZTguaXNCdWZmZXIocikmJihpPSJidWZmZXIiKTt2YXIgYSxzLGwsJD1uLm9iamVjdE1vZGU/MTpyLmxlbmd0aDtuLmxlbmd0aCs9JDt2YXIgYz1uLmxlbmd0aDxuLmhpZ2hXYXRlck1hcms7aWYoY3x8KG4ubmVlZERyYWluPSEwKSxuLndyaXRpbmd8fG4uY29ya2VkKXt2YXIgaD1uLmxhc3RCdWZmZXJlZFJlcXVlc3Q7bi5sYXN0QnVmZmVyZWRSZXF1ZXN0PW5ldyBoTChyLGksbyksaD9oLm5leHQ9bi5sYXN0QnVmZmVyZWRSZXF1ZXN0Om4uYnVmZmVyZWRSZXF1ZXN0PW4ubGFzdEJ1ZmZlcmVkUmVxdWVzdCxuLmJ1ZmZlcmVkUmVxdWVzdENvdW50Kz0xfWVsc2UgaE0odCxuLCExLCQscixpLG8pO3JldHVybiBjfSh0aGlzLHUsZSx0LG4pKSksZH0saE8ucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl93cml0YWJsZVN0YXRlO2UuY29ya2VkKyt9LGhPLnByb3RvdHlwZS51bmNvcms9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl93cml0YWJsZVN0YXRlOyFlLmNvcmtlZHx8KGUuY29ya2VkLS0sZS53cml0aW5nfHxlLmNvcmtlZHx8ZS5maW5pc2hlZHx8ZS5idWZmZXJQcm9jZXNzaW5nfHwhZS5idWZmZXJlZFJlcXVlc3R8fGg5KHRoaXMsZSkpfSxoTy5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uIGUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYodD10LnRvTG93ZXJDYXNlKCkpLCEoWyJoZXgiLCJ1dGY4IiwidXRmLTgiLCJhc2NpaSIsImJpbmFyeSIsImJhc2U2NCIsInVjczIiLCJ1Y3MtMiIsInV0ZjE2bGUiLCJ1dGYtMTZsZSIsInJhdyJdLmluZGV4T2YoKHQrIiIpLnRvTG93ZXJDYXNlKCkpPi0xKSl0aHJvdyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrdCk7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nPXQsdGhpc30saE8ucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQsbil7bihFcnJvcigibm90IGltcGxlbWVudGVkIikpfSxoTy5wcm90b3R5cGUuX3dyaXRldj1udWxsLGhPLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPXRoaXMuX3dyaXRhYmxlU3RhdGU7ImZ1bmN0aW9uIj09dHlwZW9mIGU/KG49ZSxlPW51bGwsdD1udWxsKToiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG49dCx0PW51bGwpLG51bGwhPWUmJnRoaXMud3JpdGUoZSx0KSxhLmNvcmtlZCYmKGEuY29ya2VkPTEsdGhpcy51bmNvcmsoKSksYS5lbmRpbmd8fGEuZmluaXNoZWR8fChyPXRoaXMsaT1hLG89bixpLmVuZGluZz0hMCxoQihyLGkpLG8mJihpLmZpbmlzaGVkP2NwKG8pOnIub25jZSgiZmluaXNoIixvKSksaS5lbmRlZD0hMCxyLndyaXRhYmxlPSExKX0sY1MoaGosaDgpO2Zvcih2YXIgaEY9T2JqZWN0LmtleXMoaE8ucHJvdG90eXBlKSxoej0wO2h6PGhGLmxlbmd0aDtoeisrKXt2YXIgaEg9aEZbaHpdO2hqLnByb3RvdHlwZVtoSF18fChoai5wcm90b3R5cGVbaEhdPWhPLnByb3RvdHlwZVtoSF0pfWZ1bmN0aW9uIGhqKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGhqKSlyZXR1cm4gbmV3IGhqKGUpO2g4LmNhbGwodGhpcyxlKSxoTy5jYWxsKHRoaXMsZSksZSYmITE9PT1lLnJlYWRhYmxlJiYodGhpcy5yZWFkYWJsZT0hMSksZSYmITE9PT1lLndyaXRhYmxlJiYodGhpcy53cml0YWJsZT0hMSksdGhpcy5hbGxvd0hhbGZPcGVuPSEwLGUmJiExPT09ZS5hbGxvd0hhbGZPcGVuJiYodGhpcy5hbGxvd0hhbGZPcGVuPSExKSx0aGlzLm9uY2UoImVuZCIsaFopfWZ1bmN0aW9uIGhaKCl7dGhpcy5hbGxvd0hhbGZPcGVufHx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkfHxjcChoWSx0aGlzKX1mdW5jdGlvbiBoWShlKXtlLmVuZCgpfWZ1bmN0aW9uIGhWKGUpe3RoaXMuYWZ0ZXJUcmFuc2Zvcm09ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24gZSh0LG4scil7dmFyIGk9dC5fdHJhbnNmb3JtU3RhdGU7aS50cmFuc2Zvcm1pbmc9ITE7dmFyIG89aS53cml0ZWNiO2lmKCFvKXJldHVybiB0LmVtaXQoImVycm9yIixFcnJvcigibm8gd3JpdGVjYiBpbiBUcmFuc2Zvcm0gY2xhc3MiKSk7aS53cml0ZWNodW5rPW51bGwsaS53cml0ZWNiPW51bGwsbnVsbCE9ciYmdC5wdXNoKHIpLG8obik7dmFyIGE9dC5fcmVhZGFibGVTdGF0ZTthLnJlYWRpbmc9ITEsKGEubmVlZFJlYWRhYmxlfHxhLmxlbmd0aDxhLmhpZ2hXYXRlck1hcmspJiZ0Ll9yZWFkKGEuaGlnaFdhdGVyTWFyayl9KGUsdCxuKX0sdGhpcy5uZWVkVHJhbnNmb3JtPSExLHRoaXMudHJhbnNmb3JtaW5nPSExLHRoaXMud3JpdGVjYj1udWxsLHRoaXMud3JpdGVjaHVuaz1udWxsLHRoaXMud3JpdGVlbmNvZGluZz1udWxsfWZ1bmN0aW9uIGhHKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGhHKSlyZXR1cm4gbmV3IGhHKGUpO2hqLmNhbGwodGhpcyxlKSx0aGlzLl90cmFuc2Zvcm1TdGF0ZT1uZXcgaFYodGhpcyk7dmFyIHQ9dGhpczt0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZT0hMCx0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmM9ITEsZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnRyYW5zZm9ybSYmKHRoaXMuX3RyYW5zZm9ybT1lLnRyYW5zZm9ybSksImZ1bmN0aW9uIj09dHlwZW9mIGUuZmx1c2gmJih0aGlzLl9mbHVzaD1lLmZsdXNoKSksdGhpcy5vbmNlKCJwcmVmaW5pc2giLGZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2ZsdXNoP3RoaXMuX2ZsdXNoKGZ1bmN0aW9uKGUpe2hLKHQsZSl9KTpoSyh0KX0pfWZ1bmN0aW9uIGhLKGUsdCl7aWYodClyZXR1cm4gZS5lbWl0KCJlcnJvciIsdCk7dmFyIG49ZS5fd3JpdGFibGVTdGF0ZSxyPWUuX3RyYW5zZm9ybVN0YXRlO2lmKG4ubGVuZ3RoKXRocm93IEVycm9yKCJDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gd3MubGVuZ3RoICE9IDAiKTtpZihyLnRyYW5zZm9ybWluZyl0aHJvdyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHN0aWxsIHRyYW5zZm9ybWluZyIpO3JldHVybiBlLnB1c2gobnVsbCl9ZnVuY3Rpb24gaHEoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgaHEpKXJldHVybiBuZXcgaHEoZSk7aEcuY2FsbCh0aGlzLGUpfWZ1bmN0aW9uIGhRKCl7aGQuY2FsbCh0aGlzKX1jUyhoRyxoaiksaEcucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybT0hMSxoai5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsZSx0KX0saEcucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LG4pe3Rocm93IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0saEcucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYoci53cml0ZWNiPW4sci53cml0ZWNodW5rPWUsci53cml0ZWVuY29kaW5nPXQsIXIudHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhyLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxoRy5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbCE9PXQud3JpdGVjaHVuayYmdC53cml0ZWNiJiYhdC50cmFuc2Zvcm1pbmc/KHQudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybSh0LndyaXRlY2h1bmssdC53cml0ZWVuY29kaW5nLHQuYWZ0ZXJUcmFuc2Zvcm0pKTp0Lm5lZWRUcmFuc2Zvcm09ITB9LGNTKGhxLGhHKSxocS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihlLHQsbil7bihudWxsLGUpfSxjUyhoUSxoZCksaFEuUmVhZGFibGU9aDgsaFEuV3JpdGFibGU9aE8saFEuRHVwbGV4PWhqLGhRLlRyYW5zZm9ybT1oRyxoUS5QYXNzVGhyb3VnaD1ocSxoUS5TdHJlYW09aFEsaFEucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2Z1bmN0aW9uIHIodCl7ZS53cml0YWJsZSYmITE9PT1lLndyaXRlKHQpJiZuLnBhdXNlJiZuLnBhdXNlKCl9ZnVuY3Rpb24gaSgpe24ucmVhZGFibGUmJm4ucmVzdW1lJiZuLnJlc3VtZSgpfW4ub24oImRhdGEiLHIpLGUub24oImRyYWluIixpKSxlLl9pc1N0ZGlvfHx0JiYhMT09PXQuZW5kfHwobi5vbigiZW5kIixhKSxuLm9uKCJjbG9zZSIscykpO3ZhciBvPSExO2Z1bmN0aW9uIGEoKXtvfHwobz0hMCxlLmVuZCgpKX1mdW5jdGlvbiBzKCl7b3x8KG89ITAsImZ1bmN0aW9uIj09dHlwZW9mIGUuZGVzdHJveSYmZS5kZXN0cm95KCkpfWZ1bmN0aW9uIGwoZSl7aWYoJCgpLDA9PT1oZC5saXN0ZW5lckNvdW50KHRoaXMsImVycm9yIikpdGhyb3cgZX1mdW5jdGlvbiAkKCl7bi5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsciksZS5yZW1vdmVMaXN0ZW5lcigiZHJhaW4iLGkpLG4ucmVtb3ZlTGlzdGVuZXIoImVuZCIsYSksbi5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHMpLG4ucmVtb3ZlTGlzdGVuZXIoImVycm9yIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsbCksbi5yZW1vdmVMaXN0ZW5lcigiZW5kIiwkKSxuLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsJCksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLCQpfXJldHVybiBuLm9uKCJlcnJvciIsbCksZS5vbigiZXJyb3IiLGwpLG4ub24oImVuZCIsJCksbi5vbigiY2xvc2UiLCQpLGUub24oImNsb3NlIiwkKSxlLmVtaXQoInBpcGUiLG4pLGV9O3ZhciBoWD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxEdXBsZXg6aGosUGFzc1Rocm91Z2g6aHEsUmVhZGFibGU6aDgsU3RyZWFtOmhRLFRyYW5zZm9ybTpoRyxXcml0YWJsZTpoTyxkZWZhdWx0OmhRfSksaEo9TyhoWCksdWU9e2V4cG9ydHM6e319LHV0PXsyOiJuZWVkIGRpY3Rpb25hcnkiLDE6InN0cmVhbSBlbmQiLDA6IiIsIi0xIjoiZmlsZSBlcnJvciIsIi0yIjoic3RyZWFtIGVycm9yIiwiLTMiOiJkYXRhIGVycm9yIiwiLTQiOiJpbnN1ZmZpY2llbnQgbWVtb3J5IiwiLTUiOiJidWZmZXIgZXJyb3IiLCItNiI6ImluY29tcGF0aWJsZSB2ZXJzaW9uIn07ZnVuY3Rpb24gdW4oKXt0aGlzLmlucHV0PW51bGwsdGhpcy5uZXh0X2luPTAsdGhpcy5hdmFpbF9pbj0wLHRoaXMudG90YWxfaW49MCx0aGlzLm91dHB1dD1udWxsLHRoaXMubmV4dF9vdXQ9MCx0aGlzLmF2YWlsX291dD0wLHRoaXMudG90YWxfb3V0PTAsdGhpcy5tc2c9IiIsdGhpcy5zdGF0ZT1udWxsLHRoaXMuZGF0YV90eXBlPTIsdGhpcy5hZGxlcj0wfWZ1bmN0aW9uIHVyKGUsdCxuLHIsaSl7aWYodC5zdWJhcnJheSYmZS5zdWJhcnJheSl7ZS5zZXQodC5zdWJhcnJheShuLG4rciksaSk7cmV0dXJufWZvcih2YXIgbz0wO288cjtvKyspZVtpK29dPXRbbitvXX12YXIgdWk9VWludDhBcnJheSx1bz1VaW50MTZBcnJheSx1YT1JbnQzMkFycmF5O2Z1bmN0aW9uIHVzKGUpe2Zvcih2YXIgdD1lLmxlbmd0aDstLXQ+PTA7KWVbdF09MH12YXIgdWw9MjksdSQ9MjU3K3VsLHVjPTMwLHVoPTIqdSQrMSx1dT1bMCwwLDAsMCwwLDAsMCwwLDEsMSwxLDEsMiwyLDIsMiwzLDMsMywzLDQsNCw0LDQsNSw1LDUsNSwwXSx1ZD1bMCwwLDAsMCwxLDEsMiwyLDMsMyw0LDQsNSw1LDYsNiw3LDcsOCw4LDksOSwxMCwxMCwxMSwxMSwxMiwxMiwxMywxM10sdV89WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwzLDddLHVmPVsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XSx1cD01MTIsdTE9QXJyYXkoKHUkKzIpKjIpO3VzKHUxKTt2YXIgdTA9QXJyYXkoMip1Yyk7dXModTApO3ZhciB1Zz1BcnJheSh1cCk7dXModWcpO3ZhciB1bT1BcnJheSgyNTYpO3VzKHVtKTt2YXIgdTM9QXJyYXkodWwpO3VzKHUzKTt2YXIgdXc9QXJyYXkodWMpO2Z1bmN0aW9uIHV2KGUsdCxuLHIsaSl7dGhpcy5zdGF0aWNfdHJlZT1lLHRoaXMuZXh0cmFfYml0cz10LHRoaXMuZXh0cmFfYmFzZT1uLHRoaXMuZWxlbXM9cix0aGlzLm1heF9sZW5ndGg9aSx0aGlzLmhhc19zdHJlZT1lJiZlLmxlbmd0aH1mdW5jdGlvbiB1MihlLHQpe3RoaXMuZHluX3RyZWU9ZSx0aGlzLm1heF9jb2RlPTAsdGhpcy5zdGF0X2Rlc2M9dH1mdW5jdGlvbiB1NChlKXtyZXR1cm4gZTwyNTY/dWdbZV06dWdbMjU2KyhlPj4+NyldfWZ1bmN0aW9uIHViKGUsdCl7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109MjU1JnQsZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109dD4+PjgmMjU1fWZ1bmN0aW9uIHU4KGUsdCxuKXtlLmJpX3ZhbGlkPjE2LW4/KGUuYmlfYnVmfD10PDxlLmJpX3ZhbGlkJjY1NTM1LHViKGUsZS5iaV9idWYpLGUuYmlfYnVmPXQ+PjE2LWUuYmlfdmFsaWQsZS5iaV92YWxpZCs9bi0xNik6KGUuYmlfYnVmfD10PDxlLmJpX3ZhbGlkJjY1NTM1LGUuYmlfdmFsaWQrPW4pfWZ1bmN0aW9uIHU2KGUsdCxuKXt1OChlLG5bMip0XSxuWzIqdCsxXSl9ZnVuY3Rpb24gdXkoZSx0KXt2YXIgbj0wO2RvIG58PTEmZSxlPj4+PTEsbjw8PTE7d2hpbGUoLS10PjApO3JldHVybiBuPj4+MX1mdW5jdGlvbiB1NShlLHQsbil7dmFyIHIsaSxvPUFycmF5KDE2KSxhPTA7Zm9yKHI9MTtyPD0xNTtyKyspb1tyXT1hPWErbltyLTFdPDwxO2ZvcihpPTA7aTw9dDtpKyspe3ZhciBzPWVbMippKzFdOzAhPT1zJiYoZVsyKmldPXV5KG9bc10rKyxzKSl9fWZ1bmN0aW9uIHV4KGUpe3ZhciB0O2Zvcih0PTA7dDx1JDt0KyspZS5keW5fbHRyZWVbMip0XT0wO2Zvcih0PTA7dDx1Yzt0KyspZS5keW5fZHRyZWVbMip0XT0wO2Zvcih0PTA7dDwxOTt0KyspZS5ibF90cmVlWzIqdF09MDtlLmR5bl9sdHJlZVs1MTJdPTEsZS5vcHRfbGVuPWUuc3RhdGljX2xlbj0wLGUubGFzdF9saXQ9ZS5tYXRjaGVzPTB9ZnVuY3Rpb24gdTcoZSl7ZS5iaV92YWxpZD44P3ViKGUsZS5iaV9idWYpOmUuYmlfdmFsaWQ+MCYmKGUucGVuZGluZ19idWZbZS5wZW5kaW5nKytdPWUuYmlfYnVmKSxlLmJpX2J1Zj0wLGUuYmlfdmFsaWQ9MH1mdW5jdGlvbiB1RShlLHQsbixyKXt2YXIgaT0yKnQsbz0yKm47cmV0dXJuIGVbaV08ZVtvXXx8ZVtpXT09PWVbb10mJnJbdF08PXJbbl19ZnVuY3Rpb24gdUMoZSx0LG4pe2Zvcih2YXIgcj1lLmhlYXBbbl0saT1uPDwxO2k8PWUuaGVhcF9sZW4mJihpPGUuaGVhcF9sZW4mJnVFKHQsZS5oZWFwW2krMV0sZS5oZWFwW2ldLGUuZGVwdGgpJiZpKyssIXVFKHQscixlLmhlYXBbaV0sZS5kZXB0aCkpOyllLmhlYXBbbl09ZS5oZWFwW2ldLG49aSxpPDw9MTtlLmhlYXBbbl09cn1mdW5jdGlvbiB1RChlLHQsbil7dmFyIHIsaSxvLGEscz0wO2lmKDAhPT1lLmxhc3RfbGl0KWRvIHI9ZS5wZW5kaW5nX2J1ZltlLmRfYnVmKzIqc108PDh8ZS5wZW5kaW5nX2J1ZltlLmRfYnVmKzIqcysxXSxpPWUucGVuZGluZ19idWZbZS5sX2J1ZitzXSxzKyssMD09PXI/dTYoZSxpLHQpOih1NihlLChvPXVtW2ldKSsyNTYrMSx0KSwwIT09KGE9dXVbb10pJiZ1OChlLGktPXUzW29dLGEpLHU2KGUsbz11NCgtLXIpLG4pLDAhPT0oYT11ZFtvXSkmJnU4KGUsci09dXdbb10sYSkpO3doaWxlKHM8ZS5sYXN0X2xpdCk7dTYoZSwyNTYsdCl9ZnVuY3Rpb24gdWsoZSx0KXt2YXIgbixyLGksbz10LmR5bl90cmVlLGE9dC5zdGF0X2Rlc2Muc3RhdGljX3RyZWUscz10LnN0YXRfZGVzYy5oYXNfc3RyZWUsbD10LnN0YXRfZGVzYy5lbGVtcywkPS0xO2ZvcihuPTAsZS5oZWFwX2xlbj0wLGUuaGVhcF9tYXg9dWg7bjxsO24rKykwIT09b1syKm5dPyhlLmhlYXBbKytlLmhlYXBfbGVuXT0kPW4sZS5kZXB0aFtuXT0wKTpvWzIqbisxXT0wO2Zvcig7ZS5oZWFwX2xlbjwyOylvWzIqKGk9ZS5oZWFwWysrZS5oZWFwX2xlbl09JDwyPysrJDowKV09MSxlLmRlcHRoW2ldPTAsZS5vcHRfbGVuLS0scyYmKGUuc3RhdGljX2xlbi09YVsyKmkrMV0pO2Zvcih0Lm1heF9jb2RlPSQsbj1lLmhlYXBfbGVuPj4xO24+PTE7bi0tKXVDKGUsbyxuKTtpPWw7ZG8gbj1lLmhlYXBbMV0sZS5oZWFwWzFdPWUuaGVhcFtlLmhlYXBfbGVuLS1dLHVDKGUsbywxKSxyPWUuaGVhcFsxXSxlLmhlYXBbLS1lLmhlYXBfbWF4XT1uLGUuaGVhcFstLWUuaGVhcF9tYXhdPXIsb1syKmldPW9bMipuXStvWzIqcl0sZS5kZXB0aFtpXT0oZS5kZXB0aFtuXT49ZS5kZXB0aFtyXT9lLmRlcHRoW25dOmUuZGVwdGhbcl0pKzEsb1syKm4rMV09b1syKnIrMV09aSxlLmhlYXBbMV09aSsrLHVDKGUsbywxKTt3aGlsZShlLmhlYXBfbGVuPj0yKTtlLmhlYXBbLS1lLmhlYXBfbWF4XT1lLmhlYXBbMV0sZnVuY3Rpb24gZSh0LG4pe3ZhciByLGksbyxhLHMsbCwkPW4uZHluX3RyZWUsYz1uLm1heF9jb2RlLGg9bi5zdGF0X2Rlc2Muc3RhdGljX3RyZWUsdT1uLnN0YXRfZGVzYy5oYXNfc3RyZWUsZD1uLnN0YXRfZGVzYy5leHRyYV9iaXRzLF89bi5zdGF0X2Rlc2MuZXh0cmFfYmFzZSxmPW4uc3RhdF9kZXNjLm1heF9sZW5ndGgscD0wO2ZvcihhPTA7YTw9MTU7YSsrKXQuYmxfY291bnRbYV09MDtmb3IoJFsyKnQuaGVhcFt0LmhlYXBfbWF4XSsxXT0wLHI9dC5oZWFwX21heCsxO3I8dWg7cisrKShhPSRbMiokWzIqKGk9dC5oZWFwW3JdKSsxXSsxXSsxKT5mJiYoYT1mLHArKyksJFsyKmkrMV09YSwhKGk+YykmJih0LmJsX2NvdW50W2FdKysscz0wLGk+PV8mJihzPWRbaS1fXSksbD0kWzIqaV0sdC5vcHRfbGVuKz1sKihhK3MpLHUmJih0LnN0YXRpY19sZW4rPWwqKGhbMippKzFdK3MpKSk7aWYoMCE9PXApe2Rve2ZvcihhPWYtMTswPT09dC5ibF9jb3VudFthXTspYS0tO3QuYmxfY291bnRbYV0tLSx0LmJsX2NvdW50W2ErMV0rPTIsdC5ibF9jb3VudFtmXS0tLHAtPTJ9d2hpbGUocD4wKTtmb3IoYT1mOzAhPT1hO2EtLSlmb3IoaT10LmJsX2NvdW50W2FdOzAhPT1pOykhKChvPXQuaGVhcFstLXJdKT5jKSYmKCRbMipvKzFdIT09YSYmKHQub3B0X2xlbis9KGEtJFsyKm8rMV0pKiRbMipvXSwkWzIqbysxXT1hKSxpLS0pfX0oZSx0KSx1NShvLCQsZS5ibF9jb3VudCl9ZnVuY3Rpb24gdUEoZSx0LG4pe3ZhciByLGksbz0tMSxhPXRbMV0scz0wLGw9NywkPTQ7Zm9yKDA9PT1hJiYobD0xMzgsJD0zKSx0WyhuKzEpKjIrMV09NjU1MzUscj0wO3I8PW47cisrKWk9YSxhPXRbKHIrMSkqMisxXSwoISgrK3M8bCl8fGkhPT1hKSYmKHM8JD9lLmJsX3RyZWVbMippXSs9czowIT09aT8oaSE9PW8mJmUuYmxfdHJlZVsyKmldKyssZS5ibF90cmVlWzMyXSsrKTpzPD0xMD9lLmJsX3RyZWVbMzRdKys6ZS5ibF90cmVlWzM2XSsrLHM9MCxvPWksMD09PWE/KGw9MTM4LCQ9Myk6aT09PWE/KGw9NiwkPTMpOihsPTcsJD00KSl9ZnVuY3Rpb24gdUkoZSx0LG4pe3ZhciByLGksbz0tMSxhPXRbMV0scz0wLGw9NywkPTQ7Zm9yKDA9PT1hJiYobD0xMzgsJD0zKSxyPTA7cjw9bjtyKyspaWYoaT1hLGE9dFsocisxKSoyKzFdLCEoKytzPGwpfHxpIT09YSl7aWYoczwkKWRvIHU2KGUsaSxlLmJsX3RyZWUpO3doaWxlKDAhPS0tcyk7ZWxzZSAwIT09aT8oaSE9PW8mJih1NihlLGksZS5ibF90cmVlKSxzLS0pLHU2KGUsMTYsZS5ibF90cmVlKSx1OChlLHMtMywyKSk6czw9MTA/KHU2KGUsMTcsZS5ibF90cmVlKSx1OChlLHMtMywzKSk6KHU2KGUsMTgsZS5ibF90cmVlKSx1OChlLHMtMTEsNykpO3M9MCxvPWksMD09PWE/KGw9MTM4LCQ9Myk6aT09PWE/KGw9NiwkPTMpOihsPTcsJD00KX19dXModXcpO3ZhciB1VD0hMTtmdW5jdGlvbiB1UyhlLHQsbixyKXt2YXIgaSxvLGEsczt1OChlLDArKHI/MTowKSwzKSxpPWUsbz10LGE9bixzPSEwLHU3KGkpLHMmJih1YihpLGEpLHViKGksfmEpKSx1cihpLnBlbmRpbmdfYnVmLGkud2luZG93LG8sYSxpLnBlbmRpbmcpLGkucGVuZGluZys9YX1mdW5jdGlvbiB1TChlLHQsbil7cmV0dXJuIGUucGVuZGluZ19idWZbZS5kX2J1ZisyKmUubGFzdF9saXRdPXQ+Pj44JjI1NSxlLnBlbmRpbmdfYnVmW2UuZF9idWYrMiplLmxhc3RfbGl0KzFdPTI1NSZ0LGUucGVuZGluZ19idWZbZS5sX2J1ZitlLmxhc3RfbGl0XT0yNTUmbixlLmxhc3RfbGl0KyssMD09PXQ/ZS5keW5fbHRyZWVbMipuXSsrOihlLm1hdGNoZXMrKyx0LS0sZS5keW5fbHRyZWVbKHVtW25dKzI1NisxKSoyXSsrLGUuZHluX2R0cmVlWzIqdTQodCldKyspLGUubGFzdF9saXQ9PT1lLmxpdF9idWZzaXplLTF9ZnVuY3Rpb24gdU4oZSx0LG4scil7Zm9yKHZhciBpPTY1NTM1JmV8MCxvPWU+Pj4xNiY2NTUzNXwwLGE9MDswIT09bjspe2E9bj4yZTM/MmUzOm4sbi09YTtkbyBvPW8rKGk9aSt0W3IrK118MCl8MDt3aGlsZSgtLWEpO2klPTY1NTIxLG8lPTY1NTIxfXJldHVybiBpfG88PDE2fDB9dmFyIHVPPWZ1bmN0aW9uIGUoKXtmb3IodmFyIHQsbj1bXSxyPTA7cjwyNTY7cisrKXt0PXI7Zm9yKHZhciBpPTA7aTw4O2krKyl0PTEmdD8zOTg4MjkyMzg0XnQ+Pj4xOnQ+Pj4xO25bcl09dH1yZXR1cm4gbn0oKTtmdW5jdGlvbiB1TShlLHQsbixyKXt2YXIgaT11TyxvPXIrbjtlXj0tMTtmb3IodmFyIGE9cjthPG87YSsrKWU9ZT4+PjheaVsoZV50W2FdKSYyNTVdO3JldHVybiAtMV5lfXZhciB1UD01NzM7ZnVuY3Rpb24gdTkoZSx0KXtyZXR1cm4gZS5tc2c9dXRbdF0sdH1mdW5jdGlvbiB1UihlKXtyZXR1cm4oZTw8MSktKGU+ND85OjApfWZ1bmN0aW9uIHVVKGUpe2Zvcih2YXIgdD1lLmxlbmd0aDstLXQ+PTA7KWVbdF09MH1mdW5jdGlvbiB1QihlKXt2YXIgdD1lLnN0YXRlLG49dC5wZW5kaW5nO24+ZS5hdmFpbF9vdXQmJihuPWUuYXZhaWxfb3V0KSwwIT09biYmKHVyKGUub3V0cHV0LHQucGVuZGluZ19idWYsdC5wZW5kaW5nX291dCxuLGUubmV4dF9vdXQpLGUubmV4dF9vdXQrPW4sdC5wZW5kaW5nX291dCs9bixlLnRvdGFsX291dCs9bixlLmF2YWlsX291dC09bix0LnBlbmRpbmctPW4sMD09PXQucGVuZGluZyYmKHQucGVuZGluZ19vdXQ9MCkpfWZ1bmN0aW9uIHVXKGUsdCl7dmFyIG4scixpLG8sYSxzLGw7bj1lLHI9ZS5ibG9ja19zdGFydD49MD9lLmJsb2NrX3N0YXJ0Oi0xLGk9ZS5zdHJzdGFydC1lLmJsb2NrX3N0YXJ0LG89dCxsPTAsbi5sZXZlbD4wPygyPT09bi5zdHJtLmRhdGFfdHlwZSYmKG4uc3RybS5kYXRhX3R5cGU9ZnVuY3Rpb24gZSh0KXt2YXIgbixyPTQwOTM2MjQ0NDc7Zm9yKG49MDtuPD0zMTtuKysscj4+Pj0xKWlmKDEmciYmMCE9PXQuZHluX2x0cmVlWzIqbl0pcmV0dXJuIDA7aWYoMCE9PXQuZHluX2x0cmVlWzE4XXx8MCE9PXQuZHluX2x0cmVlWzIwXXx8MCE9PXQuZHluX2x0cmVlWzI2XSlyZXR1cm4gMTtmb3Iobj0zMjtuPDI1NjtuKyspaWYoMCE9PXQuZHluX2x0cmVlWzIqbl0pcmV0dXJuIDE7cmV0dXJuIDB9KG4pKSx1ayhuLG4ubF9kZXNjKSx1ayhuLG4uZF9kZXNjKSxsPWZ1bmN0aW9uIGUodCl7dmFyIG47Zm9yKHVBKHQsdC5keW5fbHRyZWUsdC5sX2Rlc2MubWF4X2NvZGUpLHVBKHQsdC5keW5fZHRyZWUsdC5kX2Rlc2MubWF4X2NvZGUpLHVrKHQsdC5ibF9kZXNjKSxuPTE4O24+PTMmJjA9PT10LmJsX3RyZWVbMip1ZltuXSsxXTtuLS0pO3JldHVybiB0Lm9wdF9sZW4rPTMqKG4rMSkrNSs1KzQsbn0obiksYT1uLm9wdF9sZW4rMys3Pj4+Mywocz1uLnN0YXRpY19sZW4rMys3Pj4+Myk8PWEmJihhPXMpKTphPXM9aSs1LGkrNDw9YSYmLTEhPT1yP3VTKG4scixpLG8pOjQ9PT1uLnN0cmF0ZWd5fHxzPT09YT8odTgobiwyKyhvPzE6MCksMyksdUQobix1MSx1MCkpOih1OChuLDQrKG8/MTowKSwzKSxmdW5jdGlvbiBlKHQsbixyLGkpe3ZhciBvO2Zvcih1OCh0LG4tMjU3LDUpLHU4KHQsci0xLDUpLHU4KHQsaS00LDQpLG89MDtvPGk7bysrKXU4KHQsdC5ibF90cmVlWzIqdWZbb10rMV0sMyk7dUkodCx0LmR5bl9sdHJlZSxuLTEpLHVJKHQsdC5keW5fZHRyZWUsci0xKX0obixuLmxfZGVzYy5tYXhfY29kZSsxLG4uZF9kZXNjLm1heF9jb2RlKzEsbCsxKSx1RChuLG4uZHluX2x0cmVlLG4uZHluX2R0cmVlKSksdXgobiksbyYmdTcobiksZS5ibG9ja19zdGFydD1lLnN0cnN0YXJ0LHVCKGUuc3RybSl9ZnVuY3Rpb24gdUYoZSx0KXtlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXT10fWZ1bmN0aW9uIHV6KGUsdCl7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109dD4+PjgmMjU1LGUucGVuZGluZ19idWZbZS5wZW5kaW5nKytdPTI1NSZ0fWZ1bmN0aW9uIHVIKGUsdCxuLHIpe3ZhciBpPWUuYXZhaWxfaW47cmV0dXJuKGk+ciYmKGk9ciksMD09PWkpPzA6KGUuYXZhaWxfaW4tPWksdXIodCxlLmlucHV0LGUubmV4dF9pbixpLG4pLDE9PT1lLnN0YXRlLndyYXA/ZS5hZGxlcj11TihlLmFkbGVyLHQsaSxuKToyPT09ZS5zdGF0ZS53cmFwJiYoZS5hZGxlcj11TShlLmFkbGVyLHQsaSxuKSksZS5uZXh0X2luKz1pLGUudG90YWxfaW4rPWksaSl9ZnVuY3Rpb24gdWooZSx0KXt2YXIgbixyLGk9ZS5tYXhfY2hhaW5fbGVuZ3RoLG89ZS5zdHJzdGFydCxhPWUucHJldl9sZW5ndGgscz1lLm5pY2VfbWF0Y2gsbD1lLnN0cnN0YXJ0PmUud19zaXplLTI2Mj9lLnN0cnN0YXJ0LShlLndfc2l6ZS0yNjIpOjAsJD1lLndpbmRvdyxjPWUud19tYXNrLGg9ZS5wcmV2LHU9ZS5zdHJzdGFydCsyNTgsZD0kW28rYS0xXSxfPSRbbythXTtlLnByZXZfbGVuZ3RoPj1lLmdvb2RfbWF0Y2gmJihpPj49Mikscz5lLmxvb2thaGVhZCYmKHM9ZS5sb29rYWhlYWQpO2Rve2lmKCRbKG49dCkrYV0hPT1ffHwkW24rYS0xXSE9PWR8fCRbbl0hPT0kW29dfHwkWysrbl0hPT0kW28rMV0pY29udGludWU7bys9MixuKys7ZG87d2hpbGUoJFsrK29dPT09JFsrK25dJiYkWysrb109PT0kWysrbl0mJiRbKytvXT09PSRbKytuXSYmJFsrK29dPT09JFsrK25dJiYkWysrb109PT0kWysrbl0mJiRbKytvXT09PSRbKytuXSYmJFsrK29dPT09JFsrK25dJiYkWysrb109PT0kWysrbl0mJm88dSk7aWYocj0yNTgtKHUtbyksbz11LTI1OCxyPmEpe2lmKGUubWF0Y2hfc3RhcnQ9dCxhPXIscj49cylicmVhaztkPSRbbythLTFdLF89JFtvK2FdfX13aGlsZSgodD1oW3QmY10pPmwmJjAhPS0taSk7cmV0dXJuIGE8PWUubG9va2FoZWFkP2E6ZS5sb29rYWhlYWR9ZnVuY3Rpb24gdVooZSl7dmFyIHQsbixyLGksbyxhPWUud19zaXplO2Rve2lmKGk9ZS53aW5kb3dfc2l6ZS1lLmxvb2thaGVhZC1lLnN0cnN0YXJ0LGUuc3Ryc3RhcnQ+PWErKGEtMjYyKSl7dXIoZS53aW5kb3csZS53aW5kb3csYSxhLDApLGUubWF0Y2hfc3RhcnQtPWEsZS5zdHJzdGFydC09YSxlLmJsb2NrX3N0YXJ0LT1hLHQ9bj1lLmhhc2hfc2l6ZTtkbyByPWUuaGVhZFstLXRdLGUuaGVhZFt0XT1yPj1hP3ItYTowO3doaWxlKC0tbik7dD1uPWE7ZG8gcj1lLnByZXZbLS10XSxlLnByZXZbdF09cj49YT9yLWE6MDt3aGlsZSgtLW4pO2krPWF9aWYoMD09PWUuc3RybS5hdmFpbF9pbilicmVhaztpZihuPXVIKGUuc3RybSxlLndpbmRvdyxlLnN0cnN0YXJ0K2UubG9va2FoZWFkLGkpLGUubG9va2FoZWFkKz1uLGUubG9va2FoZWFkK2UuaW5zZXJ0Pj0zKWZvcihvPWUuc3Ryc3RhcnQtZS5pbnNlcnQsZS5pbnNfaD1lLndpbmRvd1tvXSxlLmluc19oPShlLmluc19oPDxlLmhhc2hfc2hpZnReZS53aW5kb3dbbysxXSkmZS5oYXNoX21hc2s7ZS5pbnNlcnQmJihlLmluc19oPShlLmluc19oPDxlLmhhc2hfc2hpZnReZS53aW5kb3dbbyszLTFdKSZlLmhhc2hfbWFzayxlLnByZXZbbyZlLndfbWFza109ZS5oZWFkW2UuaW5zX2hdLGUuaGVhZFtlLmluc19oXT1vLG8rKyxlLmluc2VydC0tLCEoZS5sb29rYWhlYWQrZS5pbnNlcnQ8MykpOyk7fXdoaWxlKGUubG9va2FoZWFkPDI2MiYmMCE9PWUuc3RybS5hdmFpbF9pbil9ZnVuY3Rpb24gdVkoZSx0KXtmb3IodmFyIG4scjs7KXtpZihlLmxvb2thaGVhZDwyNjIpe2lmKHVaKGUpLGUubG9va2FoZWFkPDI2MiYmMD09PXQpcmV0dXJuIDE7aWYoMD09PWUubG9va2FoZWFkKWJyZWFrfWlmKG49MCxlLmxvb2thaGVhZD49MyYmKGUuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0KzMtMV0pJmUuaGFzaF9tYXNrLG49ZS5wcmV2W2Uuc3Ryc3RhcnQmZS53X21hc2tdPWUuaGVhZFtlLmluc19oXSxlLmhlYWRbZS5pbnNfaF09ZS5zdHJzdGFydCksMCE9PW4mJmUuc3Ryc3RhcnQtbjw9ZS53X3NpemUtMjYyJiYoZS5tYXRjaF9sZW5ndGg9dWooZSxuKSksZS5tYXRjaF9sZW5ndGg+PTMpe2lmKHI9dUwoZSxlLnN0cnN0YXJ0LWUubWF0Y2hfc3RhcnQsZS5tYXRjaF9sZW5ndGgtMyksZS5sb29rYWhlYWQtPWUubWF0Y2hfbGVuZ3RoLGUubWF0Y2hfbGVuZ3RoPD1lLm1heF9sYXp5X21hdGNoJiZlLmxvb2thaGVhZD49Myl7ZS5tYXRjaF9sZW5ndGgtLTtkbyBlLnN0cnN0YXJ0KyssZS5pbnNfaD0oZS5pbnNfaDw8ZS5oYXNoX3NoaWZ0XmUud2luZG93W2Uuc3Ryc3RhcnQrMy0xXSkmZS5oYXNoX21hc2ssbj1lLnByZXZbZS5zdHJzdGFydCZlLndfbWFza109ZS5oZWFkW2UuaW5zX2hdLGUuaGVhZFtlLmluc19oXT1lLnN0cnN0YXJ0O3doaWxlKDAhPS0tZS5tYXRjaF9sZW5ndGgpO2Uuc3Ryc3RhcnQrK31lbHNlIGUuc3Ryc3RhcnQrPWUubWF0Y2hfbGVuZ3RoLGUubWF0Y2hfbGVuZ3RoPTAsZS5pbnNfaD1lLndpbmRvd1tlLnN0cnN0YXJ0XSxlLmluc19oPShlLmluc19oPDxlLmhhc2hfc2hpZnReZS53aW5kb3dbZS5zdHJzdGFydCsxXSkmZS5oYXNoX21hc2t9ZWxzZSByPXVMKGUsMCxlLndpbmRvd1tlLnN0cnN0YXJ0XSksZS5sb29rYWhlYWQtLSxlLnN0cnN0YXJ0Kys7aWYociYmKHVXKGUsITEpLDA9PT1lLnN0cm0uYXZhaWxfb3V0KSlyZXR1cm4gMX1yZXR1cm4oZS5pbnNlcnQ9ZS5zdHJzdGFydDwyP2Uuc3Ryc3RhcnQ6Miw0PT09dCk/KHVXKGUsITApLDA9PT1lLnN0cm0uYXZhaWxfb3V0KT8zOjQ6ZS5sYXN0X2xpdCYmKHVXKGUsITEpLDA9PT1lLnN0cm0uYXZhaWxfb3V0KT8xOjJ9ZnVuY3Rpb24gdVYoZSx0KXtmb3IodmFyIG4scixpOzspe2lmKGUubG9va2FoZWFkPDI2Mil7aWYodVooZSksZS5sb29rYWhlYWQ8MjYyJiYwPT09dClyZXR1cm4gMTtpZigwPT09ZS5sb29rYWhlYWQpYnJlYWt9aWYobj0wLGUubG9va2FoZWFkPj0zJiYoZS5pbnNfaD0oZS5pbnNfaDw8ZS5oYXNoX3NoaWZ0XmUud2luZG93W2Uuc3Ryc3RhcnQrMy0xXSkmZS5oYXNoX21hc2ssbj1lLnByZXZbZS5zdHJzdGFydCZlLndfbWFza109ZS5oZWFkW2UuaW5zX2hdLGUuaGVhZFtlLmluc19oXT1lLnN0cnN0YXJ0KSxlLnByZXZfbGVuZ3RoPWUubWF0Y2hfbGVuZ3RoLGUucHJldl9tYXRjaD1lLm1hdGNoX3N0YXJ0LGUubWF0Y2hfbGVuZ3RoPTIsMCE9PW4mJmUucHJldl9sZW5ndGg8ZS5tYXhfbGF6eV9tYXRjaCYmZS5zdHJzdGFydC1uPD1lLndfc2l6ZS0yNjImJihlLm1hdGNoX2xlbmd0aD11aihlLG4pLGUubWF0Y2hfbGVuZ3RoPD01JiYoMT09PWUuc3RyYXRlZ3l8fDM9PT1lLm1hdGNoX2xlbmd0aCYmZS5zdHJzdGFydC1lLm1hdGNoX3N0YXJ0PjQwOTYpJiYoZS5tYXRjaF9sZW5ndGg9MikpLGUucHJldl9sZW5ndGg+PTMmJmUubWF0Y2hfbGVuZ3RoPD1lLnByZXZfbGVuZ3RoKXtpPWUuc3Ryc3RhcnQrZS5sb29rYWhlYWQtMyxyPXVMKGUsZS5zdHJzdGFydC0xLWUucHJldl9tYXRjaCxlLnByZXZfbGVuZ3RoLTMpLGUubG9va2FoZWFkLT1lLnByZXZfbGVuZ3RoLTEsZS5wcmV2X2xlbmd0aC09MjtkbysrZS5zdHJzdGFydDw9aSYmKGUuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0KzMtMV0pJmUuaGFzaF9tYXNrLG49ZS5wcmV2W2Uuc3Ryc3RhcnQmZS53X21hc2tdPWUuaGVhZFtlLmluc19oXSxlLmhlYWRbZS5pbnNfaF09ZS5zdHJzdGFydCk7d2hpbGUoMCE9LS1lLnByZXZfbGVuZ3RoKTtpZihlLm1hdGNoX2F2YWlsYWJsZT0wLGUubWF0Y2hfbGVuZ3RoPTIsZS5zdHJzdGFydCsrLHImJih1VyhlLCExKSwwPT09ZS5zdHJtLmF2YWlsX291dCkpcmV0dXJuIDF9ZWxzZSBpZihlLm1hdGNoX2F2YWlsYWJsZSl7aWYoKHI9dUwoZSwwLGUud2luZG93W2Uuc3Ryc3RhcnQtMV0pKSYmdVcoZSwhMSksZS5zdHJzdGFydCsrLGUubG9va2FoZWFkLS0sMD09PWUuc3RybS5hdmFpbF9vdXQpcmV0dXJuIDF9ZWxzZSBlLm1hdGNoX2F2YWlsYWJsZT0xLGUuc3Ryc3RhcnQrKyxlLmxvb2thaGVhZC0tfXJldHVybihlLm1hdGNoX2F2YWlsYWJsZSYmKHI9dUwoZSwwLGUud2luZG93W2Uuc3Ryc3RhcnQtMV0pLGUubWF0Y2hfYXZhaWxhYmxlPTApLGUuaW5zZXJ0PWUuc3Ryc3RhcnQ8Mj9lLnN0cnN0YXJ0OjIsND09PXQpPyh1VyhlLCEwKSwwPT09ZS5zdHJtLmF2YWlsX291dCk/Mzo0OmUubGFzdF9saXQmJih1VyhlLCExKSwwPT09ZS5zdHJtLmF2YWlsX291dCk/MToyfWZ1bmN0aW9uIHVHKGUsdCxuLHIsaSl7dGhpcy5nb29kX2xlbmd0aD1lLHRoaXMubWF4X2xhenk9dCx0aGlzLm5pY2VfbGVuZ3RoPW4sdGhpcy5tYXhfY2hhaW49cix0aGlzLmZ1bmM9aX1mdW5jdGlvbiB1Sygpe3RoaXMuc3RybT1udWxsLHRoaXMuc3RhdHVzPTAsdGhpcy5wZW5kaW5nX2J1Zj1udWxsLHRoaXMucGVuZGluZ19idWZfc2l6ZT0wLHRoaXMucGVuZGluZ19vdXQ9MCx0aGlzLnBlbmRpbmc9MCx0aGlzLndyYXA9MCx0aGlzLmd6aGVhZD1udWxsLHRoaXMuZ3ppbmRleD0wLHRoaXMubWV0aG9kPTgsdGhpcy5sYXN0X2ZsdXNoPS0xLHRoaXMud19zaXplPTAsdGhpcy53X2JpdHM9MCx0aGlzLndfbWFzaz0wLHRoaXMud2luZG93PW51bGwsdGhpcy53aW5kb3dfc2l6ZT0wLHRoaXMucHJldj1udWxsLHRoaXMuaGVhZD1udWxsLHRoaXMuaW5zX2g9MCx0aGlzLmhhc2hfc2l6ZT0wLHRoaXMuaGFzaF9iaXRzPTAsdGhpcy5oYXNoX21hc2s9MCx0aGlzLmhhc2hfc2hpZnQ9MCx0aGlzLmJsb2NrX3N0YXJ0PTAsdGhpcy5tYXRjaF9sZW5ndGg9MCx0aGlzLnByZXZfbWF0Y2g9MCx0aGlzLm1hdGNoX2F2YWlsYWJsZT0wLHRoaXMuc3Ryc3RhcnQ9MCx0aGlzLm1hdGNoX3N0YXJ0PTAsdGhpcy5sb29rYWhlYWQ9MCx0aGlzLnByZXZfbGVuZ3RoPTAsdGhpcy5tYXhfY2hhaW5fbGVuZ3RoPTAsdGhpcy5tYXhfbGF6eV9tYXRjaD0wLHRoaXMubGV2ZWw9MCx0aGlzLnN0cmF0ZWd5PTAsdGhpcy5nb29kX21hdGNoPTAsdGhpcy5uaWNlX21hdGNoPTAsdGhpcy5keW5fbHRyZWU9bmV3IHVvKDIqdVApLHRoaXMuZHluX2R0cmVlPW5ldyB1bygxMjIpLHRoaXMuYmxfdHJlZT1uZXcgdW8oNzgpLHVVKHRoaXMuZHluX2x0cmVlKSx1VSh0aGlzLmR5bl9kdHJlZSksdVUodGhpcy5ibF90cmVlKSx0aGlzLmxfZGVzYz1udWxsLHRoaXMuZF9kZXNjPW51bGwsdGhpcy5ibF9kZXNjPW51bGwsdGhpcy5ibF9jb3VudD1uZXcgdW8oMTYpLHRoaXMuaGVhcD1uZXcgdW8oNTczKSx1VSh0aGlzLmhlYXApLHRoaXMuaGVhcF9sZW49MCx0aGlzLmhlYXBfbWF4PTAsdGhpcy5kZXB0aD1uZXcgdW8oNTczKSx1VSh0aGlzLmRlcHRoKSx0aGlzLmxfYnVmPTAsdGhpcy5saXRfYnVmc2l6ZT0wLHRoaXMubGFzdF9saXQ9MCx0aGlzLmRfYnVmPTAsdGhpcy5vcHRfbGVuPTAsdGhpcy5zdGF0aWNfbGVuPTAsdGhpcy5tYXRjaGVzPTAsdGhpcy5pbnNlcnQ9MCx0aGlzLmJpX2J1Zj0wLHRoaXMuYmlfdmFsaWQ9MH1mdW5jdGlvbiB1cShlKXt2YXIgdCxuLHIsaSxvPSh0PWUsdCYmdC5zdGF0ZT8odC50b3RhbF9pbj10LnRvdGFsX291dD0wLHQuZGF0YV90eXBlPTIsKG49dC5zdGF0ZSkucGVuZGluZz0wLG4ucGVuZGluZ19vdXQ9MCxuLndyYXA8MCYmKG4ud3JhcD0tbi53cmFwKSxuLnN0YXR1cz1uLndyYXA/NDI6MTEzLHQuYWRsZXI9Mj09PW4ud3JhcD8wOjEsbi5sYXN0X2ZsdXNoPTAscj1uLHVUfHwoZnVuY3Rpb24gZSgpe3ZhciB0LG4scixpLG8sYT1BcnJheSgxNik7Zm9yKGk9MCxyPTA7aTx1bC0xO2krKylmb3IodD0wLHUzW2ldPXI7dDwxPDx1dVtpXTt0KyspdW1bcisrXT1pO2Zvcih1bVtyLTFdPWksbz0wLGk9MDtpPDE2O2krKylmb3IodD0wLHV3W2ldPW87dDwxPDx1ZFtpXTt0KyspdWdbbysrXT1pO2ZvcihvPj49NztpPHVjO2krKylmb3IodD0wLHV3W2ldPW88PDc7dDwxPDx1ZFtpXS03O3QrKyl1Z1syNTYrbysrXT1pO2ZvcihuPTA7bjw9MTU7bisrKWFbbl09MDtmb3IodD0wO3Q8PTE0MzspdTFbMip0KzFdPTgsdCsrLGFbOF0rKztmb3IoO3Q8PTI1NTspdTFbMip0KzFdPTksdCsrLGFbOV0rKztmb3IoO3Q8PTI3OTspdTFbMip0KzFdPTcsdCsrLGFbN10rKztmb3IoO3Q8PTI4NzspdTFbMip0KzFdPTgsdCsrLGFbOF0rKztmb3IodTUodTEsdSQrMSxhKSx0PTA7dDx1Yzt0KyspdTBbMip0KzFdPTUsdTBbMip0XT11eSh0LDUpO2I9bmV3IHV2KHUxLHV1LDI1Nyx1JCwxNSkseT1uZXcgdXYodTAsdWQsMCx1YywxNSkseD1uZXcgdXYoW10sdV8sMCwxOSw3KX0oKSx1VD0hMCksci5sX2Rlc2M9bmV3IHUyKHIuZHluX2x0cmVlLGIpLHIuZF9kZXNjPW5ldyB1MihyLmR5bl9kdHJlZSx5KSxyLmJsX2Rlc2M9bmV3IHUyKHIuYmxfdHJlZSx4KSxyLmJpX2J1Zj0wLHIuYmlfdmFsaWQ9MCx1eChyKSwwKTp1OSh0LC0yKSk7cmV0dXJuIDA9PT1vJiYoKGk9ZS5zdGF0ZSkud2luZG93X3NpemU9MippLndfc2l6ZSx1VShpLmhlYWQpLGkubWF4X2xhenlfbWF0Y2g9RVtpLmxldmVsXS5tYXhfbGF6eSxpLmdvb2RfbWF0Y2g9RVtpLmxldmVsXS5nb29kX2xlbmd0aCxpLm5pY2VfbWF0Y2g9RVtpLmxldmVsXS5uaWNlX2xlbmd0aCxpLm1heF9jaGFpbl9sZW5ndGg9RVtpLmxldmVsXS5tYXhfY2hhaW4saS5zdHJzdGFydD0wLGkuYmxvY2tfc3RhcnQ9MCxpLmxvb2thaGVhZD0wLGkuaW5zZXJ0PTAsaS5tYXRjaF9sZW5ndGg9aS5wcmV2X2xlbmd0aD0yLGkubWF0Y2hfYXZhaWxhYmxlPTAsaS5pbnNfaD0wKSxvfWZ1bmN0aW9uIHVRKGUsdCl7dmFyIG4scixpLG8sYSxzLGwsJCxjLGgsdSxkLF8sZixwLGcsbSx3LHYsYix5LHgsRSxDLEQ7bj1lLnN0YXRlLHI9ZS5uZXh0X2luLEM9ZS5pbnB1dCxpPXIrKGUuYXZhaWxfaW4tNSksbz1lLm5leHRfb3V0LEQ9ZS5vdXRwdXQsYT1vLSh0LWUuYXZhaWxfb3V0KSxzPW8rKGUuYXZhaWxfb3V0LTI1NyksbD1uLmRtYXgsJD1uLndzaXplLGM9bi53aGF2ZSxoPW4ud25leHQsdT1uLndpbmRvdyxkPW4uaG9sZCxfPW4uYml0cyxmPW4ubGVuY29kZSxwPW4uZGlzdGNvZGUsZz0oMTw8bi5sZW5iaXRzKS0xLG09KDE8PG4uZGlzdGJpdHMpLTE7dG9wOmRve188MTUmJihkKz1DW3IrK108PF8sXys9OCxkKz1DW3IrK108PF8sXys9OCksdz1mW2QmZ107ZG9sZW46Zm9yKDs7KXtpZihkPj4+PXY9dz4+PjI0LF8tPXYsMD09KHY9dz4+PjE2JjI1NSkpRFtvKytdPTY1NTM1Jnc7ZWxzZSBpZigxNiZ2KXtiPTY1NTM1JncsKHYmPTE1KSYmKF88diYmKGQrPUNbcisrXTw8XyxfKz04KSxiKz1kJigxPDx2KS0xLGQ+Pj49dixfLT12KSxfPDE1JiYoZCs9Q1tyKytdPDxfLF8rPTgsZCs9Q1tyKytdPDxfLF8rPTgpLHc9cFtkJm1dO2RvZGlzdDpmb3IoOzspe2lmKGQ+Pj49dj13Pj4+MjQsXy09diwxNiYodj13Pj4+MTYmMjU1KSl7aWYoeT02NTUzNSZ3LF88KHYmPTE1KSYmKGQrPUNbcisrXTw8XywoXys9OCk8diYmKGQrPUNbcisrXTw8XyxfKz04KSksKHkrPWQmKDE8PHYpLTEpPmwpe2UubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayIsbi5tb2RlPTMwO2JyZWFrIHRvcH1pZihkPj4+PXYsXy09dix5Pih2PW8tYSkpe2lmKCh2PXktdik+YyYmbi5zYW5lKXtlLm1zZz0iaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siLG4ubW9kZT0zMDticmVhayB0b3B9aWYoeD0wLEU9dSwwPT09aCl7aWYoeCs9JC12LHY8Yil7Yi09djtkbyBEW28rK109dVt4KytdO3doaWxlKC0tdik7eD1vLXksRT1EfX1lbHNlIGlmKGg8dil7aWYoeCs9JCtoLXYsKHYtPWgpPGIpe2ItPXY7ZG8gRFtvKytdPXVbeCsrXTt3aGlsZSgtLXYpO2lmKHg9MCxoPGIpe2ItPXY9aDtkbyBEW28rK109dVt4KytdO3doaWxlKC0tdik7eD1vLXksRT1EfX19ZWxzZSBpZih4Kz1oLXYsdjxiKXtiLT12O2RvIERbbysrXT11W3grK107d2hpbGUoLS12KTt4PW8teSxFPUR9Zm9yKDtiPjI7KURbbysrXT1FW3grK10sRFtvKytdPUVbeCsrXSxEW28rK109RVt4KytdLGItPTM7YiYmKERbbysrXT1FW3grK10sYj4xJiYoRFtvKytdPUVbeCsrXSkpfWVsc2V7eD1vLXk7ZG8gRFtvKytdPURbeCsrXSxEW28rK109RFt4KytdLERbbysrXT1EW3grK10sYi09Mzt3aGlsZShiPjIpO2ImJihEW28rK109RFt4KytdLGI+MSYmKERbbysrXT1EW3grK10pKX19ZWxzZSBpZigoNjQmdik9PTApe3c9cFsoNjU1MzUmdykrKGQmKDE8PHYpLTEpXTtjb250aW51ZSBkb2Rpc3R9ZWxzZXtlLm1zZz0iaW52YWxpZCBkaXN0YW5jZSBjb2RlIixuLm1vZGU9MzA7YnJlYWsgdG9wfWJyZWFrfX1lbHNlIGlmKCg2NCZ2KT09MCl7dz1mWyg2NTUzNSZ3KSsoZCYoMTw8diktMSldO2NvbnRpbnVlIGRvbGVufWVsc2UgaWYoMzImdil7bi5tb2RlPTEyO2JyZWFrIHRvcH1lbHNle2UubXNnPSJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiLG4ubW9kZT0zMDticmVhayB0b3B9YnJlYWt9fXdoaWxlKHI8aSYmbzxzKTtyLT1iPV8+PjMsXy09Yjw8MyxkJj0oMTw8XyktMSxlLm5leHRfaW49cixlLm5leHRfb3V0PW8sZS5hdmFpbF9pbj1yPGk/NSsoaS1yKTo1LShyLWkpLGUuYXZhaWxfb3V0PW88cz8yNTcrKHMtbyk6MjU3LShvLXMpLG4uaG9sZD1kLG4uYml0cz1ffUU9W25ldyB1RygwLDAsMCwwLGZ1bmN0aW9uIGUodCxuKXt2YXIgcj02NTUzNTtmb3Iocj50LnBlbmRpbmdfYnVmX3NpemUtNSYmKHI9dC5wZW5kaW5nX2J1Zl9zaXplLTUpOzspe2lmKHQubG9va2FoZWFkPD0xKXtpZih1Wih0KSwwPT09dC5sb29rYWhlYWQmJjA9PT1uKXJldHVybiAxO2lmKDA9PT10Lmxvb2thaGVhZClicmVha310LnN0cnN0YXJ0Kz10Lmxvb2thaGVhZCx0Lmxvb2thaGVhZD0wO3ZhciBpPXQuYmxvY2tfc3RhcnQrcjtpZigoMD09PXQuc3Ryc3RhcnR8fHQuc3Ryc3RhcnQ+PWkpJiYodC5sb29rYWhlYWQ9dC5zdHJzdGFydC1pLHQuc3Ryc3RhcnQ9aSx1Vyh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCl8fHQuc3Ryc3RhcnQtdC5ibG9ja19zdGFydD49dC53X3NpemUtMjYyJiYodVcodCwhMSksMD09PXQuc3RybS5hdmFpbF9vdXQpKXJldHVybiAxfXJldHVybih0Lmluc2VydD0wLDQ9PT1uKT8odVcodCwhMCksMD09PXQuc3RybS5hdmFpbF9vdXQpPzM6NDoodC5zdHJzdGFydD50LmJsb2NrX3N0YXJ0JiYodVcodCwhMSksdC5zdHJtLmF2YWlsX291dCksMSl9KSxuZXcgdUcoNCw0LDgsNCx1WSksbmV3IHVHKDQsNSwxNiw4LHVZKSxuZXcgdUcoNCw2LDMyLDMyLHVZKSxuZXcgdUcoNCw0LDE2LDE2LHVWKSxuZXcgdUcoOCwxNiwzMiwzMix1ViksbmV3IHVHKDgsMTYsMTI4LDEyOCx1ViksbmV3IHVHKDgsMzIsMTI4LDI1Nix1ViksbmV3IHVHKDMyLDEyOCwyNTgsMTAyNCx1ViksbmV3IHVHKDMyLDI1OCwyNTgsNDA5Nix1VildO3ZhciB1WD1bMyw0LDUsNiw3LDgsOSwxMCwxMSwxMywxNSwxNywxOSwyMywyNywzMSwzNSw0Myw1MSw1OSw2Nyw4Myw5OSwxMTUsMTMxLDE2MywxOTUsMjI3LDI1OCwwLDBdLHVKPVsxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNywxNywxNywxNywxOCwxOCwxOCwxOCwxOSwxOSwxOSwxOSwyMCwyMCwyMCwyMCwyMSwyMSwyMSwyMSwxNiw3Miw3OF0sZGU9WzEsMiwzLDQsNSw3LDksMTMsMTcsMjUsMzMsNDksNjUsOTcsMTI5LDE5MywyNTcsMzg1LDUxMyw3NjksMTAyNSwxNTM3LDIwNDksMzA3Myw0MDk3LDYxNDUsODE5MywxMjI4OSwxNjM4NSwyNDU3NywwLDBdLGR0PVsxNiwxNiwxNiwxNiwxNywxNywxOCwxOCwxOSwxOSwyMCwyMCwyMSwyMSwyMiwyMiwyMywyMywyNCwyNCwyNSwyNSwyNiwyNiwyNywyNywyOCwyOCwyOSwyOSw2NCw2NF07ZnVuY3Rpb24gZG4oZSx0LG4scixpLG8sYSxzKXt2YXIgbCwkLGMsaCx1LGQsXyxmLHAsZz1zLmJpdHMsbT0wLHc9MCx2PTAsYj0wLHk9MCx4PTAsRT0wLEM9MCxEPTAsaz0wLEE9bnVsbCxJPTAsVD1uZXcgdW8oMTYpLFM9bmV3IHVvKDE2KSxMPW51bGwsTj0wO2ZvcihtPTA7bTw9MTU7bSsrKVRbbV09MDtmb3Iodz0wO3c8cjt3KyspVFt0W24rd11dKys7Zm9yKGI9MTUseT1nO2I+PTEmJjA9PT1UW2JdO2ItLSk7aWYoeT5iJiYoeT1iKSwwPT09YilyZXR1cm4gaVtvKytdPTIwOTcxNTIwLGlbbysrXT0yMDk3MTUyMCxzLmJpdHM9MSwwO2Zvcih2PTE7djxiJiYwPT09VFt2XTt2KyspO2Zvcih5PHYmJih5PXYpLEM9MSxtPTE7bTw9MTU7bSsrKWlmKEM8PD0xLChDLT1UW21dKTwwKXJldHVybiAtMTtpZihDPjAmJigwPT09ZXx8MSE9PWIpKXJldHVybiAtMTtmb3IobT0xLFNbMV09MDttPDE1O20rKylTW20rMV09U1ttXStUW21dO2Zvcih3PTA7dzxyO3crKykwIT09dFtuK3ddJiYoYVtTW3Rbbit3XV0rK109dyk7aWYoMD09PWU/KEE9TD1hLGQ9MTkpOjE9PT1lPyhBPXVYLEktPTI1NyxMPXVKLE4tPTI1NyxkPTI1Nik6KEE9ZGUsTD1kdCxkPS0xKSxrPTAsdz0wLG09dix1PW8seD15LEU9MCxjPS0xLGg9KEQ9MTw8eSktMSwxPT09ZSYmRD44NTJ8fDI9PT1lJiZEPjU5MilyZXR1cm4gMTtmb3IoOzspe189bS1FLGFbd108ZD8oZj0wLHA9YVt3XSk6YVt3XT5kPyhmPUxbTithW3ddXSxwPUFbSSthW3ddXSk6KGY9OTYscD0wKSxsPTE8PG0tRSx2PSQ9MTw8eDtkbyBpW3UrKGs+PkUpKygkLT1sKV09Xzw8MjR8Zjw8MTZ8cHwwO3doaWxlKDAhPT0kKTtmb3IobD0xPDxtLTE7ayZsOylsPj49MTtpZigwIT09bD8oayY9bC0xLGsrPWwpOms9MCx3KyssMD09LS1UW21dKXtpZihtPT09YilicmVhazttPXRbbithW3ddXX1pZihtPnkmJihrJmgpIT09Yyl7Zm9yKDA9PT1FJiYoRT15KSx1Kz12LEM9MTw8KHg9bS1FKTt4K0U8YiYmISgoQy09VFt4K0VdKTw9MCk7KXgrKyxDPDw9MTtpZihEKz0xPDx4LDE9PT1lJiZEPjg1Mnx8Mj09PWUmJkQ+NTkyKXJldHVybiAxO2lbYz1rJmhdPXk8PDI0fHg8PDE2fHUtb3wwfX1yZXR1cm4gMCE9PWsmJihpW3Ura109bS1FPDwyNHw0MTk0MzA0KSxzLmJpdHM9eSwwfWZ1bmN0aW9uIGRyKGUpe3JldHVybihlPj4+MjQmMjU1KSsoZT4+PjgmNjUyODApKygoNjUyODAmZSk8PDgpKygoMjU1JmUpPDwyNCl9ZnVuY3Rpb24gZGkoKXt0aGlzLm1vZGU9MCx0aGlzLmxhc3Q9ITEsdGhpcy53cmFwPTAsdGhpcy5oYXZlZGljdD0hMSx0aGlzLmZsYWdzPTAsdGhpcy5kbWF4PTAsdGhpcy5jaGVjaz0wLHRoaXMudG90YWw9MCx0aGlzLmhlYWQ9bnVsbCx0aGlzLndiaXRzPTAsdGhpcy53c2l6ZT0wLHRoaXMud2hhdmU9MCx0aGlzLnduZXh0PTAsdGhpcy53aW5kb3c9bnVsbCx0aGlzLmhvbGQ9MCx0aGlzLmJpdHM9MCx0aGlzLmxlbmd0aD0wLHRoaXMub2Zmc2V0PTAsdGhpcy5leHRyYT0wLHRoaXMubGVuY29kZT1udWxsLHRoaXMuZGlzdGNvZGU9bnVsbCx0aGlzLmxlbmJpdHM9MCx0aGlzLmRpc3RiaXRzPTAsdGhpcy5uY29kZT0wLHRoaXMubmxlbj0wLHRoaXMubmRpc3Q9MCx0aGlzLmhhdmU9MCx0aGlzLm5leHQ9bnVsbCx0aGlzLmxlbnM9bmV3IHVvKDMyMCksdGhpcy53b3JrPW5ldyB1bygyODgpLHRoaXMubGVuZHluPW51bGwsdGhpcy5kaXN0ZHluPW51bGwsdGhpcy5zYW5lPTAsdGhpcy5iYWNrPTAsdGhpcy53YXM9MH1mdW5jdGlvbiBkYShlKXt2YXIgdCxuLHI7cmV0dXJuIGUmJmUuc3RhdGU/KCh0PWUuc3RhdGUpLndzaXplPTAsdC53aGF2ZT0wLHQud25leHQ9MCwobj1lKSYmbi5zdGF0ZT8ocj1uLnN0YXRlLG4udG90YWxfaW49bi50b3RhbF9vdXQ9ci50b3RhbD0wLG4ubXNnPSIiLHIud3JhcCYmKG4uYWRsZXI9MSZyLndyYXApLHIubW9kZT0xLHIubGFzdD0wLHIuaGF2ZWRpY3Q9MCxyLmRtYXg9MzI3Njgsci5oZWFkPW51bGwsci5ob2xkPTAsci5iaXRzPTAsci5sZW5jb2RlPXIubGVuZHluPW5ldyB1YSg4NTIpLHIuZGlzdGNvZGU9ci5kaXN0ZHluPW5ldyB1YSg1OTIpLHIuc2FuZT0xLHIuYmFjaz0tMSwwKTotMik6LTJ9dmFyIGRzPSEwO2Z1bmN0aW9uIGRsKGUpe2lmKGRzKXt2YXIgdDtmb3IoQz1uZXcgdWEoNTEyKSxEPW5ldyB1YSgzMiksdD0wO3Q8MTQ0OyllLmxlbnNbdCsrXT04O2Zvcig7dDwyNTY7KWUubGVuc1t0KytdPTk7Zm9yKDt0PDI4MDspZS5sZW5zW3QrK109Nztmb3IoO3Q8Mjg4OyllLmxlbnNbdCsrXT04O2ZvcihkbigxLGUubGVucywwLDI4OCxDLDAsZS53b3JrLHtiaXRzOjl9KSx0PTA7dDwzMjspZS5sZW5zW3QrK109NTtkbigyLGUubGVucywwLDMyLEQsMCxlLndvcmsse2JpdHM6NX0pLGRzPSExfWUubGVuY29kZT1DLGUubGVuYml0cz05LGUuZGlzdGNvZGU9RCxlLmRpc3RiaXRzPTV9ZnVuY3Rpb24gZCQoZSl7aWYoZTwxfHxlPjcpdGhyb3cgVHlwZUVycm9yKCJCYWQgYXJndW1lbnQiKTt0aGlzLm1vZGU9ZSx0aGlzLmluaXRfZG9uZT0hMSx0aGlzLndyaXRlX2luX3Byb2dyZXNzPSExLHRoaXMucGVuZGluZ19jbG9zZT0hMSx0aGlzLndpbmRvd0JpdHM9MCx0aGlzLmxldmVsPTAsdGhpcy5tZW1MZXZlbD0wLHRoaXMuc3RyYXRlZ3k9MCx0aGlzLmRpY3Rpb25hcnk9bnVsbH1mdW5jdGlvbiBkYyhlLHQpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXRoaXNbdCtuXT1lW25dfWQkLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLGwsJCxjLGgsdSxkO3N3aXRjaCh0aGlzLndpbmRvd0JpdHM9ZSx0aGlzLmxldmVsPXQsdGhpcy5tZW1MZXZlbD1uLHRoaXMuc3RyYXRlZ3k9ciwoMz09PXRoaXMubW9kZXx8ND09PXRoaXMubW9kZSkmJih0aGlzLndpbmRvd0JpdHMrPTE2KSw3PT09dGhpcy5tb2RlJiYodGhpcy53aW5kb3dCaXRzKz0zMiksKDU9PT10aGlzLm1vZGV8fDY9PT10aGlzLm1vZGUpJiYodGhpcy53aW5kb3dCaXRzPS10aGlzLndpbmRvd0JpdHMpLHRoaXMuc3RybT1uZXcgdW4sdGhpcy5tb2RlKXtjYXNlIDE6Y2FzZSAzOmNhc2UgNTpvPWZ1bmN0aW9uIGUodCxuLHIsaSxvLGEpe2lmKCF0KXJldHVybiAtMjt2YXIgcz0xO2lmKC0xPT09biYmKG49NiksaTwwPyhzPTAsaT0taSk6aT4xNSYmKHM9MixpLT0xNiksbzwxfHxvPjl8fDghPT1yfHxpPDh8fGk+MTV8fG48MHx8bj45fHxhPDB8fGE+NClyZXR1cm4gdTkodCwtMik7OD09PWkmJihpPTkpO3ZhciBsPW5ldyB1SztyZXR1cm4gdC5zdGF0ZT1sLGwuc3RybT10LGwud3JhcD1zLGwuZ3poZWFkPW51bGwsbC53X2JpdHM9aSxsLndfc2l6ZT0xPDxsLndfYml0cyxsLndfbWFzaz1sLndfc2l6ZS0xLGwuaGFzaF9iaXRzPW8rNyxsLmhhc2hfc2l6ZT0xPDxsLmhhc2hfYml0cyxsLmhhc2hfbWFzaz1sLmhhc2hfc2l6ZS0xLGwuaGFzaF9zaGlmdD1+figobC5oYXNoX2JpdHMrMy0xKS8zKSxsLndpbmRvdz1uZXcgdWkoMipsLndfc2l6ZSksbC5oZWFkPW5ldyB1byhsLmhhc2hfc2l6ZSksbC5wcmV2PW5ldyB1byhsLndfc2l6ZSksbC5saXRfYnVmc2l6ZT0xPDxvKzYsbC5wZW5kaW5nX2J1Zl9zaXplPTQqbC5saXRfYnVmc2l6ZSxsLnBlbmRpbmdfYnVmPW5ldyB1aShsLnBlbmRpbmdfYnVmX3NpemUpLGwuZF9idWY9MSpsLmxpdF9idWZzaXplLGwubF9idWY9MypsLmxpdF9idWZzaXplLGwubGV2ZWw9bixsLnN0cmF0ZWd5PWEsbC5tZXRob2Q9cix1cSh0KX0odGhpcy5zdHJtLHRoaXMubGV2ZWwsOCx0aGlzLndpbmRvd0JpdHMsdGhpcy5tZW1MZXZlbCx0aGlzLnN0cmF0ZWd5KTticmVhaztjYXNlIDI6Y2FzZSA0OmNhc2UgNjpjYXNlIDc6bz0oYT10aGlzLnN0cm0scz10aGlzLndpbmRvd0JpdHMsYT8oJD1uZXcgZGksYS5zdGF0ZT0kLCQud2luZG93PW51bGwsMCE9PShsPShjPWEsaD1zLGMmJmMuc3RhdGU/KGQ9Yy5zdGF0ZSxoPDA/KHU9MCxoPS1oKToodT0oaD4+NCkrMSxoPDQ4JiYoaCY9MTUpKSxoJiYoaDw4fHxoPjE1KSk/LTI6KG51bGwhPT1kLndpbmRvdyYmZC53Yml0cyE9PWgmJihkLndpbmRvdz1udWxsKSxkLndyYXA9dSxkLndiaXRzPWgsZGEoYykpOi0yKSkmJihhLnN0YXRlPW51bGwpLGwpOi0yKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIG1vZGUgIit0aGlzLm1vZGUpfWlmKDAhPT1vKXt0aGlzLl9lcnJvcihvKTtyZXR1cm59dGhpcy53cml0ZV9pbl9wcm9ncmVzcz0hMSx0aGlzLmluaXRfZG9uZT0hMH0sZCQucHJvdG90eXBlLnBhcmFtcz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJkZWZsYXRlUGFyYW1zIE5vdCBzdXBwb3J0ZWQiKX0sZCQucHJvdG90eXBlLl93cml0ZUNoZWNrPWZ1bmN0aW9uKCl7aWYoIXRoaXMuaW5pdF9kb25lKXRocm93IEVycm9yKCJ3cml0ZSBiZWZvcmUgaW5pdCIpO2lmKDA9PT10aGlzLm1vZGUpdGhyb3cgRXJyb3IoImFscmVhZHkgZmluYWxpemVkIik7aWYodGhpcy53cml0ZV9pbl9wcm9ncmVzcyl0aHJvdyBFcnJvcigid3JpdGUgYWxyZWFkeSBpbiBwcm9ncmVzcyIpO2lmKHRoaXMucGVuZGluZ19jbG9zZSl0aHJvdyBFcnJvcigiY2xvc2UgaXMgcGVuZGluZyIpfSxkJC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7dGhpcy5fd3JpdGVDaGVjaygpLHRoaXMud3JpdGVfaW5fcHJvZ3Jlc3M9ITA7dmFyIHM9dGhpcztyZXR1cm4gY1QubmV4dFRpY2soZnVuY3Rpb24oKXtzLndyaXRlX2luX3Byb2dyZXNzPSExO3ZhciBsPXMuX3dyaXRlKGUsdCxuLHIsaSxvLGEpO3MuY2FsbGJhY2sobFswXSxsWzFdKSxzLnBlbmRpbmdfY2xvc2UmJnMuY2xvc2UoKX0pLHRoaXN9LGQkLnByb3RvdHlwZS53cml0ZVN5bmM9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7cmV0dXJuIHRoaXMuX3dyaXRlQ2hlY2soKSx0aGlzLl93cml0ZShlLHQsbixyLGksbyxhKX0sZCQucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQsbixyLGksbyxhKXtpZih0aGlzLndyaXRlX2luX3Byb2dyZXNzPSEwLDAhPT1lJiYxIT09ZSYmMiE9PWUmJjMhPT1lJiY0IT09ZSYmNSE9PWUpdGhyb3cgRXJyb3IoIkludmFsaWQgZmx1c2ggdmFsdWUiKTtudWxsPT10JiYodD1uZXcgZTgoMCkscj0wLG49MCksaS5fc2V0P2kuc2V0PWkuX3NldDppLnNldD1kYzt2YXIgcyxsPXRoaXMuc3RybTtzd2l0Y2gobC5hdmFpbF9pbj1yLGwuaW5wdXQ9dCxsLm5leHRfaW49bixsLmF2YWlsX291dD1hLGwub3V0cHV0PWksbC5uZXh0X291dD1vLHRoaXMubW9kZSl7Y2FzZSAxOmNhc2UgMzpjYXNlIDU6cz1mdW5jdGlvbiBlKHQsbil7aWYoIXR8fCF0LnN0YXRlfHxuPjV8fG48MClyZXR1cm4gdD91OSh0LC0yKTotMjtpZihpPXQuc3RhdGUsIXQub3V0cHV0fHwhdC5pbnB1dCYmMCE9PXQuYXZhaWxfaW58fDY2Nj09PWkuc3RhdHVzJiY0IT09bilyZXR1cm4gdTkodCwwPT09dC5hdmFpbF9vdXQ/LTU6LTIpO2lmKGkuc3RybT10LHI9aS5sYXN0X2ZsdXNoLGkubGFzdF9mbHVzaD1uLDQyPT09aS5zdGF0dXMpe2lmKDI9PT1pLndyYXApdC5hZGxlcj0wLHVGKGksMzEpLHVGKGksMTM5KSx1RihpLDgpLGkuZ3poZWFkPyh1RihpLChpLmd6aGVhZC50ZXh0PzE6MCkrKGkuZ3poZWFkLmhjcmM/MjowKSsoaS5nemhlYWQuZXh0cmE/NDowKSsoaS5nemhlYWQubmFtZT84OjApKyhpLmd6aGVhZC5jb21tZW50PzE2OjApKSx1RihpLDI1NSZpLmd6aGVhZC50aW1lKSx1RihpLGkuZ3poZWFkLnRpbWU+PjgmMjU1KSx1RihpLGkuZ3poZWFkLnRpbWU+PjE2JjI1NSksdUYoaSxpLmd6aGVhZC50aW1lPj4yNCYyNTUpLHVGKGksOT09PWkubGV2ZWw/MjppLnN0cmF0ZWd5Pj0yfHxpLmxldmVsPDI/NDowKSx1RihpLDI1NSZpLmd6aGVhZC5vcyksaS5nemhlYWQuZXh0cmEmJmkuZ3poZWFkLmV4dHJhLmxlbmd0aCYmKHVGKGksMjU1JmkuZ3poZWFkLmV4dHJhLmxlbmd0aCksdUYoaSxpLmd6aGVhZC5leHRyYS5sZW5ndGg+PjgmMjU1KSksaS5nemhlYWQuaGNyYyYmKHQuYWRsZXI9dU0odC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZywwKSksaS5nemluZGV4PTAsaS5zdGF0dXM9NjkpOih1RihpLDApLHVGKGksMCksdUYoaSwwKSx1RihpLDApLHVGKGksMCksdUYoaSw5PT09aS5sZXZlbD8yOmkuc3RyYXRlZ3k+PTJ8fGkubGV2ZWw8Mj80OjApLHVGKGksMyksaS5zdGF0dXM9MTEzKTtlbHNle3ZhciByLGksbyxhLHM9OCsoaS53X2JpdHMtODw8NCk8PDgsbD0tMTtzfD0obD1pLnN0cmF0ZWd5Pj0yfHxpLmxldmVsPDI/MDppLmxldmVsPDY/MTo2PT09aS5sZXZlbD8yOjMpPDw2LDAhPT1pLnN0cnN0YXJ0JiYoc3w9MzIpLHMrPTMxLXMlMzEsaS5zdGF0dXM9MTEzLHV6KGkscyksMCE9PWkuc3Ryc3RhcnQmJih1eihpLHQuYWRsZXI+Pj4xNiksdXooaSw2NTUzNSZ0LmFkbGVyKSksdC5hZGxlcj0xfX1pZig2OT09PWkuc3RhdHVzKXtpZihpLmd6aGVhZC5leHRyYSl7Zm9yKG89aS5wZW5kaW5nO2kuZ3ppbmRleDwoNjU1MzUmaS5nemhlYWQuZXh0cmEubGVuZ3RoKSYmKGkucGVuZGluZyE9PWkucGVuZGluZ19idWZfc2l6ZXx8KGkuZ3poZWFkLmhjcmMmJmkucGVuZGluZz5vJiYodC5hZGxlcj11TSh0LmFkbGVyLGkucGVuZGluZ19idWYsaS5wZW5kaW5nLW8sbykpLHVCKHQpLG89aS5wZW5kaW5nLGkucGVuZGluZyE9PWkucGVuZGluZ19idWZfc2l6ZSkpOyl1RihpLDI1NSZpLmd6aGVhZC5leHRyYVtpLmd6aW5kZXhdKSxpLmd6aW5kZXgrKztpLmd6aGVhZC5oY3JjJiZpLnBlbmRpbmc+byYmKHQuYWRsZXI9dU0odC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZy1vLG8pKSxpLmd6aW5kZXg9PT1pLmd6aGVhZC5leHRyYS5sZW5ndGgmJihpLmd6aW5kZXg9MCxpLnN0YXR1cz03Myl9ZWxzZSBpLnN0YXR1cz03M31pZig3Mz09PWkuc3RhdHVzKXtpZihpLmd6aGVhZC5uYW1lKXtvPWkucGVuZGluZztkb3tpZihpLnBlbmRpbmc9PT1pLnBlbmRpbmdfYnVmX3NpemUmJihpLmd6aGVhZC5oY3JjJiZpLnBlbmRpbmc+byYmKHQuYWRsZXI9dU0odC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZy1vLG8pKSx1Qih0KSxvPWkucGVuZGluZyxpLnBlbmRpbmc9PT1pLnBlbmRpbmdfYnVmX3NpemUpKXthPTE7YnJlYWt9YT1pLmd6aW5kZXg8aS5nemhlYWQubmFtZS5sZW5ndGg/MjU1JmkuZ3poZWFkLm5hbWUuY2hhckNvZGVBdChpLmd6aW5kZXgrKyk6MCx1RihpLGEpfXdoaWxlKDAhPT1hKTtpLmd6aGVhZC5oY3JjJiZpLnBlbmRpbmc+byYmKHQuYWRsZXI9dU0odC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZy1vLG8pKSwwPT09YSYmKGkuZ3ppbmRleD0wLGkuc3RhdHVzPTkxKX1lbHNlIGkuc3RhdHVzPTkxfWlmKDkxPT09aS5zdGF0dXMpe2lmKGkuZ3poZWFkLmNvbW1lbnQpe289aS5wZW5kaW5nO2Rve2lmKGkucGVuZGluZz09PWkucGVuZGluZ19idWZfc2l6ZSYmKGkuZ3poZWFkLmhjcmMmJmkucGVuZGluZz5vJiYodC5hZGxlcj11TSh0LmFkbGVyLGkucGVuZGluZ19idWYsaS5wZW5kaW5nLW8sbykpLHVCKHQpLG89aS5wZW5kaW5nLGkucGVuZGluZz09PWkucGVuZGluZ19idWZfc2l6ZSkpe2E9MTticmVha31hPWkuZ3ppbmRleDxpLmd6aGVhZC5jb21tZW50Lmxlbmd0aD8yNTUmaS5nemhlYWQuY29tbWVudC5jaGFyQ29kZUF0KGkuZ3ppbmRleCsrKTowLHVGKGksYSl9d2hpbGUoMCE9PWEpO2kuZ3poZWFkLmhjcmMmJmkucGVuZGluZz5vJiYodC5hZGxlcj11TSh0LmFkbGVyLGkucGVuZGluZ19idWYsaS5wZW5kaW5nLW8sbykpLDA9PT1hJiYoaS5zdGF0dXM9MTAzKX1lbHNlIGkuc3RhdHVzPTEwM31pZigxMDM9PT1pLnN0YXR1cyYmKGkuZ3poZWFkLmhjcmM/KGkucGVuZGluZysyPmkucGVuZGluZ19idWZfc2l6ZSYmdUIodCksaS5wZW5kaW5nKzI8PWkucGVuZGluZ19idWZfc2l6ZSYmKHVGKGksMjU1JnQuYWRsZXIpLHVGKGksdC5hZGxlcj4+OCYyNTUpLHQuYWRsZXI9MCxpLnN0YXR1cz0xMTMpKTppLnN0YXR1cz0xMTMpLDAhPT1pLnBlbmRpbmcpe2lmKHVCKHQpLDA9PT10LmF2YWlsX291dClyZXR1cm4gaS5sYXN0X2ZsdXNoPS0xLDB9ZWxzZSBpZigwPT09dC5hdmFpbF9pbiYmdVIobik8PXVSKHIpJiY0IT09bilyZXR1cm4gdTkodCwtNSk7aWYoNjY2PT09aS5zdGF0dXMmJjAhPT10LmF2YWlsX2luKXJldHVybiB1OSh0LC01KTtpZigwIT09dC5hdmFpbF9pbnx8MCE9PWkubG9va2FoZWFkfHwwIT09biYmNjY2IT09aS5zdGF0dXMpe3ZhciAkLGMsaD0yPT09aS5zdHJhdGVneT9mdW5jdGlvbiBlKHQsbil7Zm9yKHZhciByOzspe2lmKDA9PT10Lmxvb2thaGVhZCYmKHVaKHQpLDA9PT10Lmxvb2thaGVhZCkpe2lmKDA9PT1uKXJldHVybiAxO2JyZWFrfWlmKHQubWF0Y2hfbGVuZ3RoPTAscj11TCh0LDAsdC53aW5kb3dbdC5zdHJzdGFydF0pLHQubG9va2FoZWFkLS0sdC5zdHJzdGFydCsrLHImJih1Vyh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCkpcmV0dXJuIDF9cmV0dXJuKHQuaW5zZXJ0PTAsND09PW4pPyh1Vyh0LCEwKSwwPT09dC5zdHJtLmF2YWlsX291dCk/Mzo0OnQubGFzdF9saXQmJih1Vyh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCk/MToyfShpLG4pOjM9PT1pLnN0cmF0ZWd5P2Z1bmN0aW9uIGUodCxuKXtmb3IodmFyIHIsaSxvLGEscz10LndpbmRvdzs7KXtpZih0Lmxvb2thaGVhZDw9MjU4KXtpZih1Wih0KSx0Lmxvb2thaGVhZDw9MjU4JiYwPT09bilyZXR1cm4gMTtpZigwPT09dC5sb29rYWhlYWQpYnJlYWt9aWYodC5tYXRjaF9sZW5ndGg9MCx0Lmxvb2thaGVhZD49MyYmdC5zdHJzdGFydD4wJiYoaT1zW289dC5zdHJzdGFydC0xXSk9PT1zWysrb10mJmk9PT1zWysrb10mJmk9PT1zWysrb10pe2E9dC5zdHJzdGFydCsyNTg7ZG87d2hpbGUoaT09PXNbKytvXSYmaT09PXNbKytvXSYmaT09PXNbKytvXSYmaT09PXNbKytvXSYmaT09PXNbKytvXSYmaT09PXNbKytvXSYmaT09PXNbKytvXSYmaT09PXNbKytvXSYmbzxhKTt0Lm1hdGNoX2xlbmd0aD0yNTgtKGEtbyksdC5tYXRjaF9sZW5ndGg+dC5sb29rYWhlYWQmJih0Lm1hdGNoX2xlbmd0aD10Lmxvb2thaGVhZCl9aWYodC5tYXRjaF9sZW5ndGg+PTM/KHI9dUwodCwxLHQubWF0Y2hfbGVuZ3RoLTMpLHQubG9va2FoZWFkLT10Lm1hdGNoX2xlbmd0aCx0LnN0cnN0YXJ0Kz10Lm1hdGNoX2xlbmd0aCx0Lm1hdGNoX2xlbmd0aD0wKToocj11TCh0LDAsdC53aW5kb3dbdC5zdHJzdGFydF0pLHQubG9va2FoZWFkLS0sdC5zdHJzdGFydCsrKSxyJiYodVcodCwhMSksMD09PXQuc3RybS5hdmFpbF9vdXQpKXJldHVybiAxfXJldHVybih0Lmluc2VydD0wLDQ9PT1uKT8odVcodCwhMCksMD09PXQuc3RybS5hdmFpbF9vdXQpPzM6NDp0Lmxhc3RfbGl0JiYodVcodCwhMSksMD09PXQuc3RybS5hdmFpbF9vdXQpPzE6Mn0oaSxuKTpFW2kubGV2ZWxdLmZ1bmMoaSxuKTtpZigoMz09PWh8fDQ9PT1oKSYmKGkuc3RhdHVzPTY2NiksMT09PWh8fDM9PT1oKXJldHVybiAwPT09dC5hdmFpbF9vdXQmJihpLmxhc3RfZmx1c2g9LTEpLDA7aWYoMj09PWgmJigxPT09bj8oJD1pLHU4KCQsMiwzKSx1NigkLDI1Nix1MSksMTY9PT0oYz0kKS5iaV92YWxpZD8odWIoYyxjLmJpX2J1ZiksYy5iaV9idWY9MCxjLmJpX3ZhbGlkPTApOmMuYmlfdmFsaWQ+PTgmJihjLnBlbmRpbmdfYnVmW2MucGVuZGluZysrXT0yNTUmYy5iaV9idWYsYy5iaV9idWY+Pj04LGMuYmlfdmFsaWQtPTgpKTo1IT09biYmKHVTKGksMCwwLCExKSwzPT09biYmKHVVKGkuaGVhZCksMD09PWkubG9va2FoZWFkJiYoaS5zdHJzdGFydD0wLGkuYmxvY2tfc3RhcnQ9MCxpLmluc2VydD0wKSkpLHVCKHQpLDA9PT10LmF2YWlsX291dCkpcmV0dXJuIGkubGFzdF9mbHVzaD0tMSwwfXJldHVybiA0IT09bj8wOmkud3JhcDw9MD8xOigyPT09aS53cmFwPyh1RihpLDI1NSZ0LmFkbGVyKSx1RihpLHQuYWRsZXI+PjgmMjU1KSx1RihpLHQuYWRsZXI+PjE2JjI1NSksdUYoaSx0LmFkbGVyPj4yNCYyNTUpLHVGKGksMjU1JnQudG90YWxfaW4pLHVGKGksdC50b3RhbF9pbj4+OCYyNTUpLHVGKGksdC50b3RhbF9pbj4+MTYmMjU1KSx1RihpLHQudG90YWxfaW4+PjI0JjI1NSkpOih1eihpLHQuYWRsZXI+Pj4xNiksdXooaSw2NTUzNSZ0LmFkbGVyKSksdUIodCksaS53cmFwPjAmJihpLndyYXA9LWkud3JhcCksMCE9PWkucGVuZGluZz8wOjEpfShsLGUpO2JyZWFrO2Nhc2UgNzpjYXNlIDI6Y2FzZSA0OmNhc2UgNjpzPWZ1bmN0aW9uIGUodCxuKXt2YXIgcixpLG8sYSxzLGwsJCxjLGgsdSxkLF8sZixwLGcsbSx3LHYsYix5LHgsRSxDLEQsayxBLEksVCxTLEwsTj0wLE89bmV3IHVpKDQpLE09WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdO2lmKCF0fHwhdC5zdGF0ZXx8IXQub3V0cHV0fHwhdC5pbnB1dCYmMCE9PXQuYXZhaWxfaW4pcmV0dXJuIC0yOzEyPT09KCQ9dC5zdGF0ZSkubW9kZSYmKCQubW9kZT0xMyksZD10Lm5leHRfb3V0LGg9dC5vdXRwdXQsZj10LmF2YWlsX291dCx1PXQubmV4dF9pbixjPXQuaW5wdXQsXz10LmF2YWlsX2luLHA9JC5ob2xkLGc9JC5iaXRzLG09Xyx3PWYsVD0wO2luZl9sZWF2ZTpmb3IoOzspc3dpdGNoKCQubW9kZSl7Y2FzZSAxOmlmKDA9PT0kLndyYXApeyQubW9kZT0xMzticmVha31mb3IoO2c8MTY7KXtpZigwPT09XylicmVhayBpbmZfbGVhdmU7Xy0tLHArPWNbdSsrXTw8ZyxnKz04fWlmKDImJC53cmFwJiYzNTYxNT09PXApeyQuY2hlY2s9MCxPWzBdPTI1NSZwLE9bMV09cD4+PjgmMjU1LCQuY2hlY2s9dU0oJC5jaGVjayxPLDIsMCkscD0wLGc9MCwkLm1vZGU9MjticmVha31pZigkLmZsYWdzPTAsJC5oZWFkJiYoJC5oZWFkLmRvbmU9ITEpLCEoMSYkLndyYXApfHwoKCgyNTUmcCk8PDgpKyhwPj44KSklMzEpe3QubXNnPSJpbmNvcnJlY3QgaGVhZGVyIGNoZWNrIiwkLm1vZGU9MzA7YnJlYWt9aWYoKDE1JnApIT04KXt0Lm1zZz0idW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QiLCQubW9kZT0zMDticmVha31pZihwPj4+PTQsZy09NCxJPSgxNSZwKSs4LDA9PT0kLndiaXRzKSQud2JpdHM9STtlbHNlIGlmKEk+JC53Yml0cyl7dC5tc2c9ImludmFsaWQgd2luZG93IHNpemUiLCQubW9kZT0zMDticmVha30kLmRtYXg9MTw8SSx0LmFkbGVyPSQuY2hlY2s9MSwkLm1vZGU9NTEyJnA/MTA6MTIscD0wLGc9MDticmVhaztjYXNlIDI6Zm9yKDtnPDE2Oyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO18tLSxwKz1jW3UrK108PGcsZys9OH1pZigkLmZsYWdzPXAsKDI1NSYkLmZsYWdzKSE9OCl7dC5tc2c9InVua25vd24gY29tcHJlc3Npb24gbWV0aG9kIiwkLm1vZGU9MzA7YnJlYWt9aWYoNTczNDQmJC5mbGFncyl7dC5tc2c9InVua25vd24gaGVhZGVyIGZsYWdzIHNldCIsJC5tb2RlPTMwO2JyZWFrfSQuaGVhZCYmKCQuaGVhZC50ZXh0PXA+PjgmMSksNTEyJiQuZmxhZ3MmJihPWzBdPTI1NSZwLE9bMV09cD4+PjgmMjU1LCQuY2hlY2s9dU0oJC5jaGVjayxPLDIsMCkpLHA9MCxnPTAsJC5tb2RlPTM7Y2FzZSAzOmZvcig7ZzwzMjspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9JC5oZWFkJiYoJC5oZWFkLnRpbWU9cCksNTEyJiQuZmxhZ3MmJihPWzBdPTI1NSZwLE9bMV09cD4+PjgmMjU1LE9bMl09cD4+PjE2JjI1NSxPWzNdPXA+Pj4yNCYyNTUsJC5jaGVjaz11TSgkLmNoZWNrLE8sNCwwKSkscD0wLGc9MCwkLm1vZGU9NDtjYXNlIDQ6Zm9yKDtnPDE2Oyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO18tLSxwKz1jW3UrK108PGcsZys9OH0kLmhlYWQmJigkLmhlYWQueGZsYWdzPTI1NSZwLCQuaGVhZC5vcz1wPj44KSw1MTImJC5mbGFncyYmKE9bMF09MjU1JnAsT1sxXT1wPj4+OCYyNTUsJC5jaGVjaz11TSgkLmNoZWNrLE8sMiwwKSkscD0wLGc9MCwkLm1vZGU9NTtjYXNlIDU6aWYoMTAyNCYkLmZsYWdzKXtmb3IoO2c8MTY7KXtpZigwPT09XylicmVhayBpbmZfbGVhdmU7Xy0tLHArPWNbdSsrXTw8ZyxnKz04fSQubGVuZ3RoPXAsJC5oZWFkJiYoJC5oZWFkLmV4dHJhX2xlbj1wKSw1MTImJC5mbGFncyYmKE9bMF09MjU1JnAsT1sxXT1wPj4+OCYyNTUsJC5jaGVjaz11TSgkLmNoZWNrLE8sMiwwKSkscD0wLGc9MH1lbHNlICQuaGVhZCYmKCQuaGVhZC5leHRyYT1udWxsKTskLm1vZGU9NjtjYXNlIDY6aWYoMTAyNCYkLmZsYWdzJiYoKHY9JC5sZW5ndGgpPl8mJih2PV8pLHYmJigkLmhlYWQmJihJPSQuaGVhZC5leHRyYV9sZW4tJC5sZW5ndGgsJC5oZWFkLmV4dHJhfHwoJC5oZWFkLmV4dHJhPUFycmF5KCQuaGVhZC5leHRyYV9sZW4pKSx1cigkLmhlYWQuZXh0cmEsYyx1LHYsSSkpLDUxMiYkLmZsYWdzJiYoJC5jaGVjaz11TSgkLmNoZWNrLGMsdix1KSksXy09dix1Kz12LCQubGVuZ3RoLT12KSwkLmxlbmd0aCkpYnJlYWsgaW5mX2xlYXZlOyQubGVuZ3RoPTAsJC5tb2RlPTc7Y2FzZSA3OmlmKDIwNDgmJC5mbGFncyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO3Y9MDtkbyBJPWNbdSt2KytdLCQuaGVhZCYmSSYmJC5sZW5ndGg8NjU1MzYmJigkLmhlYWQubmFtZSs9U3RyaW5nLmZyb21DaGFyQ29kZShJKSk7d2hpbGUoSSYmdjxfKTtpZig1MTImJC5mbGFncyYmKCQuY2hlY2s9dU0oJC5jaGVjayxjLHYsdSkpLF8tPXYsdSs9dixJKWJyZWFrIGluZl9sZWF2ZX1lbHNlICQuaGVhZCYmKCQuaGVhZC5uYW1lPW51bGwpOyQubGVuZ3RoPTAsJC5tb2RlPTg7Y2FzZSA4OmlmKDQwOTYmJC5mbGFncyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO3Y9MDtkbyBJPWNbdSt2KytdLCQuaGVhZCYmSSYmJC5sZW5ndGg8NjU1MzYmJigkLmhlYWQuY29tbWVudCs9U3RyaW5nLmZyb21DaGFyQ29kZShJKSk7d2hpbGUoSSYmdjxfKTtpZig1MTImJC5mbGFncyYmKCQuY2hlY2s9dU0oJC5jaGVjayxjLHYsdSkpLF8tPXYsdSs9dixJKWJyZWFrIGluZl9sZWF2ZX1lbHNlICQuaGVhZCYmKCQuaGVhZC5jb21tZW50PW51bGwpOyQubW9kZT05O2Nhc2UgOTppZig1MTImJC5mbGFncyl7Zm9yKDtnPDE2Oyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO18tLSxwKz1jW3UrK108PGcsZys9OH1pZihwIT09KDY1NTM1JiQuY2hlY2spKXt0Lm1zZz0iaGVhZGVyIGNyYyBtaXNtYXRjaCIsJC5tb2RlPTMwO2JyZWFrfXA9MCxnPTB9JC5oZWFkJiYoJC5oZWFkLmhjcmM9JC5mbGFncz4+OSYxLCQuaGVhZC5kb25lPSEwKSx0LmFkbGVyPSQuY2hlY2s9MCwkLm1vZGU9MTI7YnJlYWs7Y2FzZSAxMDpmb3IoO2c8MzI7KXtpZigwPT09XylicmVhayBpbmZfbGVhdmU7Xy0tLHArPWNbdSsrXTw8ZyxnKz04fXQuYWRsZXI9JC5jaGVjaz1kcihwKSxwPTAsZz0wLCQubW9kZT0xMTtjYXNlIDExOmlmKDA9PT0kLmhhdmVkaWN0KXJldHVybiB0Lm5leHRfb3V0PWQsdC5hdmFpbF9vdXQ9Zix0Lm5leHRfaW49dSx0LmF2YWlsX2luPV8sJC5ob2xkPXAsJC5iaXRzPWcsMjt0LmFkbGVyPSQuY2hlY2s9MSwkLm1vZGU9MTI7Y2FzZSAxMjppZig1PT09bnx8Nj09PW4pYnJlYWsgaW5mX2xlYXZlO2Nhc2UgMTM6aWYoJC5sYXN0KXtwPj4+PTcmZyxnLT03JmcsJC5tb2RlPTI3O2JyZWFrfWZvcig7ZzwzOyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO18tLSxwKz1jW3UrK108PGcsZys9OH1zd2l0Y2goJC5sYXN0PTEmcCxnLT0xLDMmKHA+Pj49MSkpe2Nhc2UgMDokLm1vZGU9MTQ7YnJlYWs7Y2FzZSAxOmlmKGRsKCQpLCQubW9kZT0yMCw2PT09bil7cD4+Pj0yLGctPTI7YnJlYWsgaW5mX2xlYXZlfWJyZWFrO2Nhc2UgMjokLm1vZGU9MTc7YnJlYWs7Y2FzZSAzOnQubXNnPSJpbnZhbGlkIGJsb2NrIHR5cGUiLCQubW9kZT0zMH1wPj4+PTIsZy09MjticmVhaztjYXNlIDE0OmZvcihwPj4+PTcmZyxnLT03Jmc7ZzwzMjspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9aWYoKDY1NTM1JnApIT0ocD4+PjE2XjY1NTM1KSl7dC5tc2c9ImludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMiLCQubW9kZT0zMDticmVha31pZigkLmxlbmd0aD02NTUzNSZwLHA9MCxnPTAsJC5tb2RlPTE1LDY9PT1uKWJyZWFrIGluZl9sZWF2ZTtjYXNlIDE1OiQubW9kZT0xNjtjYXNlIDE2OmlmKHY9JC5sZW5ndGgpe2lmKHY+XyYmKHY9Xyksdj5mJiYodj1mKSwwPT09dilicmVhayBpbmZfbGVhdmU7dXIoaCxjLHUsdixkKSxfLT12LHUrPXYsZi09dixkKz12LCQubGVuZ3RoLT12O2JyZWFrfSQubW9kZT0xMjticmVhaztjYXNlIDE3OmZvcig7ZzwxNDspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9aWYoJC5ubGVuPSgzMSZwKSsyNTcscD4+Pj01LGctPTUsJC5uZGlzdD0oMzEmcCkrMSxwPj4+PTUsZy09NSwkLm5jb2RlPSgxNSZwKSs0LHA+Pj49NCxnLT00LCQubmxlbj4yODZ8fCQubmRpc3Q+MzApe3QubXNnPSJ0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scyIsJC5tb2RlPTMwO2JyZWFrfSQuaGF2ZT0wLCQubW9kZT0xODtjYXNlIDE4OmZvcig7JC5oYXZlPCQubmNvZGU7KXtmb3IoO2c8Mzspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9JC5sZW5zW01bJC5oYXZlKytdXT03JnAscD4+Pj0zLGctPTN9Zm9yKDskLmhhdmU8MTk7KSQubGVuc1tNWyQuaGF2ZSsrXV09MDtpZigkLmxlbmNvZGU9JC5sZW5keW4sJC5sZW5iaXRzPTcsUz17Yml0czokLmxlbmJpdHN9LFQ9ZG4oMCwkLmxlbnMsMCwxOSwkLmxlbmNvZGUsMCwkLndvcmssUyksJC5sZW5iaXRzPVMuYml0cyxUKXt0Lm1zZz0iaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0IiwkLm1vZGU9MzA7YnJlYWt9JC5oYXZlPTAsJC5tb2RlPTE5O2Nhc2UgMTk6Zm9yKDskLmhhdmU8JC5ubGVuKyQubmRpc3Q7KXtmb3IoO3g9KE49JC5sZW5jb2RlW3AmKDE8PCQubGVuYml0cyktMV0pPj4+MjQsRT1OPj4+MTYmMjU1LEM9NjU1MzUmTiwhKHg8PWcpOyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO18tLSxwKz1jW3UrK108PGcsZys9OH1pZihDPDE2KXA+Pj49eCxnLT14LCQubGVuc1skLmhhdmUrK109QztlbHNle2lmKDE2PT09Qyl7Zm9yKEw9eCsyO2c8TDspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9aWYocD4+Pj14LGctPXgsMD09PSQuaGF2ZSl7dC5tc2c9ImludmFsaWQgYml0IGxlbmd0aCByZXBlYXQiLCQubW9kZT0zMDticmVha31JPSQubGVuc1skLmhhdmUtMV0sdj0zKygzJnApLHA+Pj49MixnLT0yfWVsc2UgaWYoMTc9PT1DKXtmb3IoTD14KzM7ZzxMOyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO18tLSxwKz1jW3UrK108PGcsZys9OH1wPj4+PXgsZy09eCxJPTAsdj0zKyg3JnApLHA+Pj49MyxnLT0zfWVsc2V7Zm9yKEw9eCs3O2c8TDspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9cD4+Pj14LGctPXgsST0wLHY9MTErKDEyNyZwKSxwPj4+PTcsZy09N31pZigkLmhhdmUrdj4kLm5sZW4rJC5uZGlzdCl7dC5tc2c9ImludmFsaWQgYml0IGxlbmd0aCByZXBlYXQiLCQubW9kZT0zMDticmVha31mb3IoO3YtLTspJC5sZW5zWyQuaGF2ZSsrXT1JfX1pZigzMD09PSQubW9kZSlicmVhaztpZigwPT09JC5sZW5zWzI1Nl0pe3QubXNnPSJpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2siLCQubW9kZT0zMDticmVha31pZigkLmxlbmJpdHM9OSxTPXtiaXRzOiQubGVuYml0c30sVD1kbigxLCQubGVucywwLCQubmxlbiwkLmxlbmNvZGUsMCwkLndvcmssUyksJC5sZW5iaXRzPVMuYml0cyxUKXt0Lm1zZz0iaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0IiwkLm1vZGU9MzA7YnJlYWt9aWYoJC5kaXN0Yml0cz02LCQuZGlzdGNvZGU9JC5kaXN0ZHluLFM9e2JpdHM6JC5kaXN0Yml0c30sVD1kbigyLCQubGVucywkLm5sZW4sJC5uZGlzdCwkLmRpc3Rjb2RlLDAsJC53b3JrLFMpLCQuZGlzdGJpdHM9Uy5iaXRzLFQpe3QubXNnPSJpbnZhbGlkIGRpc3RhbmNlcyBzZXQiLCQubW9kZT0zMDticmVha31pZigkLm1vZGU9MjAsNj09PW4pYnJlYWsgaW5mX2xlYXZlO2Nhc2UgMjA6JC5tb2RlPTIxO2Nhc2UgMjE6aWYoXz49NiYmZj49MjU4KXt0Lm5leHRfb3V0PWQsdC5hdmFpbF9vdXQ9Zix0Lm5leHRfaW49dSx0LmF2YWlsX2luPV8sJC5ob2xkPXAsJC5iaXRzPWcsdVEodCx3KSxkPXQubmV4dF9vdXQsaD10Lm91dHB1dCxmPXQuYXZhaWxfb3V0LHU9dC5uZXh0X2luLGM9dC5pbnB1dCxfPXQuYXZhaWxfaW4scD0kLmhvbGQsZz0kLmJpdHMsMTI9PT0kLm1vZGUmJigkLmJhY2s9LTEpO2JyZWFrfWZvcigkLmJhY2s9MDt4PShOPSQubGVuY29kZVtwJigxPDwkLmxlbmJpdHMpLTFdKT4+PjI0LEU9Tj4+PjE2JjI1NSxDPTY1NTM1Jk4sISh4PD1nKTspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9aWYoRSYmKDI0MCZFKT09MCl7Zm9yKEQ9eCxrPUUsQT1DO3g9KE49JC5sZW5jb2RlW0ErKChwJigxPDxEK2spLTEpPj5EKV0pPj4+MjQsRT1OPj4+MTYmMjU1LEM9NjU1MzUmTiwhKEQreDw9Zyk7KXtpZigwPT09XylicmVhayBpbmZfbGVhdmU7Xy0tLHArPWNbdSsrXTw8ZyxnKz04fXA+Pj49RCxnLT1ELCQuYmFjays9RH1pZihwPj4+PXgsZy09eCwkLmJhY2srPXgsJC5sZW5ndGg9QywwPT09RSl7JC5tb2RlPTI2O2JyZWFrfWlmKDMyJkUpeyQuYmFjaz0tMSwkLm1vZGU9MTI7YnJlYWt9aWYoNjQmRSl7dC5tc2c9ImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZSIsJC5tb2RlPTMwO2JyZWFrfSQuZXh0cmE9MTUmRSwkLm1vZGU9MjI7Y2FzZSAyMjppZigkLmV4dHJhKXtmb3IoTD0kLmV4dHJhO2c8TDspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9JC5sZW5ndGgrPXAmKDE8PCQuZXh0cmEpLTEscD4+Pj0kLmV4dHJhLGctPSQuZXh0cmEsJC5iYWNrKz0kLmV4dHJhfSQud2FzPSQubGVuZ3RoLCQubW9kZT0yMztjYXNlIDIzOmZvcig7eD0oTj0kLmRpc3Rjb2RlW3AmKDE8PCQuZGlzdGJpdHMpLTFdKT4+PjI0LEU9Tj4+PjE2JjI1NSxDPTY1NTM1Jk4sISh4PD1nKTspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9aWYoKDI0MCZFKT09MCl7Zm9yKEQ9eCxrPUUsQT1DO3g9KE49JC5kaXN0Y29kZVtBKygocCYoMTw8RCtrKS0xKT4+RCldKT4+PjI0LEU9Tj4+PjE2JjI1NSxDPTY1NTM1Jk4sIShEK3g8PWcpOyl7aWYoMD09PV8pYnJlYWsgaW5mX2xlYXZlO18tLSxwKz1jW3UrK108PGcsZys9OH1wPj4+PUQsZy09RCwkLmJhY2srPUR9aWYocD4+Pj14LGctPXgsJC5iYWNrKz14LDY0JkUpe3QubXNnPSJpbnZhbGlkIGRpc3RhbmNlIGNvZGUiLCQubW9kZT0zMDticmVha30kLm9mZnNldD1DLCQuZXh0cmE9MTUmRSwkLm1vZGU9MjQ7Y2FzZSAyNDppZigkLmV4dHJhKXtmb3IoTD0kLmV4dHJhO2c8TDspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scCs9Y1t1KytdPDxnLGcrPTh9JC5vZmZzZXQrPXAmKDE8PCQuZXh0cmEpLTEscD4+Pj0kLmV4dHJhLGctPSQuZXh0cmEsJC5iYWNrKz0kLmV4dHJhfWlmKCQub2Zmc2V0PiQuZG1heCl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIiwkLm1vZGU9MzA7YnJlYWt9JC5tb2RlPTI1O2Nhc2UgMjU6aWYoMD09PWYpYnJlYWsgaW5mX2xlYXZlO2lmKHY9dy1mLCQub2Zmc2V0PnYpe2lmKCh2PSQub2Zmc2V0LXYpPiQud2hhdmUmJiQuc2FuZSl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIiwkLm1vZGU9MzA7YnJlYWt9dj4kLnduZXh0Pyh2LT0kLnduZXh0LGI9JC53c2l6ZS12KTpiPSQud25leHQtdix2PiQubGVuZ3RoJiYodj0kLmxlbmd0aCkseT0kLndpbmRvd31lbHNlIHk9aCxiPWQtJC5vZmZzZXQsdj0kLmxlbmd0aDt2PmYmJih2PWYpLGYtPXYsJC5sZW5ndGgtPXY7ZG8gaFtkKytdPXlbYisrXTt3aGlsZSgtLXYpOzA9PT0kLmxlbmd0aCYmKCQubW9kZT0yMSk7YnJlYWs7Y2FzZSAyNjppZigwPT09ZilicmVhayBpbmZfbGVhdmU7aFtkKytdPSQubGVuZ3RoLGYtLSwkLm1vZGU9MjE7YnJlYWs7Y2FzZSAyNzppZigkLndyYXApe2Zvcig7ZzwzMjspe2lmKDA9PT1fKWJyZWFrIGluZl9sZWF2ZTtfLS0scHw9Y1t1KytdPDxnLGcrPTh9aWYody09Zix0LnRvdGFsX291dCs9dywkLnRvdGFsKz13LHcmJih0LmFkbGVyPSQuY2hlY2s9JC5mbGFncz91TSgkLmNoZWNrLGgsdyxkLXcpOnVOKCQuY2hlY2ssaCx3LGQtdykpLHc9ZiwoJC5mbGFncz9wOmRyKHApKSE9PSQuY2hlY2spe3QubXNnPSJpbmNvcnJlY3QgZGF0YSBjaGVjayIsJC5tb2RlPTMwO2JyZWFrfXA9MCxnPTB9JC5tb2RlPTI4O2Nhc2UgMjg6aWYoJC53cmFwJiYkLmZsYWdzKXtmb3IoO2c8MzI7KXtpZigwPT09XylicmVhayBpbmZfbGVhdmU7Xy0tLHArPWNbdSsrXTw8ZyxnKz04fWlmKHAhPT0oNDI5NDk2NzI5NSYkLnRvdGFsKSl7dC5tc2c9ImluY29ycmVjdCBsZW5ndGggY2hlY2siLCQubW9kZT0zMDticmVha31wPTAsZz0wfSQubW9kZT0yOTtjYXNlIDI5OlQ9MTticmVhayBpbmZfbGVhdmU7Y2FzZSAzMDpUPS0zO2JyZWFrIGluZl9sZWF2ZTtjYXNlIDMxOnJldHVybiAtNDtkZWZhdWx0OnJldHVybiAtMn1yZXR1cm4gdC5uZXh0X291dD1kLHQuYXZhaWxfb3V0PWYsdC5uZXh0X2luPXUsdC5hdmFpbF9pbj1fLCQuaG9sZD1wLCQuYml0cz1nLCgkLndzaXplfHx3IT09dC5hdmFpbF9vdXQmJiQubW9kZTwzMCYmKCQubW9kZTwyN3x8NCE9PW4pKSYmKHI9dCxpPXQub3V0cHV0LG89dC5uZXh0X291dCxhPXctdC5hdmFpbF9vdXQsbnVsbD09PShsPXIuc3RhdGUpLndpbmRvdyYmKGwud3NpemU9MTw8bC53Yml0cyxsLnduZXh0PTAsbC53aGF2ZT0wLGwud2luZG93PW5ldyB1aShsLndzaXplKSksYT49bC53c2l6ZT8odXIobC53aW5kb3csaSxvLWwud3NpemUsbC53c2l6ZSwwKSxsLnduZXh0PTAsbC53aGF2ZT1sLndzaXplKTooKHM9bC53c2l6ZS1sLnduZXh0KT5hJiYocz1hKSx1cihsLndpbmRvdyxpLG8tYSxzLGwud25leHQpLChhLT1zKT8odXIobC53aW5kb3csaSxvLWEsYSwwKSxsLnduZXh0PWEsbC53aGF2ZT1sLndzaXplKToobC53bmV4dCs9cyxsLnduZXh0PT09bC53c2l6ZSYmKGwud25leHQ9MCksbC53aGF2ZTxsLndzaXplJiYobC53aGF2ZSs9cykpKSksbS09dC5hdmFpbF9pbix3LT10LmF2YWlsX291dCx0LnRvdGFsX2luKz1tLHQudG90YWxfb3V0Kz13LCQudG90YWwrPXcsJC53cmFwJiZ3JiYodC5hZGxlcj0kLmNoZWNrPSQuZmxhZ3M/dU0oJC5jaGVjayxoLHcsdC5uZXh0X291dC13KTp1TigkLmNoZWNrLGgsdyx0Lm5leHRfb3V0LXcpKSx0LmRhdGFfdHlwZT0kLmJpdHMrKCQubGFzdD82NDowKSsoMTI9PT0kLm1vZGU/MTI4OjApKygyMD09PSQubW9kZXx8MTU9PT0kLm1vZGU/MjU2OjApLCgwPT09bSYmMD09PXd8fDQ9PT1uKSYmMD09PVQmJihUPS01KSxUfShsLGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gbW9kZSAiK3RoaXMubW9kZSl9cmV0dXJuIDEhPT1zJiYwIT09cyYmdGhpcy5fZXJyb3IocyksdGhpcy53cml0ZV9pbl9wcm9ncmVzcz0hMSxbbC5hdmFpbF9pbixsLmF2YWlsX291dF19LGQkLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKHRoaXMud3JpdGVfaW5fcHJvZ3Jlc3Mpe3RoaXMucGVuZGluZ19jbG9zZT0hMDtyZXR1cm59aWYodGhpcy5wZW5kaW5nX2Nsb3NlPSExLDE9PT10aGlzLm1vZGV8fDM9PT10aGlzLm1vZGV8fDU9PT10aGlzLm1vZGUpe3ZhciBlLHQ7KGU9dGhpcy5zdHJtKSYmZS5zdGF0ZSYmKDQyIT09KHQ9ZS5zdGF0ZS5zdGF0dXMpJiY2OSE9PXQmJjczIT09dCYmOTEhPT10JiYxMDMhPT10JiYxMTMhPT10JiY2NjYhPT10P3U5KGUsLTIpOihlLnN0YXRlPW51bGwsMTEzPT09dCYmdTkoZSwtMykpKX1lbHNlIWZ1bmN0aW9uIGUodCl7aWYoIXR8fCF0LnN0YXRlKXJldHVybiAtMjt2YXIgbj10LnN0YXRlO3JldHVybiBuLndpbmRvdyYmKG4ud2luZG93PW51bGwpLHQuc3RhdGU9bnVsbCwwfSh0aGlzLnN0cm0pO3RoaXMubW9kZT0wfSxkJC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5tb2RlKXtjYXNlIDE6Y2FzZSA1Oms9dXEodGhpcy5zdHJtKTticmVhaztjYXNlIDI6Y2FzZSA2Oms9ZGEodGhpcy5zdHJtKX0wIT09ayYmdGhpcy5fZXJyb3Ioayl9LGQkLnByb3RvdHlwZS5fZXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5vbmVycm9yKHV0W2VdKyI6ICIrdGhpcy5zdHJtLm1zZyxlKSx0aGlzLndyaXRlX2luX3Byb2dyZXNzPSExLHRoaXMucGVuZGluZ19jbG9zZSYmdGhpcy5jbG9zZSgpfTt2YXIgZGg9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsREVGTEFURToxLERFRkxBVEVSQVc6NSxHVU5aSVA6NCxHWklQOjMsSU5GTEFURToyLElORkxBVEVSQVc6NixOT05FOjAsVU5aSVA6NyxaX0JFU1RfQ09NUFJFU1NJT046OSxaX0JFU1RfU1BFRUQ6MSxaX0JJTkFSWTowLFpfQkxPQ0s6NSxaX0JVRl9FUlJPUjotNSxaX0RBVEFfRVJST1I6LTMsWl9ERUZBVUxUX0NPTVBSRVNTSU9OOi0xLFpfREVGQVVMVF9TVFJBVEVHWTowLFpfREVGTEFURUQ6OCxaX0VSUk5POi0xLFpfRklMVEVSRUQ6MSxaX0ZJTklTSDo0LFpfRklYRUQ6NCxaX0ZVTExfRkxVU0g6MyxaX0hVRkZNQU5fT05MWToyLFpfTkVFRF9ESUNUOjIsWl9OT19DT01QUkVTU0lPTjowLFpfTk9fRkxVU0g6MCxaX09LOjAsWl9QQVJUSUFMX0ZMVVNIOjEsWl9STEU6MyxaX1NUUkVBTV9FTkQ6MSxaX1NUUkVBTV9FUlJPUjotMixaX1NZTkNfRkxVU0g6MixaX1RFWFQ6MSxaX1RSRUVTOjYsWl9VTktOT1dOOjIsWmxpYjpkJH0pLGR1PXt9O09iamVjdC5rZXlzKGRoKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2R1W2VdPWRoW2VdfSksZHUuWl9NSU5fV0lORE9XQklUUz04LGR1LlpfTUFYX1dJTkRPV0JJVFM9MTUsZHUuWl9ERUZBVUxUX1dJTkRPV0JJVFM9MTUsZHUuWl9NSU5fQ0hVTks9NjQsZHUuWl9NQVhfQ0hVTks9MS8wLGR1LlpfREVGQVVMVF9DSFVOSz0xNjM4NCxkdS5aX01JTl9NRU1MRVZFTD0xLGR1LlpfTUFYX01FTUxFVkVMPTksZHUuWl9ERUZBVUxUX01FTUxFVkVMPTgsZHUuWl9NSU5fTEVWRUw9LTEsZHUuWl9NQVhfTEVWRUw9OSxkdS5aX0RFRkFVTFRfTEVWRUw9ZHUuWl9ERUZBVUxUX0NPTVBSRVNTSU9OO3ZhciBkZD17Wl9PSzpkdS5aX09LLFpfU1RSRUFNX0VORDpkdS5aX1NUUkVBTV9FTkQsWl9ORUVEX0RJQ1Q6ZHUuWl9ORUVEX0RJQ1QsWl9FUlJOTzpkdS5aX0VSUk5PLFpfU1RSRUFNX0VSUk9SOmR1LlpfU1RSRUFNX0VSUk9SLFpfREFUQV9FUlJPUjpkdS5aX0RBVEFfRVJST1IsWl9NRU1fRVJST1I6ZHUuWl9NRU1fRVJST1IsWl9CVUZfRVJST1I6ZHUuWl9CVUZfRVJST1IsWl9WRVJTSU9OX0VSUk9SOmR1LlpfVkVSU0lPTl9FUlJPUn07ZnVuY3Rpb24gZF8oZSl7cmV0dXJuIG5ldyBkQShlKX1mdW5jdGlvbiBkZihlKXtyZXR1cm4gbmV3IGRJKGUpfWZ1bmN0aW9uIGRwKGUpe3JldHVybiBuZXcgZEwoZSl9ZnVuY3Rpb24gZDEoZSl7cmV0dXJuIG5ldyBkTihlKX1mdW5jdGlvbiBkMChlKXtyZXR1cm4gbmV3IGRUKGUpfWZ1bmN0aW9uIGRnKGUpe3JldHVybiBuZXcgZFMoZSl9ZnVuY3Rpb24gZG0oZSl7cmV0dXJuIG5ldyBkTyhlKX1mdW5jdGlvbiBkMyhlLHQsbil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJihuPXQsdD17fSksZEQobmV3IGRBKHQpLGUsbil9ZnVuY3Rpb24gZHcoZSx0KXtyZXR1cm4gZGsobmV3IGRBKHQpLGUpfWZ1bmN0aW9uIGR2KGUsdCxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmKG49dCx0PXt9KSxkRChuZXcgZFQodCksZSxuKX1mdW5jdGlvbiBkMihlLHQpe3JldHVybiBkayhuZXcgZFQodCksZSl9ZnVuY3Rpb24gZDQoZSx0LG4pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiYobj10LHQ9e30pLGREKG5ldyBkTCh0KSxlLG4pfWZ1bmN0aW9uIGRiKGUsdCl7cmV0dXJuIGRrKG5ldyBkTCh0KSxlKX1mdW5jdGlvbiBkOChlLHQsbil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJihuPXQsdD17fSksZEQobmV3IGRPKHQpLGUsbil9ZnVuY3Rpb24gZDYoZSx0KXtyZXR1cm4gZGsobmV3IGRPKHQpLGUpfWZ1bmN0aW9uIGR5KGUsdCxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmKG49dCx0PXt9KSxkRChuZXcgZEkodCksZSxuKX1mdW5jdGlvbiBkNShlLHQpe3JldHVybiBkayhuZXcgZEkodCksZSl9ZnVuY3Rpb24gZHgoZSx0LG4pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiYobj10LHQ9e30pLGREKG5ldyBkUyh0KSxlLG4pfWZ1bmN0aW9uIGQ3KGUsdCl7cmV0dXJuIGRrKG5ldyBkUyh0KSxlKX1mdW5jdGlvbiBkRShlLHQsbil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJihuPXQsdD17fSksZEQobmV3IGROKHQpLGUsbil9ZnVuY3Rpb24gZEMoZSx0KXtyZXR1cm4gZGsobmV3IGROKHQpLGUpfWZ1bmN0aW9uIGREKGUsdCxuKXt2YXIgcj1bXSxpPTA7ZnVuY3Rpb24gbygpe2Zvcih2YXIgdDtudWxsIT09KHQ9ZS5yZWFkKCkpOylyLnB1c2godCksaSs9dC5sZW5ndGg7ZS5vbmNlKCJyZWFkYWJsZSIsbyl9ZnVuY3Rpb24gYSgpe3ZhciB0PWU4LmNvbmNhdChyLGkpO3I9W10sbihudWxsLHQpLGUuY2xvc2UoKX1lLm9uKCJlcnJvciIsZnVuY3Rpb24gdChyKXtlLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGEpLGUucmVtb3ZlTGlzdGVuZXIoInJlYWRhYmxlIixvKSxuKHIpfSksZS5vbigiZW5kIixhKSxlLmVuZCh0KSxvKCl9ZnVuY3Rpb24gZGsoZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PW5ldyBlOCh0KSksIWU4LmlzQnVmZmVyKHQpKXRocm93IFR5cGVFcnJvcigiTm90IGEgc3RyaW5nIG9yIGJ1ZmZlciIpO3ZhciBuPWR1LlpfRklOSVNIO3JldHVybiBlLl9wcm9jZXNzQ2h1bmsodCxuKX1mdW5jdGlvbiBkQShlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBkQSkpcmV0dXJuIG5ldyBkQShlKTtkTS5jYWxsKHRoaXMsZSxkdS5ERUZMQVRFKX1mdW5jdGlvbiBkSShlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBkSSkpcmV0dXJuIG5ldyBkSShlKTtkTS5jYWxsKHRoaXMsZSxkdS5JTkZMQVRFKX1mdW5jdGlvbiBkVChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBkVCkpcmV0dXJuIG5ldyBkVChlKTtkTS5jYWxsKHRoaXMsZSxkdS5HWklQKX1mdW5jdGlvbiBkUyhlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBkUykpcmV0dXJuIG5ldyBkUyhlKTtkTS5jYWxsKHRoaXMsZSxkdS5HVU5aSVApfWZ1bmN0aW9uIGRMKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGRMKSlyZXR1cm4gbmV3IGRMKGUpO2RNLmNhbGwodGhpcyxlLGR1LkRFRkxBVEVSQVcpfWZ1bmN0aW9uIGROKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGROKSlyZXR1cm4gbmV3IGROKGUpO2RNLmNhbGwodGhpcyxlLGR1LklORkxBVEVSQVcpfWZ1bmN0aW9uIGRPKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGRPKSlyZXR1cm4gbmV3IGRPKGUpO2RNLmNhbGwodGhpcyxlLGR1LlVOWklQKX1mdW5jdGlvbiBkTShlLHQpe2lmKHRoaXMuX29wdHM9ZT1lfHx7fSx0aGlzLl9jaHVua1NpemU9ZS5jaHVua1NpemV8fGR1LlpfREVGQVVMVF9DSFVOSyxoRy5jYWxsKHRoaXMsZSksZS5mbHVzaCYmZS5mbHVzaCE9PWR1LlpfTk9fRkxVU0gmJmUuZmx1c2ghPT1kdS5aX1BBUlRJQUxfRkxVU0gmJmUuZmx1c2ghPT1kdS5aX1NZTkNfRkxVU0gmJmUuZmx1c2ghPT1kdS5aX0ZVTExfRkxVU0gmJmUuZmx1c2ghPT1kdS5aX0ZJTklTSCYmZS5mbHVzaCE9PWR1LlpfQkxPQ0spdGhyb3cgRXJyb3IoIkludmFsaWQgZmx1c2ggZmxhZzogIitlLmZsdXNoKTtpZih0aGlzLl9mbHVzaEZsYWc9ZS5mbHVzaHx8ZHUuWl9OT19GTFVTSCxlLmNodW5rU2l6ZSYmKGUuY2h1bmtTaXplPGR1LlpfTUlOX0NIVU5LfHxlLmNodW5rU2l6ZT5kdS5aX01BWF9DSFVOSykpdGhyb3cgRXJyb3IoIkludmFsaWQgY2h1bmsgc2l6ZTogIitlLmNodW5rU2l6ZSk7aWYoZS53aW5kb3dCaXRzJiYoZS53aW5kb3dCaXRzPGR1LlpfTUlOX1dJTkRPV0JJVFN8fGUud2luZG93Qml0cz5kdS5aX01BWF9XSU5ET1dCSVRTKSl0aHJvdyBFcnJvcigiSW52YWxpZCB3aW5kb3dCaXRzOiAiK2Uud2luZG93Qml0cyk7aWYoZS5sZXZlbCYmKGUubGV2ZWw8ZHUuWl9NSU5fTEVWRUx8fGUubGV2ZWw+ZHUuWl9NQVhfTEVWRUwpKXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXByZXNzaW9uIGxldmVsOiAiK2UubGV2ZWwpO2lmKGUubWVtTGV2ZWwmJihlLm1lbUxldmVsPGR1LlpfTUlOX01FTUxFVkVMfHxlLm1lbUxldmVsPmR1LlpfTUFYX01FTUxFVkVMKSl0aHJvdyBFcnJvcigiSW52YWxpZCBtZW1MZXZlbDogIitlLm1lbUxldmVsKTtpZihlLnN0cmF0ZWd5JiZlLnN0cmF0ZWd5IT1kdS5aX0ZJTFRFUkVEJiZlLnN0cmF0ZWd5IT1kdS5aX0hVRkZNQU5fT05MWSYmZS5zdHJhdGVneSE9ZHUuWl9STEUmJmUuc3RyYXRlZ3khPWR1LlpfRklYRUQmJmUuc3RyYXRlZ3khPWR1LlpfREVGQVVMVF9TVFJBVEVHWSl0aHJvdyBFcnJvcigiSW52YWxpZCBzdHJhdGVneTogIitlLnN0cmF0ZWd5KTtpZihlLmRpY3Rpb25hcnkmJiFlOC5pc0J1ZmZlcihlLmRpY3Rpb25hcnkpKXRocm93IEVycm9yKCJJbnZhbGlkIGRpY3Rpb25hcnk6IGl0IHNob3VsZCBiZSBhIEJ1ZmZlciBpbnN0YW5jZSIpO3RoaXMuX2JpbmRpbmc9bmV3IGR1LlpsaWIodCk7dmFyIG49dGhpczt0aGlzLl9oYWRFcnJvcj0hMSx0aGlzLl9iaW5kaW5nLm9uZXJyb3I9ZnVuY3Rpb24oZSx0KXtuLl9iaW5kaW5nPW51bGwsbi5faGFkRXJyb3I9ITA7dmFyIHI9RXJyb3IoZSk7ci5lcnJubz10LHIuY29kZT1kdS5jb2Rlc1t0XSxuLmVtaXQoImVycm9yIixyKX07dmFyIHI9ZHUuWl9ERUZBVUxUX0NPTVBSRVNTSU9OOyJudW1iZXIiPT10eXBlb2YgZS5sZXZlbCYmKHI9ZS5sZXZlbCk7dmFyIGk9ZHUuWl9ERUZBVUxUX1NUUkFURUdZOyJudW1iZXIiPT10eXBlb2YgZS5zdHJhdGVneSYmKGk9ZS5zdHJhdGVneSksdGhpcy5fYmluZGluZy5pbml0KGUud2luZG93Qml0c3x8ZHUuWl9ERUZBVUxUX1dJTkRPV0JJVFMscixlLm1lbUxldmVsfHxkdS5aX0RFRkFVTFRfTUVNTEVWRUwsaSxlLmRpY3Rpb25hcnkpLHRoaXMuX2J1ZmZlcj1uZXcgZTgodGhpcy5fY2h1bmtTaXplKSx0aGlzLl9vZmZzZXQ9MCx0aGlzLl9jbG9zZWQ9ITEsdGhpcy5fbGV2ZWw9cix0aGlzLl9zdHJhdGVneT1pLHRoaXMub25jZSgiZW5kIix0aGlzLmNsb3NlKX1PYmplY3Qua2V5cyhkZCkuZm9yRWFjaChmdW5jdGlvbihlKXtkZFtkZFtlXV09ZX0pLGNTKGRNLGhHKSxkTS5wcm90b3R5cGUucGFyYW1zPWZ1bmN0aW9uKGUsdCxuKXtpZihlPGR1LlpfTUlOX0xFVkVMfHxlPmR1LlpfTUFYX0xFVkVMKXRocm93IFJhbmdlRXJyb3IoIkludmFsaWQgY29tcHJlc3Npb24gbGV2ZWw6ICIrZSk7aWYodCE9ZHUuWl9GSUxURVJFRCYmdCE9ZHUuWl9IVUZGTUFOX09OTFkmJnQhPWR1LlpfUkxFJiZ0IT1kdS5aX0ZJWEVEJiZ0IT1kdS5aX0RFRkFVTFRfU1RSQVRFR1kpdGhyb3cgVHlwZUVycm9yKCJJbnZhbGlkIHN0cmF0ZWd5OiAiK3QpO2lmKHRoaXMuX2xldmVsIT09ZXx8dGhpcy5fc3RyYXRlZ3khPT10KXt2YXIgcj10aGlzO3RoaXMuZmx1c2goZHUuWl9TWU5DX0ZMVVNILGZ1bmN0aW9uKCl7ci5fYmluZGluZy5wYXJhbXMoZSx0KSwhci5faGFkRXJyb3ImJihyLl9sZXZlbD1lLHIuX3N0cmF0ZWd5PXQsbiYmbigpKX0pfWVsc2UgY1QubmV4dFRpY2sobil9LGRNLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaW5kaW5nLnJlc2V0KCl9LGRNLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24oZSl7dGhpcy5fdHJhbnNmb3JtKG5ldyBlOCgwKSwiIixlKX0sZE0ucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fd3JpdGFibGVTdGF0ZTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSYmKHZvaWQgMCE9PWV8fHQpfHwodD1lLGU9ZHUuWl9GVUxMX0ZMVVNIKSxuLmVuZGVkKXQmJmNULm5leHRUaWNrKHQpO2Vsc2UgaWYobi5lbmRpbmcpdCYmdGhpcy5vbmNlKCJlbmQiLHQpO2Vsc2UgaWYobi5uZWVkRHJhaW4pe3ZhciByPXRoaXM7dGhpcy5vbmNlKCJkcmFpbiIsZnVuY3Rpb24oKXtyLmZsdXNoKHQpfSl9ZWxzZSB0aGlzLl9mbHVzaEZsYWc9ZSx0aGlzLndyaXRlKG5ldyBlOCgwKSwiIix0KX0sZE0ucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGUpe2lmKGUmJmNULm5leHRUaWNrKGUpLCF0aGlzLl9jbG9zZWQpe3RoaXMuX2Nsb3NlZD0hMCx0aGlzLl9iaW5kaW5nLmNsb3NlKCk7dmFyIHQ9dGhpcztjVC5uZXh0VGljayhmdW5jdGlvbigpe3QuZW1pdCgiY2xvc2UiKX0pfX0sZE0ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz10aGlzLl93cml0YWJsZVN0YXRlOyhvLmVuZGluZ3x8by5lbmRlZCkmJighZXx8by5sZW5ndGg9PT1lLmxlbmd0aCk/cj1kdS5aX0ZJTklTSDoocj10aGlzLl9mbHVzaEZsYWcsZS5sZW5ndGg+PW8ubGVuZ3RoJiYodGhpcy5fZmx1c2hGbGFnPXRoaXMuX29wdHMuZmx1c2h8fGR1LlpfTk9fRkxVU0gpKSx0aGlzLl9wcm9jZXNzQ2h1bmsoZSxyLG4pfSxkTS5wcm90b3R5cGUuX3Byb2Nlc3NDaHVuaz1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZSYmZS5sZW5ndGgsaT10aGlzLl9jaHVua1NpemUtdGhpcy5fb2Zmc2V0LG89MCxhPXRoaXMscz0iZnVuY3Rpb24iPT10eXBlb2YgbjtpZighcyl7dmFyIGwsJD1bXSxjPTA7dGhpcy5vbigiZXJyb3IiLGZ1bmN0aW9uKGUpe2w9ZX0pO2RvIHZhciBoPXRoaXMuX2JpbmRpbmcud3JpdGVTeW5jKHQsZSxvLHIsdGhpcy5fYnVmZmVyLHRoaXMuX29mZnNldCxpKTt3aGlsZSghdGhpcy5faGFkRXJyb3ImJl8oaFswXSxoWzFdKSk7aWYodGhpcy5faGFkRXJyb3IpdGhyb3cgbDt2YXIgdT1lOC5jb25jYXQoJCxjKTtyZXR1cm4gdGhpcy5jbG9zZSgpLHV9dmFyIGQ9dGhpcy5fYmluZGluZy53cml0ZSh0LGUsbyxyLHRoaXMuX2J1ZmZlcix0aGlzLl9vZmZzZXQsaSk7ZnVuY3Rpb24gXyhsLGgpe2lmKCFhLl9oYWRFcnJvcil7dmFyIHU9aS1oO2lmKGZ1bmN0aW9uIGUodCxuKXtpZighdCl0aHJvdyBFcnJvcihuKX0odT49MCwiaGF2ZSBzaG91bGQgbm90IGdvIGRvd24iKSx1PjApe3ZhciBkPWEuX2J1ZmZlci5zbGljZShhLl9vZmZzZXQsYS5fb2Zmc2V0K3UpO2EuX29mZnNldCs9dSxzP2EucHVzaChkKTooJC5wdXNoKGQpLGMrPWQubGVuZ3RoKX1pZigoMD09PWh8fGEuX29mZnNldD49YS5fY2h1bmtTaXplKSYmKGk9YS5fY2h1bmtTaXplLGEuX29mZnNldD0wLGEuX2J1ZmZlcj1uZXcgZTgoYS5fY2h1bmtTaXplKSksMD09PWgpe2lmKG8rPXItbCxyPWwsIXMpcmV0dXJuITA7dmFyIGY9YS5fYmluZGluZy53cml0ZSh0LGUsbyxyLGEuX2J1ZmZlcixhLl9vZmZzZXQsYS5fY2h1bmtTaXplKTtyZXR1cm4gZi5jYWxsYmFjaz1fLHZvaWQoZi5idWZmZXI9ZSl9aWYoIXMpcmV0dXJuITE7bigpfX1kLmJ1ZmZlcj1lLGQuY2FsbGJhY2s9X30sY1MoZEEsZE0pLGNTKGRJLGRNKSxjUyhkVCxkTSksY1MoZFMsZE0pLGNTKGRMLGRNKSxjUyhkTixkTSksY1MoZE8sZE0pO3ZhciBkUD17Y29kZXM6ZGQsY3JlYXRlRGVmbGF0ZTpkXyxjcmVhdGVJbmZsYXRlOmRmLGNyZWF0ZURlZmxhdGVSYXc6ZHAsY3JlYXRlSW5mbGF0ZVJhdzpkMSxjcmVhdGVHemlwOmQwLGNyZWF0ZUd1bnppcDpkZyxjcmVhdGVVbnppcDpkbSxkZWZsYXRlOmQzLGRlZmxhdGVTeW5jOmR3LGd6aXA6ZHYsZ3ppcFN5bmM6ZDIsZGVmbGF0ZVJhdzpkNCxkZWZsYXRlUmF3U3luYzpkYix1bnppcDpkOCx1bnppcFN5bmM6ZDYsaW5mbGF0ZTpkeSxpbmZsYXRlU3luYzpkNSxndW56aXA6ZHgsZ3VuemlwU3luYzpkNyxpbmZsYXRlUmF3OmRFLGluZmxhdGVSYXdTeW5jOmRDLERlZmxhdGU6ZEEsSW5mbGF0ZTpkSSxHemlwOmRULEd1bnppcDpkUyxEZWZsYXRlUmF3OmRMLEluZmxhdGVSYXc6ZE4sVW56aXA6ZE8sWmxpYjpkTX0sZDk9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsRGVmbGF0ZTpkQSxEZWZsYXRlUmF3OmRMLEd1bnppcDpkUyxHemlwOmRULEluZmxhdGU6ZEksSW5mbGF0ZVJhdzpkTixVbnppcDpkTyxabGliOmRNLGNvZGVzOmRkLGNyZWF0ZURlZmxhdGU6ZF8sY3JlYXRlRGVmbGF0ZVJhdzpkcCxjcmVhdGVHdW56aXA6ZGcsY3JlYXRlR3ppcDpkMCxjcmVhdGVJbmZsYXRlOmRmLGNyZWF0ZUluZmxhdGVSYXc6ZDEsY3JlYXRlVW56aXA6ZG0sZGVmYXVsdDpkUCxkZWZsYXRlOmQzLGRlZmxhdGVSYXc6ZDQsZGVmbGF0ZVJhd1N5bmM6ZGIsZGVmbGF0ZVN5bmM6ZHcsZ3VuemlwOmR4LGd1bnppcFN5bmM6ZDcsZ3ppcDpkdixnemlwU3luYzpkMixpbmZsYXRlOmR5LGluZmxhdGVSYXc6ZEUsaW5mbGF0ZVJhd1N5bmM6ZEMsaW5mbGF0ZVN5bmM6ZDUsdW56aXA6ZDgsdW56aXBTeW5jOmQ2fSksZFI9TyhkOSksZFU9e2V4cG9ydHM6e319O2xldCBkQj1oaCxkVz1oSixkRj1kVS5leHBvcnRzPWZ1bmN0aW9uKCl7ZFcuY2FsbCh0aGlzKSx0aGlzLl9idWZmZXJzPVtdLHRoaXMuX2J1ZmZlcmVkPTAsdGhpcy5fcmVhZHM9W10sdGhpcy5fcGF1c2VkPSExLHRoaXMuX2VuY29kaW5nPSJ1dGY4Iix0aGlzLndyaXRhYmxlPSEwfTtkQi5pbmhlcml0cyhkRixkVyksZEYucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZSx0KXt0aGlzLl9yZWFkcy5wdXNoKHtsZW5ndGg6TWF0aC5hYnMoZSksYWxsb3dMZXNzOmU8MCxmdW5jOnR9KSxwcm9jZXNzLm5leHRUaWNrKChmdW5jdGlvbigpe3RoaXMuX3Byb2Nlc3MoKSx0aGlzLl9wYXVzZWQmJnRoaXMuX3JlYWRzJiZ0aGlzLl9yZWFkcy5sZW5ndGg+MCYmKHRoaXMuX3BhdXNlZD0hMSx0aGlzLmVtaXQoImRyYWluIikpfSkuYmluZCh0aGlzKSl9LGRGLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQpe2lmKCF0aGlzLndyaXRhYmxlKXJldHVybiB0aGlzLmVtaXQoImVycm9yIixFcnJvcigiU3RyZWFtIG5vdCB3cml0YWJsZSIpKSwhMTtsZXQgbjtyZXR1cm4gbj1CdWZmZXIuaXNCdWZmZXIoZSk/ZTpCdWZmZXIuZnJvbShlLHR8fHRoaXMuX2VuY29kaW5nKSx0aGlzLl9idWZmZXJzLnB1c2gobiksdGhpcy5fYnVmZmVyZWQrPW4ubGVuZ3RoLHRoaXMuX3Byb2Nlc3MoKSx0aGlzLl9yZWFkcyYmMD09PXRoaXMuX3JlYWRzLmxlbmd0aCYmKHRoaXMuX3BhdXNlZD0hMCksdGhpcy53cml0YWJsZSYmIXRoaXMuX3BhdXNlZH0sZEYucHJvdG90eXBlLmVuZD1mdW5jdGlvbihlLHQpe2UmJnRoaXMud3JpdGUoZSx0KSx0aGlzLndyaXRhYmxlPSExLHRoaXMuX2J1ZmZlcnMmJigwPT09dGhpcy5fYnVmZmVycy5sZW5ndGg/dGhpcy5fZW5kKCk6KHRoaXMuX2J1ZmZlcnMucHVzaChudWxsKSx0aGlzLl9wcm9jZXNzKCkpKX0sZEYucHJvdG90eXBlLmRlc3Ryb3lTb29uPWRGLnByb3RvdHlwZS5lbmQsZEYucHJvdG90eXBlLl9lbmQ9ZnVuY3Rpb24oKXt0aGlzLl9yZWFkcy5sZW5ndGg+MCYmdGhpcy5lbWl0KCJlcnJvciIsRXJyb3IoIlVuZXhwZWN0ZWQgZW5kIG9mIGlucHV0IikpLHRoaXMuZGVzdHJveSgpfSxkRi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuX2J1ZmZlcnMmJih0aGlzLndyaXRhYmxlPSExLHRoaXMuX3JlYWRzPW51bGwsdGhpcy5fYnVmZmVycz1udWxsLHRoaXMuZW1pdCgiY2xvc2UiKSl9LGRGLnByb3RvdHlwZS5fcHJvY2Vzc1JlYWRBbGxvd2luZ0xlc3M9ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZHMuc2hpZnQoKTtsZXQgdD10aGlzLl9idWZmZXJzWzBdO3QubGVuZ3RoPmUubGVuZ3RoPyh0aGlzLl9idWZmZXJlZC09ZS5sZW5ndGgsdGhpcy5fYnVmZmVyc1swXT10LnNsaWNlKGUubGVuZ3RoKSxlLmZ1bmMuY2FsbCh0aGlzLHQuc2xpY2UoMCxlLmxlbmd0aCkpKToodGhpcy5fYnVmZmVyZWQtPXQubGVuZ3RoLHRoaXMuX2J1ZmZlcnMuc2hpZnQoKSxlLmZ1bmMuY2FsbCh0aGlzLHQpKX0sZEYucHJvdG90eXBlLl9wcm9jZXNzUmVhZD1mdW5jdGlvbihlKXt0aGlzLl9yZWFkcy5zaGlmdCgpO2xldCB0PTAsbj0wLHI9QnVmZmVyLmFsbG9jKGUubGVuZ3RoKTtmb3IoO3Q8ZS5sZW5ndGg7KXtsZXQgaT10aGlzLl9idWZmZXJzW24rK10sbz1NYXRoLm1pbihpLmxlbmd0aCxlLmxlbmd0aC10KTtpLmNvcHkocix0LDAsbyksdCs9byxvIT09aS5sZW5ndGgmJih0aGlzLl9idWZmZXJzWy0tbl09aS5zbGljZShvKSl9bj4wJiZ0aGlzLl9idWZmZXJzLnNwbGljZSgwLG4pLHRoaXMuX2J1ZmZlcmVkLT1lLmxlbmd0aCxlLmZ1bmMuY2FsbCh0aGlzLHIpfSxkRi5wcm90b3R5cGUuX3Byb2Nlc3M9ZnVuY3Rpb24oKXt0cnl7Zm9yKDt0aGlzLl9idWZmZXJlZD4wJiZ0aGlzLl9yZWFkcyYmdGhpcy5fcmVhZHMubGVuZ3RoPjA7KXtsZXQgZT10aGlzLl9yZWFkc1swXTtpZihlLmFsbG93TGVzcyl0aGlzLl9wcm9jZXNzUmVhZEFsbG93aW5nTGVzcyhlKTtlbHNlIGlmKHRoaXMuX2J1ZmZlcmVkPj1lLmxlbmd0aCl0aGlzLl9wcm9jZXNzUmVhZChlKTtlbHNlIGJyZWFrfXRoaXMuX2J1ZmZlcnMmJiF0aGlzLndyaXRhYmxlJiZ0aGlzLl9lbmQoKX1jYXRjaCh0KXt0aGlzLmVtaXQoImVycm9yIix0KX19O3ZhciBkej1kVS5leHBvcnRzLGRIPXtleHBvcnRzOnt9fSxkaj17ZXhwb3J0czp7fX0sZFo9e307bGV0IGRZPVt7eDpbMF0seTpbMF19LHt4Ols0XSx5OlswXX0se3g6WzAsNF0seTpbNF19LHt4OlsyLDZdLHk6WzAsNF19LHt4OlswLDIsNCw2XSx5OlsyLDZdfSx7eDpbMSwzLDUsN10seTpbMCwyLDQsNl19LHt4OlswLDEsMiwzLDQsNSw2LDddLHk6WzEsMyw1LDddfSxdO2RaLmdldEltYWdlUGFzc2VzPWZ1bmN0aW9uKGUsdCl7bGV0IG49W10scj1lJTgsaT10JTgsbz0oZS1yKS84LGE9KHQtaSkvODtmb3IobGV0IHM9MDtzPGRZLmxlbmd0aDtzKyspe2xldCBsPWRZW3NdLCQ9bypsLngubGVuZ3RoLGM9YSpsLnkubGVuZ3RoO2ZvcihsZXQgaD0wO2g8bC54Lmxlbmd0aDtoKyspaWYobC54W2hdPHIpJCsrO2Vsc2UgYnJlYWs7Zm9yKGxldCB1PTA7dTxsLnkubGVuZ3RoO3UrKylpZihsLnlbdV08aSljKys7ZWxzZSBicmVhazskPjAmJmM+MCYmbi5wdXNoKHt3aWR0aDokLGhlaWdodDpjLGluZGV4OnN9KX1yZXR1cm4gbn0sZFouZ2V0SW50ZXJsYWNlSXRlcmF0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbixyKXtsZXQgaT10JWRZW3JdLngubGVuZ3RoLG89KHQtaSkvZFlbcl0ueC5sZW5ndGgqOCtkWVtyXS54W2ldLGE9biVkWVtyXS55Lmxlbmd0aDtyZXR1cm4gNCpvKygobi1hKS9kWVtyXS55Lmxlbmd0aCo4K2RZW3JdLnlbYV0pKmUqNH19O3ZhciBkVj1mdW5jdGlvbiBlKHQsbixyKXtsZXQgaT10K24tcixvPU1hdGguYWJzKGktdCksYT1NYXRoLmFicyhpLW4pLHM9TWF0aC5hYnMoaS1yKTtyZXR1cm4gbzw9YSYmbzw9cz90OmE8PXM/bjpyfTtsZXQgZEc9ZFosZEs9ZFY7ZnVuY3Rpb24gZHEoZSx0LG4pe2xldCByPWUqdDtyZXR1cm4gOCE9PW4mJihyPU1hdGguY2VpbChyLyg4L24pKSkscn1sZXQgZFE9ZGouZXhwb3J0cz1mdW5jdGlvbihlLHQpe2xldCBuPWUud2lkdGgscj1lLmhlaWdodCxpPWUuaW50ZXJsYWNlLG89ZS5icHAsYT1lLmRlcHRoO2lmKHRoaXMucmVhZD10LnJlYWQsdGhpcy53cml0ZT10LndyaXRlLHRoaXMuY29tcGxldGU9dC5jb21wbGV0ZSx0aGlzLl9pbWFnZUluZGV4PTAsdGhpcy5faW1hZ2VzPVtdLGkpe2xldCBzPWRHLmdldEltYWdlUGFzc2VzKG4scik7Zm9yKGxldCBsPTA7bDxzLmxlbmd0aDtsKyspdGhpcy5faW1hZ2VzLnB1c2goe2J5dGVXaWR0aDpkcShzW2xdLndpZHRoLG8sYSksaGVpZ2h0OnNbbF0uaGVpZ2h0LGxpbmVJbmRleDowfSl9ZWxzZSB0aGlzLl9pbWFnZXMucHVzaCh7Ynl0ZVdpZHRoOmRxKG4sbyxhKSxoZWlnaHQ6cixsaW5lSW5kZXg6MH0pOzg9PT1hP3RoaXMuX3hDb21wYXJpc29uPW86MTY9PT1hP3RoaXMuX3hDb21wYXJpc29uPTIqbzp0aGlzLl94Q29tcGFyaXNvbj0xfTtkUS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlYWQodGhpcy5faW1hZ2VzW3RoaXMuX2ltYWdlSW5kZXhdLmJ5dGVXaWR0aCsxLHRoaXMuX3JldmVyc2VGaWx0ZXJMaW5lLmJpbmQodGhpcykpfSxkUS5wcm90b3R5cGUuX3VuRmlsdGVyVHlwZTE9ZnVuY3Rpb24oZSx0LG4pe2xldCByPXRoaXMuX3hDb21wYXJpc29uLGk9ci0xO2ZvcihsZXQgbz0wO288bjtvKyspe2xldCBhPWVbMStvXSxzPW8+aT90W28tcl06MDt0W29dPWErc319LGRRLnByb3RvdHlwZS5fdW5GaWx0ZXJUeXBlMj1mdW5jdGlvbihlLHQsbil7bGV0IHI9dGhpcy5fbGFzdExpbmU7Zm9yKGxldCBpPTA7aTxuO2krKyl7bGV0IG89ZVsxK2ldLGE9cj9yW2ldOjA7dFtpXT1vK2F9fSxkUS5wcm90b3R5cGUuX3VuRmlsdGVyVHlwZTM9ZnVuY3Rpb24oZSx0LG4pe2xldCByPXRoaXMuX3hDb21wYXJpc29uLGk9ci0xLG89dGhpcy5fbGFzdExpbmU7Zm9yKGxldCBhPTA7YTxuO2ErKyl7bGV0IHM9ZVsxK2FdLGw9bz9vW2FdOjAsJD1NYXRoLmZsb29yKCgoYT5pP3RbYS1yXTowKStsKS8yKTt0W2FdPXMrJH19LGRRLnByb3RvdHlwZS5fdW5GaWx0ZXJUeXBlND1mdW5jdGlvbihlLHQsbil7bGV0IHI9dGhpcy5feENvbXBhcmlzb24saT1yLTEsbz10aGlzLl9sYXN0TGluZTtmb3IobGV0IGE9MDthPG47YSsrKXtsZXQgcz1lWzErYV0sbD1vP29bYV06MCwkPWE+aT90W2Etcl06MCxjPWE+aSYmbz9vW2Etcl06MCxoPWRLKCQsbCxjKTt0W2FdPXMraH19LGRRLnByb3RvdHlwZS5fcmV2ZXJzZUZpbHRlckxpbmU9ZnVuY3Rpb24oZSl7bGV0IHQ9ZVswXSxuLHI9dGhpcy5faW1hZ2VzW3RoaXMuX2ltYWdlSW5kZXhdLGk9ci5ieXRlV2lkdGg7aWYoMD09PXQpbj1lLnNsaWNlKDEsaSsxKTtlbHNlIHN3aXRjaChuPUJ1ZmZlci5hbGxvYyhpKSx0KXtjYXNlIDE6dGhpcy5fdW5GaWx0ZXJUeXBlMShlLG4saSk7YnJlYWs7Y2FzZSAyOnRoaXMuX3VuRmlsdGVyVHlwZTIoZSxuLGkpO2JyZWFrO2Nhc2UgMzp0aGlzLl91bkZpbHRlclR5cGUzKGUsbixpKTticmVhaztjYXNlIDQ6dGhpcy5fdW5GaWx0ZXJUeXBlNChlLG4saSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5yZWNvZ25pc2VkIGZpbHRlciB0eXBlIC0gIit0KX10aGlzLndyaXRlKG4pLHIubGluZUluZGV4Kyssci5saW5lSW5kZXg+PXIuaGVpZ2h0Pyh0aGlzLl9sYXN0TGluZT1udWxsLHRoaXMuX2ltYWdlSW5kZXgrKyxyPXRoaXMuX2ltYWdlc1t0aGlzLl9pbWFnZUluZGV4XSk6dGhpcy5fbGFzdExpbmU9bixyP3RoaXMucmVhZChyLmJ5dGVXaWR0aCsxLHRoaXMuX3JldmVyc2VGaWx0ZXJMaW5lLmJpbmQodGhpcykpOih0aGlzLl9sYXN0TGluZT1udWxsLHRoaXMuY29tcGxldGUoKSl9O3ZhciBkWD1kai5leHBvcnRzO2xldCBkSj1oaCxfZT1keixfdD1kWCxfbj1kSC5leHBvcnRzPWZ1bmN0aW9uKGUpe19lLmNhbGwodGhpcyk7bGV0IHQ9W10sbj10aGlzO3RoaXMuX2ZpbHRlcj1uZXcgX3QoZSx7cmVhZDp0aGlzLnJlYWQuYmluZCh0aGlzKSx3cml0ZTpmdW5jdGlvbihlKXt0LnB1c2goZSl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7bi5lbWl0KCJjb21wbGV0ZSIsQnVmZmVyLmNvbmNhdCh0KSl9fSksdGhpcy5fZmlsdGVyLnN0YXJ0KCl9O2RKLmluaGVyaXRzKF9uLF9lKTt2YXIgX3I9ZEguZXhwb3J0cyxfaT17ZXhwb3J0czp7fX0sX289e1BOR19TSUdOQVRVUkU6WzEzNyw4MCw3OCw3MSwxMywxMCwyNiwxMF0sVFlQRV9JSERSOjEyMjk0NzI4NTAsVFlQRV9JRU5EOjEyMjkyNzg3ODgsVFlQRV9JREFUOjEyMjkyMDk5NDAsVFlQRV9QTFRFOjEzNDcxNzk1ODksVFlQRV90Uk5TOjE5NTE1NTEwNTksVFlQRV9nQU1BOjE3MzIzMzI4NjUsQ09MT1JUWVBFX0dSQVlTQ0FMRTowLENPTE9SVFlQRV9QQUxFVFRFOjEsQ09MT1JUWVBFX0NPTE9SOjIsQ09MT1JUWVBFX0FMUEhBOjQsQ09MT1JUWVBFX1BBTEVUVEVfQ09MT1I6MyxDT0xPUlRZUEVfQ09MT1JfQUxQSEE6NixDT0xPUlRZUEVfVE9fQlBQX01BUDp7MDoxLDI6MywzOjEsNDoyLDY6NH0sR0FNTUFfRElWSVNJT046MWU1fSxfYT17ZXhwb3J0czp7fX07bGV0IF9zPVtdOyFmdW5jdGlvbigpe2ZvcihsZXQgZT0wO2U8MjU2O2UrKyl7bGV0IHQ9ZTtmb3IobGV0IG49MDtuPDg7bisrKTEmdD90PTM5ODgyOTIzODRedD4+PjE6dD4+Pj0xO19zW2VdPXR9fSgpO2xldCBfbD1fYS5leHBvcnRzPWZ1bmN0aW9uKCl7dGhpcy5fY3JjPS0xfTtfbC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspdGhpcy5fY3JjPV9zWyh0aGlzLl9jcmNeZVt0XSkmMjU1XV50aGlzLl9jcmM+Pj44O3JldHVybiEwfSxfbC5wcm90b3R5cGUuY3JjMzI9ZnVuY3Rpb24oKXtyZXR1cm4gLTFedGhpcy5fY3JjfSxfbC5jcmMzMj1mdW5jdGlvbihlKXtsZXQgdD0tMTtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl0PV9zWyh0XmVbbl0pJjI1NV1edD4+Pjg7cmV0dXJuIC0xXnR9O3ZhciBfJD1fYS5leHBvcnRzO2xldCBfYz1fbyxfaD1fJCxfdT1faS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dGhpcy5fb3B0aW9ucz1lLGUuY2hlY2tDUkM9ITEhPT1lLmNoZWNrQ1JDLHRoaXMuX2hhc0lIRFI9ITEsdGhpcy5faGFzSUVORD0hMSx0aGlzLl9lbWl0dGVkSGVhZGVyc0ZpbmlzaGVkPSExLHRoaXMuX3BhbGV0dGU9W10sdGhpcy5fY29sb3JUeXBlPTAsdGhpcy5fY2h1bmtzPXt9LHRoaXMuX2NodW5rc1tfYy5UWVBFX0lIRFJdPXRoaXMuX2hhbmRsZUlIRFIuYmluZCh0aGlzKSx0aGlzLl9jaHVua3NbX2MuVFlQRV9JRU5EXT10aGlzLl9oYW5kbGVJRU5ELmJpbmQodGhpcyksdGhpcy5fY2h1bmtzW19jLlRZUEVfSURBVF09dGhpcy5faGFuZGxlSURBVC5iaW5kKHRoaXMpLHRoaXMuX2NodW5rc1tfYy5UWVBFX1BMVEVdPXRoaXMuX2hhbmRsZVBMVEUuYmluZCh0aGlzKSx0aGlzLl9jaHVua3NbX2MuVFlQRV90Uk5TXT10aGlzLl9oYW5kbGVUUk5TLmJpbmQodGhpcyksdGhpcy5fY2h1bmtzW19jLlRZUEVfZ0FNQV09dGhpcy5faGFuZGxlR0FNQS5iaW5kKHRoaXMpLHRoaXMucmVhZD10LnJlYWQsdGhpcy5lcnJvcj10LmVycm9yLHRoaXMubWV0YWRhdGE9dC5tZXRhZGF0YSx0aGlzLmdhbW1hPXQuZ2FtbWEsdGhpcy50cmFuc0NvbG9yPXQudHJhbnNDb2xvcix0aGlzLnBhbGV0dGU9dC5wYWxldHRlLHRoaXMucGFyc2VkPXQucGFyc2VkLHRoaXMuaW5mbGF0ZURhdGE9dC5pbmZsYXRlRGF0YSx0aGlzLmZpbmlzaGVkPXQuZmluaXNoZWQsdGhpcy5zaW1wbGVUcmFuc3BhcmVuY3k9dC5zaW1wbGVUcmFuc3BhcmVuY3ksdGhpcy5oZWFkZXJzRmluaXNoZWQ9dC5oZWFkZXJzRmluaXNoZWR8fGZ1bmN0aW9uKCl7fX07X3UucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7dGhpcy5yZWFkKF9jLlBOR19TSUdOQVRVUkUubGVuZ3RoLHRoaXMuX3BhcnNlU2lnbmF0dXJlLmJpbmQodGhpcykpfSxfdS5wcm90b3R5cGUuX3BhcnNlU2lnbmF0dXJlPWZ1bmN0aW9uKGUpe2xldCB0PV9jLlBOR19TSUdOQVRVUkU7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspaWYoZVtuXSE9PXRbbl0pe3RoaXMuZXJyb3IoRXJyb3IoIkludmFsaWQgZmlsZSBzaWduYXR1cmUiKSk7cmV0dXJufXRoaXMucmVhZCg4LHRoaXMuX3BhcnNlQ2h1bmtCZWdpbi5iaW5kKHRoaXMpKX0sX3UucHJvdG90eXBlLl9wYXJzZUNodW5rQmVnaW49ZnVuY3Rpb24oZSl7bGV0IHQ9ZS5yZWFkVUludDMyQkUoMCksbj1lLnJlYWRVSW50MzJCRSg0KSxyPSIiO2ZvcihsZXQgaT00O2k8ODtpKyspcis9U3RyaW5nLmZyb21DaGFyQ29kZShlW2ldKTtsZXQgbz1Cb29sZWFuKDMyJmVbNF0pO2lmKCF0aGlzLl9oYXNJSERSJiZuIT09X2MuVFlQRV9JSERSKXt0aGlzLmVycm9yKEVycm9yKCJFeHBlY3RlZCBJSERSIG9uIGJlZ2dpbmluZyIpKTtyZXR1cm59aWYodGhpcy5fY3JjPW5ldyBfaCx0aGlzLl9jcmMud3JpdGUoQnVmZmVyLmZyb20ocikpLHRoaXMuX2NodW5rc1tuXSlyZXR1cm4gdGhpcy5fY2h1bmtzW25dKHQpO2lmKCFvKXt0aGlzLmVycm9yKEVycm9yKCJVbnN1cHBvcnRlZCBjcml0aWNhbCBjaHVuayB0eXBlICIrcikpO3JldHVybn10aGlzLnJlYWQodCs0LHRoaXMuX3NraXBDaHVuay5iaW5kKHRoaXMpKX0sX3UucHJvdG90eXBlLl9za2lwQ2h1bms9ZnVuY3Rpb24oKXt0aGlzLnJlYWQoOCx0aGlzLl9wYXJzZUNodW5rQmVnaW4uYmluZCh0aGlzKSl9LF91LnByb3RvdHlwZS5faGFuZGxlQ2h1bmtFbmQ9ZnVuY3Rpb24oKXt0aGlzLnJlYWQoNCx0aGlzLl9wYXJzZUNodW5rRW5kLmJpbmQodGhpcykpfSxfdS5wcm90b3R5cGUuX3BhcnNlQ2h1bmtFbmQ9ZnVuY3Rpb24oZSl7bGV0IHQ9ZS5yZWFkSW50MzJCRSgwKSxuPXRoaXMuX2NyYy5jcmMzMigpO2lmKHRoaXMuX29wdGlvbnMuY2hlY2tDUkMmJm4hPT10KXt0aGlzLmVycm9yKEVycm9yKCJDcmMgZXJyb3IgLSAiK3QrIiAtICIrbikpO3JldHVybn10aGlzLl9oYXNJRU5EfHx0aGlzLnJlYWQoOCx0aGlzLl9wYXJzZUNodW5rQmVnaW4uYmluZCh0aGlzKSl9LF91LnByb3RvdHlwZS5faGFuZGxlSUhEUj1mdW5jdGlvbihlKXt0aGlzLnJlYWQoZSx0aGlzLl9wYXJzZUlIRFIuYmluZCh0aGlzKSl9LF91LnByb3RvdHlwZS5fcGFyc2VJSERSPWZ1bmN0aW9uKGUpe3RoaXMuX2NyYy53cml0ZShlKTtsZXQgdD1lLnJlYWRVSW50MzJCRSgwKSxuPWUucmVhZFVJbnQzMkJFKDQpLHI9ZVs4XSxpPWVbOV0sbz1lWzEwXSxhPWVbMTFdLHM9ZVsxMl07aWYoOCE9PXImJjQhPT1yJiYyIT09ciYmMSE9PXImJjE2IT09cil7dGhpcy5lcnJvcihFcnJvcigiVW5zdXBwb3J0ZWQgYml0IGRlcHRoICIrcikpO3JldHVybn1pZighKGkgaW4gX2MuQ09MT1JUWVBFX1RPX0JQUF9NQVApKXt0aGlzLmVycm9yKEVycm9yKCJVbnN1cHBvcnRlZCBjb2xvciB0eXBlIikpO3JldHVybn1pZigwIT09byl7dGhpcy5lcnJvcihFcnJvcigiVW5zdXBwb3J0ZWQgY29tcHJlc3Npb24gbWV0aG9kIikpO3JldHVybn1pZigwIT09YSl7dGhpcy5lcnJvcihFcnJvcigiVW5zdXBwb3J0ZWQgZmlsdGVyIG1ldGhvZCIpKTtyZXR1cm59aWYoMCE9PXMmJjEhPT1zKXt0aGlzLmVycm9yKEVycm9yKCJVbnN1cHBvcnRlZCBpbnRlcmxhY2UgbWV0aG9kIikpO3JldHVybn10aGlzLl9jb2xvclR5cGU9aTtsZXQgbD1fYy5DT0xPUlRZUEVfVE9fQlBQX01BUFt0aGlzLl9jb2xvclR5cGVdO3RoaXMuX2hhc0lIRFI9ITAsdGhpcy5tZXRhZGF0YSh7d2lkdGg6dCxoZWlnaHQ6bixkZXB0aDpyLGludGVybGFjZTpCb29sZWFuKHMpLHBhbGV0dGU6Qm9vbGVhbihpJl9jLkNPTE9SVFlQRV9QQUxFVFRFKSxjb2xvcjpCb29sZWFuKGkmX2MuQ09MT1JUWVBFX0NPTE9SKSxhbHBoYTpCb29sZWFuKGkmX2MuQ09MT1JUWVBFX0FMUEhBKSxicHA6bCxjb2xvclR5cGU6aX0pLHRoaXMuX2hhbmRsZUNodW5rRW5kKCl9LF91LnByb3RvdHlwZS5faGFuZGxlUExURT1mdW5jdGlvbihlKXt0aGlzLnJlYWQoZSx0aGlzLl9wYXJzZVBMVEUuYmluZCh0aGlzKSl9LF91LnByb3RvdHlwZS5fcGFyc2VQTFRFPWZ1bmN0aW9uKGUpe3RoaXMuX2NyYy53cml0ZShlKTtsZXQgdD1NYXRoLmZsb29yKGUubGVuZ3RoLzMpO2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5fcGFsZXR0ZS5wdXNoKFtlWzMqbl0sZVszKm4rMV0sZVszKm4rMl0sMjU1XSk7dGhpcy5wYWxldHRlKHRoaXMuX3BhbGV0dGUpLHRoaXMuX2hhbmRsZUNodW5rRW5kKCl9LF91LnByb3RvdHlwZS5faGFuZGxlVFJOUz1mdW5jdGlvbihlKXt0aGlzLnNpbXBsZVRyYW5zcGFyZW5jeSgpLHRoaXMucmVhZChlLHRoaXMuX3BhcnNlVFJOUy5iaW5kKHRoaXMpKX0sX3UucHJvdG90eXBlLl9wYXJzZVRSTlM9ZnVuY3Rpb24oZSl7aWYodGhpcy5fY3JjLndyaXRlKGUpLHRoaXMuX2NvbG9yVHlwZT09PV9jLkNPTE9SVFlQRV9QQUxFVFRFX0NPTE9SKXtpZigwPT09dGhpcy5fcGFsZXR0ZS5sZW5ndGgpe3RoaXMuZXJyb3IoRXJyb3IoIlRyYW5zcGFyZW5jeSBjaHVuayBtdXN0IGJlIGFmdGVyIHBhbGV0dGUiKSk7cmV0dXJufWlmKGUubGVuZ3RoPnRoaXMuX3BhbGV0dGUubGVuZ3RoKXt0aGlzLmVycm9yKEVycm9yKCJNb3JlIHRyYW5zcGFyZW50IGNvbG9ycyB0aGFuIHBhbGV0dGUgc2l6ZSIpKTtyZXR1cm59Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspdGhpcy5fcGFsZXR0ZVt0XVszXT1lW3RdO3RoaXMucGFsZXR0ZSh0aGlzLl9wYWxldHRlKX10aGlzLl9jb2xvclR5cGU9PT1fYy5DT0xPUlRZUEVfR1JBWVNDQUxFJiZ0aGlzLnRyYW5zQ29sb3IoW2UucmVhZFVJbnQxNkJFKDApXSksdGhpcy5fY29sb3JUeXBlPT09X2MuQ09MT1JUWVBFX0NPTE9SJiZ0aGlzLnRyYW5zQ29sb3IoW2UucmVhZFVJbnQxNkJFKDApLGUucmVhZFVJbnQxNkJFKDIpLGUucmVhZFVJbnQxNkJFKDQpLF0pLHRoaXMuX2hhbmRsZUNodW5rRW5kKCl9LF91LnByb3RvdHlwZS5faGFuZGxlR0FNQT1mdW5jdGlvbihlKXt0aGlzLnJlYWQoZSx0aGlzLl9wYXJzZUdBTUEuYmluZCh0aGlzKSl9LF91LnByb3RvdHlwZS5fcGFyc2VHQU1BPWZ1bmN0aW9uKGUpe3RoaXMuX2NyYy53cml0ZShlKSx0aGlzLmdhbW1hKGUucmVhZFVJbnQzMkJFKDApL19jLkdBTU1BX0RJVklTSU9OKSx0aGlzLl9oYW5kbGVDaHVua0VuZCgpfSxfdS5wcm90b3R5cGUuX2hhbmRsZUlEQVQ9ZnVuY3Rpb24oZSl7dGhpcy5fZW1pdHRlZEhlYWRlcnNGaW5pc2hlZHx8KHRoaXMuX2VtaXR0ZWRIZWFkZXJzRmluaXNoZWQ9ITAsdGhpcy5oZWFkZXJzRmluaXNoZWQoKSksdGhpcy5yZWFkKC1lLHRoaXMuX3BhcnNlSURBVC5iaW5kKHRoaXMsZSkpfSxfdS5wcm90b3R5cGUuX3BhcnNlSURBVD1mdW5jdGlvbihlLHQpe2lmKHRoaXMuX2NyYy53cml0ZSh0KSx0aGlzLl9jb2xvclR5cGU9PT1fYy5DT0xPUlRZUEVfUEFMRVRURV9DT0xPUiYmMD09PXRoaXMuX3BhbGV0dGUubGVuZ3RoKXRocm93IEVycm9yKCJFeHBlY3RlZCBwYWxldHRlIG5vdCBmb3VuZCIpO3RoaXMuaW5mbGF0ZURhdGEodCk7bGV0IG49ZS10Lmxlbmd0aDtuPjA/dGhpcy5faGFuZGxlSURBVChuKTp0aGlzLl9oYW5kbGVDaHVua0VuZCgpfSxfdS5wcm90b3R5cGUuX2hhbmRsZUlFTkQ9ZnVuY3Rpb24oZSl7dGhpcy5yZWFkKGUsdGhpcy5fcGFyc2VJRU5ELmJpbmQodGhpcykpfSxfdS5wcm90b3R5cGUuX3BhcnNlSUVORD1mdW5jdGlvbihlKXt0aGlzLl9jcmMud3JpdGUoZSksdGhpcy5faGFzSUVORD0hMCx0aGlzLl9oYW5kbGVDaHVua0VuZCgpLHRoaXMuZmluaXNoZWQmJnRoaXMuZmluaXNoZWQoKX07dmFyIF9kPV9pLmV4cG9ydHMsX189e307bGV0IF9mPWRaLF9wPVtmdW5jdGlvbigpe30sZnVuY3Rpb24oZSx0LG4scil7aWYocj09PXQubGVuZ3RoKXRocm93IEVycm9yKCJSYW4gb3V0IG9mIGRhdGEiKTtsZXQgaT10W3JdO2Vbbl09aSxlW24rMV09aSxlW24rMl09aSxlW24rM109MjU1fSxmdW5jdGlvbihlLHQsbixyKXtpZihyKzE+PXQubGVuZ3RoKXRocm93IEVycm9yKCJSYW4gb3V0IG9mIGRhdGEiKTtsZXQgaT10W3JdO2Vbbl09aSxlW24rMV09aSxlW24rMl09aSxlW24rM109dFtyKzFdfSxmdW5jdGlvbihlLHQsbixyKXtpZihyKzI+PXQubGVuZ3RoKXRocm93IEVycm9yKCJSYW4gb3V0IG9mIGRhdGEiKTtlW25dPXRbcl0sZVtuKzFdPXRbcisxXSxlW24rMl09dFtyKzJdLGVbbiszXT0yNTV9LGZ1bmN0aW9uKGUsdCxuLHIpe2lmKHIrMz49dC5sZW5ndGgpdGhyb3cgRXJyb3IoIlJhbiBvdXQgb2YgZGF0YSIpO2Vbbl09dFtyXSxlW24rMV09dFtyKzFdLGVbbisyXT10W3IrMl0sZVtuKzNdPXRbciszXX0sXSxfMT1bZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKGUsdCxuLHIpe2xldCBpPXRbMF07ZVtuXT1pLGVbbisxXT1pLGVbbisyXT1pLGVbbiszXT1yfSxmdW5jdGlvbihlLHQsbil7bGV0IHI9dFswXTtlW25dPXIsZVtuKzFdPXIsZVtuKzJdPXIsZVtuKzNdPXRbMV19LGZ1bmN0aW9uKGUsdCxuLHIpe2Vbbl09dFswXSxlW24rMV09dFsxXSxlW24rMl09dFsyXSxlW24rM109cn0sZnVuY3Rpb24oZSx0LG4pe2Vbbl09dFswXSxlW24rMV09dFsxXSxlW24rMl09dFsyXSxlW24rM109dFszXX0sXTtmdW5jdGlvbiBfMChlLHQsbixyLGksbyl7bGV0IGE9ZS53aWR0aCxzPWUuaGVpZ2h0LGw9ZS5pbmRleDtmb3IobGV0ICQ9MDskPHM7JCsrKWZvcihsZXQgYz0wO2M8YTtjKyspe2xldCBoPW4oYywkLGwpO19wW3JdKHQsaSxoLG8pLG8rPXJ9cmV0dXJuIG99ZnVuY3Rpb24gX2coZSx0LG4scixpLG8pe2xldCBhPWUud2lkdGgscz1lLmhlaWdodCxsPWUuaW5kZXg7Zm9yKGxldCAkPTA7JDxzOyQrKyl7Zm9yKGxldCBjPTA7YzxhO2MrKyl7bGV0IGg9aS5nZXQociksdT1uKGMsJCxsKTtfMVtyXSh0LGgsdSxvKX1pLnJlc2V0QWZ0ZXJMaW5lKCl9fV9fLmRhdGFUb0JpdE1hcD1mdW5jdGlvbihlLHQpe2xldCBuPXQud2lkdGgscj10LmhlaWdodCxpPXQuZGVwdGgsbz10LmJwcCxhPXQuaW50ZXJsYWNlLHM7OCE9PWkmJihzPWZ1bmN0aW9uIGUodCxuKXtsZXQgcj1bXSxpPTA7ZnVuY3Rpb24gbygpe2lmKGk9PT10Lmxlbmd0aCl0aHJvdyBFcnJvcigiUmFuIG91dCBvZiBkYXRhIik7bGV0IGU9dFtpXTtpKys7bGV0IG8sYSxzLGwsJCxjLGgsdTtzd2l0Y2gobil7ZGVmYXVsdDp0aHJvdyBFcnJvcigidW5yZWNvZ25pc2VkIGRlcHRoIik7Y2FzZSAxNjpoPXRbaV0saSsrLHIucHVzaCgoZTw8OCkraCk7YnJlYWs7Y2FzZSA0Omg9MTUmZSx1PWU+PjQsci5wdXNoKHUsaCk7YnJlYWs7Y2FzZSAyOiQ9MyZlLGM9ZT4+MiYzLGg9ZT4+NCYzLHU9ZT4+NiYzLHIucHVzaCh1LGgsYywkKTticmVhaztjYXNlIDE6bz0xJmUsYT1lPj4xJjEscz1lPj4yJjEsbD1lPj4zJjEsJD1lPj40JjEsYz1lPj41JjEsaD1lPj42JjEsdT1lPj43JjEsci5wdXNoKHUsaCxjLCQsbCxzLGEsbyl9fXJldHVybntnZXQ6ZnVuY3Rpb24oZSl7Zm9yKDtyLmxlbmd0aDxlOylvKCk7bGV0IHQ9ci5zbGljZSgwLGUpO3JldHVybiByPXIuc2xpY2UoZSksdH0scmVzZXRBZnRlckxpbmU6ZnVuY3Rpb24oKXtyLmxlbmd0aD0wfSxlbmQ6ZnVuY3Rpb24oKXtpZihpIT09dC5sZW5ndGgpdGhyb3cgRXJyb3IoImV4dHJhIGRhdGEgZm91bmQiKX19fShlLGkpKTtsZXQgbDtsPWk8PTg/QnVmZmVyLmFsbG9jKG4qcio0KTpuZXcgVWludDE2QXJyYXkobipyKjQpO2xldCAkPU1hdGgucG93KDIsaSktMSxjPTAsaCx1O2lmKGEpaD1fZi5nZXRJbWFnZVBhc3NlcyhuLHIpLHU9X2YuZ2V0SW50ZXJsYWNlSXRlcmF0b3IobixyKTtlbHNle2xldCBkPTA7dT1mdW5jdGlvbigpe2xldCBlPWQ7cmV0dXJuIGQrPTQsZX0saD1be3dpZHRoOm4saGVpZ2h0OnJ9XX1mb3IobGV0IF89MDtfPGgubGVuZ3RoO18rKyk4PT09aT9jPV8wKGhbX10sbCx1LG8sZSxjKTpfZyhoW19dLGwsdSxvLHMsJCk7aWYoOD09PWkpe2lmKGMhPT1lLmxlbmd0aCl0aHJvdyBFcnJvcigiZXh0cmEgZGF0YSBmb3VuZCIpfWVsc2Ugcy5lbmQoKTtyZXR1cm4gbH07dmFyIF9tPWZ1bmN0aW9uKGUsdCl7bGV0IG49dC5kZXB0aCxyPXQud2lkdGgsaT10LmhlaWdodCxvPXQuY29sb3JUeXBlLGE9dC50cmFuc0NvbG9yLHM9dC5wYWxldHRlLGw9ZTtyZXR1cm4gMz09PW8/ZnVuY3Rpb24gZSh0LG4scixpLG8pe2xldCBhPTA7Zm9yKGxldCBzPTA7czxpO3MrKylmb3IobGV0IGw9MDtsPHI7bCsrKXtsZXQgJD1vW3RbYV1dO2lmKCEkKXRocm93IEVycm9yKCJpbmRleCAiK3RbYV0rIiBub3QgaW4gcGFsZXR0ZSIpO2ZvcihsZXQgYz0wO2M8NDtjKyspblthK2NdPSRbY107YSs9NH19KGUsbCxyLGkscyk6KGEmJmZ1bmN0aW9uIGUodCxuLHIsaSxvKXtsZXQgYT0wO2ZvcihsZXQgcz0wO3M8aTtzKyspZm9yKGxldCBsPTA7bDxyO2wrKyl7bGV0ICQ9ITE7aWYoMT09PW8ubGVuZ3RoP29bMF09PT10W2FdJiYoJD0hMCk6b1swXT09PXRbYV0mJm9bMV09PT10W2ErMV0mJm9bMl09PT10W2ErMl0mJigkPSEwKSwkKWZvcihsZXQgYz0wO2M8NDtjKyspblthK2NdPTA7YSs9NH19KGUsbCxyLGksYSksOCE9PW4mJigxNj09PW4mJihsPUJ1ZmZlci5hbGxvYyhyKmkqNCkpLGZ1bmN0aW9uIGUodCxuLHIsaSxvKXtsZXQgYT1NYXRoLnBvdygyLG8pLTEscz0wO2ZvcihsZXQgbD0wO2w8aTtsKyspZm9yKGxldCAkPTA7JDxyOyQrKyl7Zm9yKGxldCBjPTA7Yzw0O2MrKyluW3MrY109TWF0aC5mbG9vcigyNTUqdFtzK2NdL2ErLjUpO3MrPTR9fShlLGwscixpLG4pKSksbH07bGV0IF8zPWhoLF93PWRSLF92PWR6LF8yPV9yLF80PV9kLF9iPV9fLF84PV9tLF82PXVlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7X3YuY2FsbCh0aGlzKSx0aGlzLl9wYXJzZXI9bmV3IF80KGUse3JlYWQ6dGhpcy5yZWFkLmJpbmQodGhpcyksZXJyb3I6dGhpcy5faGFuZGxlRXJyb3IuYmluZCh0aGlzKSxtZXRhZGF0YTp0aGlzLl9oYW5kbGVNZXRhRGF0YS5iaW5kKHRoaXMpLGdhbW1hOnRoaXMuZW1pdC5iaW5kKHRoaXMsImdhbW1hIikscGFsZXR0ZTp0aGlzLl9oYW5kbGVQYWxldHRlLmJpbmQodGhpcyksdHJhbnNDb2xvcjp0aGlzLl9oYW5kbGVUcmFuc0NvbG9yLmJpbmQodGhpcyksZmluaXNoZWQ6dGhpcy5fZmluaXNoZWQuYmluZCh0aGlzKSxpbmZsYXRlRGF0YTp0aGlzLl9pbmZsYXRlRGF0YS5iaW5kKHRoaXMpLHNpbXBsZVRyYW5zcGFyZW5jeTp0aGlzLl9zaW1wbGVUcmFuc3BhcmVuY3kuYmluZCh0aGlzKSxoZWFkZXJzRmluaXNoZWQ6dGhpcy5faGVhZGVyc0ZpbmlzaGVkLmJpbmQodGhpcyl9KSx0aGlzLl9vcHRpb25zPWUsdGhpcy53cml0YWJsZT0hMCx0aGlzLl9wYXJzZXIuc3RhcnQoKX07XzMuaW5oZXJpdHMoXzYsX3YpLF82LnByb3RvdHlwZS5faGFuZGxlRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KCJlcnJvciIsZSksdGhpcy53cml0YWJsZT0hMSx0aGlzLmRlc3Ryb3koKSx0aGlzLl9pbmZsYXRlJiZ0aGlzLl9pbmZsYXRlLmRlc3Ryb3kmJnRoaXMuX2luZmxhdGUuZGVzdHJveSgpLHRoaXMuX2ZpbHRlciYmKHRoaXMuX2ZpbHRlci5kZXN0cm95KCksdGhpcy5fZmlsdGVyLm9uKCJlcnJvciIsZnVuY3Rpb24oKXt9KSksdGhpcy5lcnJvcmQ9ITB9LF82LnByb3RvdHlwZS5faW5mbGF0ZURhdGE9ZnVuY3Rpb24oZSl7aWYoIXRoaXMuX2luZmxhdGUpe2lmKHRoaXMuX2JpdG1hcEluZm8uaW50ZXJsYWNlKXRoaXMuX2luZmxhdGU9X3cuY3JlYXRlSW5mbGF0ZSgpLHRoaXMuX2luZmxhdGUub24oImVycm9yIix0aGlzLmVtaXQuYmluZCh0aGlzLCJlcnJvciIpKSx0aGlzLl9maWx0ZXIub24oImNvbXBsZXRlIix0aGlzLl9jb21wbGV0ZS5iaW5kKHRoaXMpKSx0aGlzLl9pbmZsYXRlLnBpcGUodGhpcy5fZmlsdGVyKTtlbHNle2xldCB0PSgodGhpcy5fYml0bWFwSW5mby53aWR0aCp0aGlzLl9iaXRtYXBJbmZvLmJwcCp0aGlzLl9iaXRtYXBJbmZvLmRlcHRoKzc+PjMpKzEpKnRoaXMuX2JpdG1hcEluZm8uaGVpZ2h0LG49TWF0aC5tYXgodCxfdy5aX01JTl9DSFVOSyk7dGhpcy5faW5mbGF0ZT1fdy5jcmVhdGVJbmZsYXRlKHtjaHVua1NpemU6bn0pO2xldCByPXQsaT10aGlzLmVtaXQuYmluZCh0aGlzLCJlcnJvciIpO3RoaXMuX2luZmxhdGUub24oImVycm9yIixmdW5jdGlvbihlKXtyJiZpKGUpfSksdGhpcy5fZmlsdGVyLm9uKCJjb21wbGV0ZSIsdGhpcy5fY29tcGxldGUuYmluZCh0aGlzKSk7bGV0IG89dGhpcy5fZmlsdGVyLndyaXRlLmJpbmQodGhpcy5fZmlsdGVyKTt0aGlzLl9pbmZsYXRlLm9uKCJkYXRhIixmdW5jdGlvbihlKXtyJiYoZS5sZW5ndGg+ciYmKGU9ZS5zbGljZSgwLHIpKSxyLT1lLmxlbmd0aCxvKGUpKX0pLHRoaXMuX2luZmxhdGUub24oImVuZCIsdGhpcy5fZmlsdGVyLmVuZC5iaW5kKHRoaXMuX2ZpbHRlcikpfX10aGlzLl9pbmZsYXRlLndyaXRlKGUpfSxfNi5wcm90b3R5cGUuX2hhbmRsZU1ldGFEYXRhPWZ1bmN0aW9uKGUpe3RoaXMuX21ldGFEYXRhPWUsdGhpcy5fYml0bWFwSW5mbz1PYmplY3QuY3JlYXRlKGUpLHRoaXMuX2ZpbHRlcj1uZXcgXzIodGhpcy5fYml0bWFwSW5mbyl9LF82LnByb3RvdHlwZS5faGFuZGxlVHJhbnNDb2xvcj1mdW5jdGlvbihlKXt0aGlzLl9iaXRtYXBJbmZvLnRyYW5zQ29sb3I9ZX0sXzYucHJvdG90eXBlLl9oYW5kbGVQYWxldHRlPWZ1bmN0aW9uKGUpe3RoaXMuX2JpdG1hcEluZm8ucGFsZXR0ZT1lfSxfNi5wcm90b3R5cGUuX3NpbXBsZVRyYW5zcGFyZW5jeT1mdW5jdGlvbigpe3RoaXMuX21ldGFEYXRhLmFscGhhPSEwfSxfNi5wcm90b3R5cGUuX2hlYWRlcnNGaW5pc2hlZD1mdW5jdGlvbigpe3RoaXMuZW1pdCgibWV0YWRhdGEiLHRoaXMuX21ldGFEYXRhKX0sXzYucHJvdG90eXBlLl9maW5pc2hlZD1mdW5jdGlvbigpeyF0aGlzLmVycm9yZCYmKHRoaXMuX2luZmxhdGU/dGhpcy5faW5mbGF0ZS5lbmQoKTp0aGlzLmVtaXQoImVycm9yIiwiTm8gSW5mbGF0ZSBibG9jayIpKX0sXzYucHJvdG90eXBlLl9jb21wbGV0ZT1mdW5jdGlvbihlKXtpZih0aGlzLmVycm9yZClyZXR1cm47bGV0IHQ7dHJ5e2xldCBuPV9iLmRhdGFUb0JpdE1hcChlLHRoaXMuX2JpdG1hcEluZm8pO3Q9Xzgobix0aGlzLl9iaXRtYXBJbmZvKSxuPW51bGx9Y2F0Y2gocil7dGhpcy5faGFuZGxlRXJyb3Iocik7cmV0dXJufXRoaXMuZW1pdCgicGFyc2VkIix0KX07dmFyIF95PXVlLmV4cG9ydHMsXzU9e2V4cG9ydHM6e319LF94PXtleHBvcnRzOnt9fTtsZXQgXzc9X28sX0U9ZFYsX0M9ezA6ZnVuY3Rpb24gZSh0LG4scixpLG8pe2ZvcihsZXQgYT0wO2E8cjthKyspaVtvK2FdPXRbbithXX0sMTpmdW5jdGlvbiBlKHQsbixyLGksbyxhKXtmb3IobGV0IHM9MDtzPHI7cysrKXtsZXQgbD1zPj1hP3RbbitzLWFdOjAsJD10W24rc10tbDtpW28rc109JH19LDI6ZnVuY3Rpb24gZSh0LG4scixpLG8pe2ZvcihsZXQgYT0wO2E8cjthKyspe2xldCBzPW4+MD90W24rYS1yXTowLGw9dFtuK2FdLXM7aVtvK2FdPWx9fSwzOmZ1bmN0aW9uIGUodCxuLHIsaSxvLGEpe2ZvcihsZXQgcz0wO3M8cjtzKyspe2xldCBsPXM+PWE/dFtuK3MtYV06MCwkPW4+MD90W24rcy1yXTowLGM9dFtuK3NdLShsKyQ+PjEpO2lbbytzXT1jfX0sNDpmdW5jdGlvbiBlKHQsbixyLGksbyxhKXtmb3IobGV0IHM9MDtzPHI7cysrKXtsZXQgbD1zPj1hP3RbbitzLWFdOjAsJD1uPjA/dFtuK3Mtcl06MCxjPW4+MCYmcz49YT90W24rcy0ocithKV06MCxoPXRbbitzXS1fRShsLCQsYyk7aVtvK3NdPWh9fX0sX0Q9ezA6ZnVuY3Rpb24gZSh0LG4scil7bGV0IGk9MCxvPW4rcjtmb3IobGV0IGE9bjthPG87YSsrKWkrPU1hdGguYWJzKHRbYV0pO3JldHVybiBpfSwxOmZ1bmN0aW9uIGUodCxuLHIsaSl7bGV0IG89MDtmb3IobGV0IGE9MDthPHI7YSsrKXtsZXQgcz1hPj1pP3RbbithLWldOjA7bys9TWF0aC5hYnModFtuK2FdLXMpfXJldHVybiBvfSwyOmZ1bmN0aW9uIGUodCxuLHIpe2xldCBpPTAsbz1uK3I7Zm9yKGxldCBhPW47YTxvO2ErKyl7bGV0IHM9bj4wP3RbYS1yXTowO2krPU1hdGguYWJzKHRbYV0tcyl9cmV0dXJuIGl9LDM6ZnVuY3Rpb24gZSh0LG4scixpKXtsZXQgbz0wO2ZvcihsZXQgYT0wO2E8cjthKyspe2xldCBzPWE+PWk/dFtuK2EtaV06MCxsPW4+MD90W24rYS1yXTowO28rPU1hdGguYWJzKHRbbithXS0ocytsPj4xKSl9cmV0dXJuIG99LDQ6ZnVuY3Rpb24gZSh0LG4scixpKXtsZXQgbz0wO2ZvcihsZXQgYT0wO2E8cjthKyspe2xldCBzPWE+PWk/dFtuK2EtaV06MCxsPW4+MD90W24rYS1yXTowLCQ9bj4wJiZhPj1pP3RbbithLShyK2kpXTowO28rPU1hdGguYWJzKHRbbithXS1fRShzLGwsJCkpfXJldHVybiBvfX0sX2s9X28sX0E9XyQsX0k9ZnVuY3Rpb24oZSx0LG4scil7bGV0IGk9LTEhPT1bXzcuQ09MT1JUWVBFX0NPTE9SX0FMUEhBLF83LkNPTE9SVFlQRV9BTFBIQV0uaW5kZXhPZihyLmNvbG9yVHlwZSk7aWYoci5jb2xvclR5cGU9PT1yLmlucHV0Q29sb3JUeXBlKXtsZXQgbyxhPShvPW5ldyBBcnJheUJ1ZmZlcigyKSxuZXcgRGF0YVZpZXcobykuc2V0SW50MTYoMCwyNTYsITApLDI1NiE9PW5ldyBJbnQxNkFycmF5KG8pWzBdKTtpZig4PT09ci5iaXREZXB0aHx8MTY9PT1yLmJpdERlcHRoJiZhKXJldHVybiBlfWxldCBzPTE2IT09ci5iaXREZXB0aD9lOm5ldyBVaW50MTZBcnJheShlLmJ1ZmZlciksbD0yNTUsJD1fNy5DT0xPUlRZUEVfVE9fQlBQX01BUFtyLmlucHV0Q29sb3JUeXBlXTs0IT09JHx8ci5pbnB1dEhhc0FscGhhfHwoJD0zKTtsZXQgYz1fNy5DT0xPUlRZUEVfVE9fQlBQX01BUFtyLmNvbG9yVHlwZV07MTY9PT1yLmJpdERlcHRoJiYobD02NTUzNSxjKj0yKTtsZXQgaD1CdWZmZXIuYWxsb2ModCpuKmMpLHU9MCxkPTAsXz1yLmJnQ29sb3J8fHt9O2Z1bmN0aW9uIGYoKXtsZXQgZSx0LG4sbz1sO3N3aXRjaChyLmlucHV0Q29sb3JUeXBlKXtjYXNlIF83LkNPTE9SVFlQRV9DT0xPUl9BTFBIQTpvPXNbdSszXSxlPXNbdV0sdD1zW3UrMV0sbj1zW3UrMl07YnJlYWs7Y2FzZSBfNy5DT0xPUlRZUEVfQ09MT1I6ZT1zW3VdLHQ9c1t1KzFdLG49c1t1KzJdO2JyZWFrO2Nhc2UgXzcuQ09MT1JUWVBFX0FMUEhBOm89c1t1KzFdLHQ9ZT1zW3VdLG49ZTticmVhaztjYXNlIF83LkNPTE9SVFlQRV9HUkFZU0NBTEU6dD1lPXNbdV0sbj1lO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImlucHV0IGNvbG9yIHR5cGU6IityLmlucHV0Q29sb3JUeXBlKyIgaXMgbm90IHN1cHBvcnRlZCBhdCBwcmVzZW50Iil9cmV0dXJuIHIuaW5wdXRIYXNBbHBoYSYmIWkmJihvLz1sLGU9TWF0aC5taW4oTWF0aC5tYXgoTWF0aC5yb3VuZCgoMS1vKSpfLnJlZCtvKmUpLDApLGwpLHQ9TWF0aC5taW4oTWF0aC5tYXgoTWF0aC5yb3VuZCgoMS1vKSpfLmdyZWVuK28qdCksMCksbCksbj1NYXRoLm1pbihNYXRoLm1heChNYXRoLnJvdW5kKCgxLW8pKl8uYmx1ZStvKm4pLDApLGwpKSx7cmVkOmUsZ3JlZW46dCxibHVlOm4sYWxwaGE6b319dm9pZCAwPT09Xy5yZWQmJihfLnJlZD1sKSx2b2lkIDA9PT1fLmdyZWVuJiYoXy5ncmVlbj1sKSx2b2lkIDA9PT1fLmJsdWUmJihfLmJsdWU9bCk7Zm9yKGxldCBwPTA7cDxuO3ArKylmb3IobGV0IGc9MDtnPHQ7ZysrKXtsZXQgbT1mKCk7c3dpdGNoKHIuY29sb3JUeXBlKXtjYXNlIF83LkNPTE9SVFlQRV9DT0xPUl9BTFBIQTpjYXNlIF83LkNPTE9SVFlQRV9DT0xPUjo4PT09ci5iaXREZXB0aD8oaFtkXT1tLnJlZCxoW2QrMV09bS5ncmVlbixoW2QrMl09bS5ibHVlLGkmJihoW2QrM109bS5hbHBoYSkpOihoLndyaXRlVUludDE2QkUobS5yZWQsZCksaC53cml0ZVVJbnQxNkJFKG0uZ3JlZW4sZCsyKSxoLndyaXRlVUludDE2QkUobS5ibHVlLGQrNCksaSYmaC53cml0ZVVJbnQxNkJFKG0uYWxwaGEsZCs2KSk7YnJlYWs7Y2FzZSBfNy5DT0xPUlRZUEVfQUxQSEE6Y2FzZSBfNy5DT0xPUlRZUEVfR1JBWVNDQUxFOntsZXQgdz0obS5yZWQrbS5ncmVlbittLmJsdWUpLzM7OD09PXIuYml0RGVwdGg/KGhbZF09dyxpJiYoaFtkKzFdPW0uYWxwaGEpKTooaC53cml0ZVVJbnQxNkJFKHcsZCksaSYmaC53cml0ZVVJbnQxNkJFKG0uYWxwaGEsZCsyKSk7YnJlYWt9ZGVmYXVsdDp0aHJvdyBFcnJvcigidW5yZWNvZ25pc2VkIGNvbG9yIFR5cGUgIityLmNvbG9yVHlwZSl9dSs9JCxkKz1jfXJldHVybiBofSxfVD1mdW5jdGlvbihlLHQsbixyLGkpe2xldCBvO2lmKCJmaWx0ZXJUeXBlImluIHImJi0xIT09ci5maWx0ZXJUeXBlKXtpZigibnVtYmVyIj09dHlwZW9mIHIuZmlsdGVyVHlwZSlvPVtyLmZpbHRlclR5cGVdO2Vsc2UgdGhyb3cgRXJyb3IoInVucmVjb2duaXNlZCBmaWx0ZXIgdHlwZXMiKX1lbHNlIG89WzAsMSwyLDMsNF07MTY9PT1yLmJpdERlcHRoJiYoaSo9Mik7bGV0IGE9dCppLHM9MCxsPTAsJD1CdWZmZXIuYWxsb2MoKGErMSkqbiksYz1vWzBdO2ZvcihsZXQgaD0wO2g8bjtoKyspe2lmKG8ubGVuZ3RoPjEpe2xldCB1PTEvMDtmb3IobGV0IGQ9MDtkPG8ubGVuZ3RoO2QrKyl7bGV0IF89X0Rbb1tkXV0oZSxsLGEsaSk7Xzx1JiYoYz1vW2RdLHU9Xyl9fSRbc109YyxzKyssX0NbY10oZSxsLGEsJCxzLGkpLHMrPWEsbCs9YX1yZXR1cm4gJH0sX1M9ZFIsX0w9X3guZXhwb3J0cz1mdW5jdGlvbihlKXtpZih0aGlzLl9vcHRpb25zPWUsZS5kZWZsYXRlQ2h1bmtTaXplPWUuZGVmbGF0ZUNodW5rU2l6ZXx8MzI3NjgsZS5kZWZsYXRlTGV2ZWw9bnVsbCE9ZS5kZWZsYXRlTGV2ZWw/ZS5kZWZsYXRlTGV2ZWw6OSxlLmRlZmxhdGVTdHJhdGVneT1udWxsIT1lLmRlZmxhdGVTdHJhdGVneT9lLmRlZmxhdGVTdHJhdGVneTozLGUuaW5wdXRIYXNBbHBoYT1udWxsPT1lLmlucHV0SGFzQWxwaGF8fGUuaW5wdXRIYXNBbHBoYSxlLmRlZmxhdGVGYWN0b3J5PWUuZGVmbGF0ZUZhY3Rvcnl8fF9TLmNyZWF0ZURlZmxhdGUsZS5iaXREZXB0aD1lLmJpdERlcHRofHw4LGUuY29sb3JUeXBlPSJudW1iZXIiPT10eXBlb2YgZS5jb2xvclR5cGU/ZS5jb2xvclR5cGU6X2suQ09MT1JUWVBFX0NPTE9SX0FMUEhBLGUuaW5wdXRDb2xvclR5cGU9Im51bWJlciI9PXR5cGVvZiBlLmlucHV0Q29sb3JUeXBlP2UuaW5wdXRDb2xvclR5cGU6X2suQ09MT1JUWVBFX0NPTE9SX0FMUEhBLC0xPT09W19rLkNPTE9SVFlQRV9HUkFZU0NBTEUsX2suQ09MT1JUWVBFX0NPTE9SLF9rLkNPTE9SVFlQRV9DT0xPUl9BTFBIQSxfay5DT0xPUlRZUEVfQUxQSEEsXS5pbmRleE9mKGUuY29sb3JUeXBlKSl0aHJvdyBFcnJvcigib3B0aW9uIGNvbG9yIHR5cGU6IitlLmNvbG9yVHlwZSsiIGlzIG5vdCBzdXBwb3J0ZWQgYXQgcHJlc2VudCIpO2lmKC0xPT09W19rLkNPTE9SVFlQRV9HUkFZU0NBTEUsX2suQ09MT1JUWVBFX0NPTE9SLF9rLkNPTE9SVFlQRV9DT0xPUl9BTFBIQSxfay5DT0xPUlRZUEVfQUxQSEEsXS5pbmRleE9mKGUuaW5wdXRDb2xvclR5cGUpKXRocm93IEVycm9yKCJvcHRpb24gaW5wdXQgY29sb3IgdHlwZToiK2UuaW5wdXRDb2xvclR5cGUrIiBpcyBub3Qgc3VwcG9ydGVkIGF0IHByZXNlbnQiKTtpZig4IT09ZS5iaXREZXB0aCYmMTYhPT1lLmJpdERlcHRoKXRocm93IEVycm9yKCJvcHRpb24gYml0IGRlcHRoOiIrZS5iaXREZXB0aCsiIGlzIG5vdCBzdXBwb3J0ZWQgYXQgcHJlc2VudCIpfTtfTC5wcm90b3R5cGUuZ2V0RGVmbGF0ZU9wdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm57Y2h1bmtTaXplOnRoaXMuX29wdGlvbnMuZGVmbGF0ZUNodW5rU2l6ZSxsZXZlbDp0aGlzLl9vcHRpb25zLmRlZmxhdGVMZXZlbCxzdHJhdGVneTp0aGlzLl9vcHRpb25zLmRlZmxhdGVTdHJhdGVneX19LF9MLnByb3RvdHlwZS5jcmVhdGVEZWZsYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZGVmbGF0ZUZhY3RvcnkodGhpcy5nZXREZWZsYXRlT3B0aW9ucygpKX0sX0wucHJvdG90eXBlLmZpbHRlckRhdGE9ZnVuY3Rpb24oZSx0LG4pe2xldCByPV9JKGUsdCxuLHRoaXMuX29wdGlvbnMpLGk9X2suQ09MT1JUWVBFX1RPX0JQUF9NQVBbdGhpcy5fb3B0aW9ucy5jb2xvclR5cGVdO3JldHVybiBfVChyLHQsbix0aGlzLl9vcHRpb25zLGkpfSxfTC5wcm90b3R5cGUuX3BhY2tDaHVuaz1mdW5jdGlvbihlLHQpe2xldCBuPXQ/dC5sZW5ndGg6MCxyPUJ1ZmZlci5hbGxvYyhuKzEyKTtyZXR1cm4gci53cml0ZVVJbnQzMkJFKG4sMCksci53cml0ZVVJbnQzMkJFKGUsNCksdCYmdC5jb3B5KHIsOCksci53cml0ZUludDMyQkUoX0EuY3JjMzIoci5zbGljZSg0LHIubGVuZ3RoLTQpKSxyLmxlbmd0aC00KSxyfSxfTC5wcm90b3R5cGUucGFja0dBTUE9ZnVuY3Rpb24oZSl7bGV0IHQ9QnVmZmVyLmFsbG9jKDQpO3JldHVybiB0LndyaXRlVUludDMyQkUoTWF0aC5mbG9vcihlKl9rLkdBTU1BX0RJVklTSU9OKSwwKSx0aGlzLl9wYWNrQ2h1bmsoX2suVFlQRV9nQU1BLHQpfSxfTC5wcm90b3R5cGUucGFja0lIRFI9ZnVuY3Rpb24oZSx0KXtsZXQgbj1CdWZmZXIuYWxsb2MoMTMpO3JldHVybiBuLndyaXRlVUludDMyQkUoZSwwKSxuLndyaXRlVUludDMyQkUodCw0KSxuWzhdPXRoaXMuX29wdGlvbnMuYml0RGVwdGgsbls5XT10aGlzLl9vcHRpb25zLmNvbG9yVHlwZSxuWzEwXT0wLG5bMTFdPTAsblsxMl09MCx0aGlzLl9wYWNrQ2h1bmsoX2suVFlQRV9JSERSLG4pfSxfTC5wcm90b3R5cGUucGFja0lEQVQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3BhY2tDaHVuayhfay5UWVBFX0lEQVQsZSl9LF9MLnByb3RvdHlwZS5wYWNrSUVORD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYWNrQ2h1bmsoX2suVFlQRV9JRU5ELG51bGwpfTt2YXIgX049X3guZXhwb3J0cztsZXQgX089aGgsX009aEosX1A9X28sXzk9X04sX1I9XzUuZXhwb3J0cz1mdW5jdGlvbihlKXtfTS5jYWxsKHRoaXMpLHRoaXMuX3BhY2tlcj1uZXcgXzkoZXx8e30pLHRoaXMuX2RlZmxhdGU9dGhpcy5fcGFja2VyLmNyZWF0ZURlZmxhdGUoKSx0aGlzLnJlYWRhYmxlPSEwfTtfTy5pbmhlcml0cyhfUixfTSksX1IucHJvdG90eXBlLnBhY2s9ZnVuY3Rpb24oZSx0LG4scil7dGhpcy5lbWl0KCJkYXRhIixCdWZmZXIuZnJvbShfUC5QTkdfU0lHTkFUVVJFKSksdGhpcy5lbWl0KCJkYXRhIix0aGlzLl9wYWNrZXIucGFja0lIRFIodCxuKSksciYmdGhpcy5lbWl0KCJkYXRhIix0aGlzLl9wYWNrZXIucGFja0dBTUEocikpO2xldCBpPXRoaXMuX3BhY2tlci5maWx0ZXJEYXRhKGUsdCxuKTt0aGlzLl9kZWZsYXRlLm9uKCJlcnJvciIsdGhpcy5lbWl0LmJpbmQodGhpcywiZXJyb3IiKSksdGhpcy5fZGVmbGF0ZS5vbigiZGF0YSIsKGZ1bmN0aW9uKGUpe3RoaXMuZW1pdCgiZGF0YSIsdGhpcy5fcGFja2VyLnBhY2tJREFUKGUpKX0pLmJpbmQodGhpcykpLHRoaXMuX2RlZmxhdGUub24oImVuZCIsKGZ1bmN0aW9uKCl7dGhpcy5lbWl0KCJkYXRhIix0aGlzLl9wYWNrZXIucGFja0lFTkQoKSksdGhpcy5lbWl0KCJlbmQiKX0pLmJpbmQodGhpcykpLHRoaXMuX2RlZmxhdGUuZW5kKGkpfTt2YXIgX1U9XzUuZXhwb3J0cyxfQj17fSxfVz17ZXhwb3J0czp7fX07ZnVuY3Rpb24gX0YoZSx0KXtpZihlPT09dClyZXR1cm4gMDtmb3IodmFyIG49ZS5sZW5ndGgscj10Lmxlbmd0aCxpPTAsbz1NYXRoLm1pbihuLHIpO2k8bzsrK2kpaWYoZVtpXSE9PXRbaV0pe249ZVtpXSxyPXRbaV07YnJlYWt9cmV0dXJuIG48cj8tMTpyPG4/MTowfXZhciBfej1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LF9IPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIG4gaW4gZSlfei5jYWxsKGUsbikmJnQucHVzaChuKTtyZXR1cm4gdH0sX2o9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIF9aKCl7cmV0dXJuIHZvaWQgMCE9PUE/QTpBPSJmb28iPT09KGZ1bmN0aW9uIGUoKXt9KS5uYW1lfWZ1bmN0aW9uIF9ZKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gX1YoZSl7cmV0dXJuIXRlKGUpJiYiZnVuY3Rpb24iPT10eXBlb2YgZWMuQXJyYXlCdWZmZXImJigiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhlKTohIWUmJiEhKGUgaW5zdGFuY2VvZiBEYXRhVmlld3x8ZS5idWZmZXImJmUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKX1mdW5jdGlvbiBfRyhlLHQpe2V8fGZlKGUsITAsdCwiPT0iLGZ0KX12YXIgX0s9L1xzKmZ1bmN0aW9uXHMrKFteXChcc10qKVxzKi87ZnVuY3Rpb24gX3EoZSl7aWYoaGUoZSkpe2lmKF9aKCkpcmV0dXJuIGUubmFtZTt2YXIgdD1lLnRvU3RyaW5nKCkubWF0Y2goX0spO3JldHVybiB0JiZ0WzFdfX1mdW5jdGlvbiBfUShlKXt0aGlzLm5hbWU9IkFzc2VydGlvbkVycm9yIix0aGlzLmFjdHVhbD1lLmFjdHVhbCx0aGlzLmV4cGVjdGVkPWUuZXhwZWN0ZWQsdGhpcy5vcGVyYXRvcj1lLm9wZXJhdG9yLGUubWVzc2FnZT8odGhpcy5tZXNzYWdlPWUubWVzc2FnZSx0aGlzLmdlbmVyYXRlZE1lc3NhZ2U9ITEpOih0aGlzLm1lc3NhZ2U9KHQ9dGhpcyxfWChfSih0LmFjdHVhbCksMTI4KSsiICIrdC5vcGVyYXRvcisiICIrX1goX0oodC5leHBlY3RlZCksMTI4KSksdGhpcy5nZW5lcmF0ZWRNZXNzYWdlPSEwKTt2YXIgdCxuPWUuc3RhY2tTdGFydEZ1bmN0aW9ufHxmZTtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLG4pO2Vsc2V7dmFyIHI9RXJyb3IoKTtpZihyLnN0YWNrKXt2YXIgaT1yLnN0YWNrLG89X3EobiksYT1pLmluZGV4T2YoIlxuIitvKTtpZihhPj0wKXt2YXIgcz1pLmluZGV4T2YoIlxuIixhKzEpO2k9aS5zdWJzdHJpbmcocysxKX10aGlzLnN0YWNrPWl9fX1mdW5jdGlvbiBfWChlLHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lLmxlbmd0aDx0P2U6ZS5zbGljZSgwLHQpOmV9ZnVuY3Rpb24gX0ooZSl7aWYoX1ooKXx8IWhlKGUpKXJldHVybiBjOShlKTt2YXIgdD1fcShlKTtyZXR1cm4iW0Z1bmN0aW9uIisodD8iOiAiK3Q6IiIpKyJdIn1mdW5jdGlvbiBmZShlLHQsbixyLGkpe3Rocm93IG5ldyBfUSh7bWVzc2FnZTpuLGFjdHVhbDplLGV4cGVjdGVkOnQsb3BlcmF0b3I6cixzdGFja1N0YXJ0RnVuY3Rpb246aX0pfWZ1bmN0aW9uIGZ0KGUsdCl7ZXx8ZmUoZSwhMCx0LCI9PSIsZnQpfWZ1bmN0aW9uIGZuKGUsdCxuKXtlIT10JiZmZShlLHQsbiwiPT0iLGZuKX1mdW5jdGlvbiBmcihlLHQsbil7ZT09dCYmZmUoZSx0LG4sIiE9Iixmcil9ZnVuY3Rpb24gZmkoZSx0LG4pe2ZhKGUsdCwhMSl8fGZlKGUsdCxuLCJkZWVwRXF1YWwiLGZpKX1mdW5jdGlvbiBmbyhlLHQsbil7ZmEoZSx0LCEwKXx8ZmUoZSx0LG4sImRlZXBTdHJpY3RFcXVhbCIsZm8pfWZ1bmN0aW9uIGZhKGUsdCxuLHIpe2lmKGU9PT10KXJldHVybiEwO2lmKHRlKGUpJiZ0ZSh0KSlyZXR1cm4gMD09PV9GKGUsdCk7aWYoY1goZSkmJmNYKHQpKXJldHVybiBlLmdldFRpbWUoKT09PXQuZ2V0VGltZSgpO2lmKGNxKGUpJiZjcSh0KSlyZXR1cm4gZS5zb3VyY2U9PT10LnNvdXJjZSYmZS5nbG9iYWw9PT10Lmdsb2JhbCYmZS5tdWx0aWxpbmU9PT10Lm11bHRpbGluZSYmZS5sYXN0SW5kZXg9PT10Lmxhc3RJbmRleCYmZS5pZ25vcmVDYXNlPT09dC5pZ25vcmVDYXNlO2lmKChudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlKSYmKG51bGw9PT10fHwib2JqZWN0IiE9dHlwZW9mIHQpKXJldHVybiBuP2U9PT10OmU9PXQ7aWYoX1YoZSkmJl9WKHQpJiZfWShlKT09PV9ZKHQpJiYhKGUgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXl8fGUgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpKXJldHVybiAwPT09X0YobmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIpLG5ldyBVaW50OEFycmF5KHQuYnVmZmVyKSk7aWYodGUoZSkhPT10ZSh0KSlyZXR1cm4hMTt2YXIgaT0ocj1yfHx7YWN0dWFsOltdLGV4cGVjdGVkOltdfSkuYWN0dWFsLmluZGV4T2YoZSk7cmV0dXJuIC0xIT09aSYmaT09PXIuZXhwZWN0ZWQuaW5kZXhPZih0KXx8KHIuYWN0dWFsLnB1c2goZSksci5leHBlY3RlZC5wdXNoKHQpLGZ1bmN0aW9uIGUodCxuLHIsaSl7aWYobnVsbD09dHx8bnVsbD09bilyZXR1cm4hMTtpZihodCh0KXx8aHQobikpcmV0dXJuIHQ9PT1uO2lmKHImJk9iamVjdC5nZXRQcm90b3R5cGVPZih0KSE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihuKSlyZXR1cm4hMTt2YXIgbyxhLHM9ZnModCksbD1mcyhuKTtpZihzJiYhbHx8IXMmJmwpcmV0dXJuITE7aWYocylyZXR1cm4gdD1fai5jYWxsKHQpLG49X2ouY2FsbChuKSxmYSh0LG4scik7dmFyICQ9X0godCksYz1fSChuKTtpZigkLmxlbmd0aCE9PWMubGVuZ3RoKXJldHVybiExO2ZvcigkLnNvcnQoKSxjLnNvcnQoKSxhPSQubGVuZ3RoLTE7YT49MDthLS0paWYoJFthXSE9PWNbYV0pcmV0dXJuITE7Zm9yKGE9JC5sZW5ndGgtMTthPj0wO2EtLSlpZighZmEodFtvPSRbYV1dLG5bb10scixpKSlyZXR1cm4hMTtyZXR1cm4hMH0oZSx0LG4scikpfWZ1bmN0aW9uIGZzKGUpe3JldHVybiJbb2JqZWN0IEFyZ3VtZW50c10iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gZmwoZSx0LG4pe2ZhKGUsdCwhMSkmJmZlKGUsdCxuLCJub3REZWVwRXF1YWwiLGZsKX1mdW5jdGlvbiBmJChlLHQsbil7ZmEoZSx0LCEwKSYmZmUoZSx0LG4sIm5vdERlZXBTdHJpY3RFcXVhbCIsZiQpfWZ1bmN0aW9uIGZjKGUsdCxuKXtlIT09dCYmZmUoZSx0LG4sIj09PSIsZmMpfWZ1bmN0aW9uIGZoKGUsdCxuKXtlPT09dCYmZmUoZSx0LG4sIiE9PSIsZmgpfWZ1bmN0aW9uIGZ1KGUsdCl7aWYoIWV8fCF0KXJldHVybiExO2lmKCJbb2JqZWN0IFJlZ0V4cF0iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkpcmV0dXJuIHQudGVzdChlKTt0cnl7aWYoZSBpbnN0YW5jZW9mIHQpcmV0dXJuITB9Y2F0Y2gobil7fXJldHVybiFFcnJvci5pc1Byb3RvdHlwZU9mKHQpJiYhMD09PXQuY2FsbCh7fSxlKX1mdW5jdGlvbiBmZChlLHQsbixyKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBUeXBlRXJyb3IoJyJibG9jayIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7InN0cmluZyI9PXR5cGVvZiBuJiYocj1uLG49bnVsbCksaT1mdW5jdGlvbiBlKHQpe3ZhciBuO3RyeXt0KCl9Y2F0Y2gocil7bj1yfXJldHVybiBufSh0KSxyPShuJiZuLm5hbWU/IiAoIituLm5hbWUrIikuIjoiLiIpKyhyPyIgIityOiIuIiksZSYmIWkmJmZlKGksbiwiTWlzc2luZyBleHBlY3RlZCBleGNlcHRpb24iK3IpO3ZhciBpLG89InN0cmluZyI9PXR5cGVvZiByLGE9IWUmJmNKKGkpLHM9IWUmJmkmJiFuO2lmKChhJiZvJiZmdShpLG4pfHxzKSYmZmUoaSxuLCJHb3QgdW53YW50ZWQgZXhjZXB0aW9uIityKSxlJiZpJiZuJiYhZnUoaSxuKXx8IWUmJmkpdGhyb3cgaX1mdW5jdGlvbiBmXyhlLHQsbil7ZmQoITAsZSx0LG4pfWZ1bmN0aW9uIGZmKGUsdCxuKXtmZCghMSxlLHQsbil9ZnVuY3Rpb24gZnAoZSl7aWYoZSl0aHJvdyBlfV9HLkFzc2VydGlvbkVycm9yPV9RLGNTKF9RLEVycm9yKSxfRy5mYWlsPWZlLF9HLm9rPWZ0LF9HLmVxdWFsPWZuLF9HLm5vdEVxdWFsPWZyLF9HLmRlZXBFcXVhbD1maSxfRy5kZWVwU3RyaWN0RXF1YWw9Zm8sX0cubm90RGVlcEVxdWFsPWZsLF9HLm5vdERlZXBTdHJpY3RFcXVhbD1mJCxfRy5zdHJpY3RFcXVhbD1mYyxfRy5ub3RTdHJpY3RFcXVhbD1maCxfRy50aHJvd3M9Zl8sX0cuZG9lc05vdFRocm93PWZmLF9HLmlmRXJyb3I9ZnA7dmFyIGYxPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEFzc2VydGlvbkVycm9yOl9RLGFzc2VydDpmdCxkZWVwRXF1YWw6ZmksZGVlcFN0cmljdEVxdWFsOmZvLGRlZmF1bHQ6X0csZG9lc05vdFRocm93OmZmLGVxdWFsOmZuLGZhaWw6ZmUsaWZFcnJvcjpmcCxub3REZWVwRXF1YWw6Zmwsbm90RGVlcFN0cmljdEVxdWFsOmYkLG5vdEVxdWFsOmZyLG5vdFN0cmljdEVxdWFsOmZoLG9rOmZ0LHN0cmljdEVxdWFsOmZjLHRocm93czpmX30pLGYwPU8oZjEpLGZnPU8odG4pOyFmdW5jdGlvbihlLHQpe2xldCBuPWYwLm9rLHI9ZFIsaT1oaCxvPWZnLmtNYXhMZW5ndGg7ZnVuY3Rpb24gYShlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBhKSlyZXR1cm4gbmV3IGEoZSk7ZSYmZS5jaHVua1NpemU8ci5aX01JTl9DSFVOSyYmKGUuY2h1bmtTaXplPXIuWl9NSU5fQ0hVTkspLHIuSW5mbGF0ZS5jYWxsKHRoaXMsZSksdGhpcy5fb2Zmc2V0PXZvaWQgMD09PXRoaXMuX29mZnNldD90aGlzLl9vdXRPZmZzZXQ6dGhpcy5fb2Zmc2V0LHRoaXMuX2J1ZmZlcj10aGlzLl9idWZmZXJ8fHRoaXMuX291dEJ1ZmZlcixlJiZudWxsIT1lLm1heExlbmd0aCYmKHRoaXMuX21heExlbmd0aD1lLm1heExlbmd0aCl9ZnVuY3Rpb24gcyhlLHQpe3QmJnByb2Nlc3MubmV4dFRpY2sodCksZS5faGFuZGxlJiYoZS5faGFuZGxlLmNsb3NlKCksZS5faGFuZGxlPW51bGwpfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gZnVuY3Rpb24gZSh0LG4pe2lmKCJzdHJpbmciPT10eXBlb2YgbiYmKG49QnVmZmVyLmZyb20obikpLCEobiBpbnN0YW5jZW9mIEJ1ZmZlcikpdGhyb3cgVHlwZUVycm9yKCJOb3QgYSBzdHJpbmcgb3IgYnVmZmVyIik7bGV0IGk9dC5fZmluaXNoRmx1c2hGbGFnO3JldHVybiBudWxsPT1pJiYoaT1yLlpfRklOSVNIKSx0Ll9wcm9jZXNzQ2h1bmsobixpKX0obmV3IGEodCksZSl9YS5wcm90b3R5cGUuX3Byb2Nlc3NDaHVuaz1mdW5jdGlvbihlLHQsaSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGkpcmV0dXJuIHIuSW5mbGF0ZS5fcHJvY2Vzc0NodW5rLmNhbGwodGhpcyxlLHQsaSk7bGV0IGE9dGhpcyxsPWUmJmUubGVuZ3RoLCQ9dGhpcy5fY2h1bmtTaXplLXRoaXMuX29mZnNldCxjPXRoaXMuX21heExlbmd0aCxoPTAsdT1bXSxkPTAsXztmdW5jdGlvbiBmKGUsdCl7aWYoYS5faGFkRXJyb3IpcmV0dXJuO2xldCByPSQtdDtpZihuKHI+PTAsImhhdmUgc2hvdWxkIG5vdCBnbyBkb3duIikscj4wKXtsZXQgaT1hLl9idWZmZXIuc2xpY2UoYS5fb2Zmc2V0LGEuX29mZnNldCtyKTtpZihhLl9vZmZzZXQrPXIsaS5sZW5ndGg+YyYmKGk9aS5zbGljZSgwLGMpKSx1LnB1c2goaSksZCs9aS5sZW5ndGgsMD09KGMtPWkubGVuZ3RoKSlyZXR1cm4hMX1yZXR1cm4oMD09PXR8fGEuX29mZnNldD49YS5fY2h1bmtTaXplKSYmKCQ9YS5fY2h1bmtTaXplLGEuX29mZnNldD0wLGEuX2J1ZmZlcj1CdWZmZXIuYWxsb2NVbnNhZmUoYS5fY2h1bmtTaXplKSksMD09PXQmJihoKz1sLWUsbD1lLCEwKX10aGlzLm9uKCJlcnJvciIsZnVuY3Rpb24oZSl7Xz1lfSksbih0aGlzLl9oYW5kbGUsInpsaWIgYmluZGluZyBjbG9zZWQiKTtsZXQgcDtkbyBwPShwPXRoaXMuX2hhbmRsZS53cml0ZVN5bmModCxlLGgsbCx0aGlzLl9idWZmZXIsdGhpcy5fb2Zmc2V0LCQpKXx8dGhpcy5fd3JpdGVTdGF0ZTt3aGlsZSghdGhpcy5faGFkRXJyb3ImJmYocFswXSxwWzFdKSk7aWYodGhpcy5faGFkRXJyb3IpdGhyb3cgXztpZihkPj1vKXRocm93IHModGhpcyksUmFuZ2VFcnJvcigiQ2Fubm90IGNyZWF0ZSBmaW5hbCBCdWZmZXIuIEl0IHdvdWxkIGJlIGxhcmdlciB0aGFuIDB4IitvLnRvU3RyaW5nKDE2KSsiIGJ5dGVzIik7bGV0IGc9QnVmZmVyLmNvbmNhdCh1LGQpO3JldHVybiBzKHRoaXMpLGd9LGkuaW5oZXJpdHMoYSxyLkluZmxhdGUpLGUuZXhwb3J0cz10PWwsdC5JbmZsYXRlPWEsdC5jcmVhdGVJbmZsYXRlPWZ1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBhKHQpfSx0LmluZmxhdGVTeW5jPWx9KF9XLF9XLmV4cG9ydHMpO3ZhciBmbT1fVy5leHBvcnRzLGYzPXtleHBvcnRzOnt9fTtsZXQgZnc9ZjMuZXhwb3J0cz1mdW5jdGlvbihlKXt0aGlzLl9idWZmZXI9ZSx0aGlzLl9yZWFkcz1bXX07ZncucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZSx0KXt0aGlzLl9yZWFkcy5wdXNoKHtsZW5ndGg6TWF0aC5hYnMoZSksYWxsb3dMZXNzOmU8MCxmdW5jOnR9KX0sZncucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuX3JlYWRzLmxlbmd0aD4wJiZ0aGlzLl9idWZmZXIubGVuZ3RoOyl7bGV0IGU9dGhpcy5fcmVhZHNbMF07aWYodGhpcy5fYnVmZmVyLmxlbmd0aCYmKHRoaXMuX2J1ZmZlci5sZW5ndGg+PWUubGVuZ3RofHxlLmFsbG93TGVzcykpe3RoaXMuX3JlYWRzLnNoaWZ0KCk7bGV0IHQ9dGhpcy5fYnVmZmVyO3RoaXMuX2J1ZmZlcj10LnNsaWNlKGUubGVuZ3RoKSxlLmZ1bmMuY2FsbCh0aGlzLHQuc2xpY2UoMCxlLmxlbmd0aCkpfWVsc2UgYnJlYWt9cmV0dXJuIHRoaXMuX3JlYWRzLmxlbmd0aD4wP0Vycm9yKCJUaGVyZSBhcmUgc29tZSByZWFkIHJlcXVlc3RzIHdhaXRuZyBvbiBmaW5pc2hlZCBzdHJlYW0iKTp0aGlzLl9idWZmZXIubGVuZ3RoPjA/RXJyb3IoInVucmVjb2duaXNlZCBjb250ZW50IGF0IGVuZCBvZiBzdHJlYW0iKTp2b2lkIDB9O3ZhciBmdj1mMy5leHBvcnRzLGYyPXt9O2xldCBmND1mdixmYj1kWDtmMi5wcm9jZXNzPWZ1bmN0aW9uKGUsdCl7bGV0IG49W10scj1uZXcgZjQoZSk7cmV0dXJuIG5ldyBmYih0LHtyZWFkOnIucmVhZC5iaW5kKHIpLHdyaXRlOmZ1bmN0aW9uKGUpe24ucHVzaChlKX0sY29tcGxldGU6ZnVuY3Rpb24oKXt9fSkuc3RhcnQoKSxyLnByb2Nlc3MoKSxCdWZmZXIuY29uY2F0KG4pfTtsZXQgZjg9ITAsZjY9ZFIsZnk9Zm07ZjYuZGVmbGF0ZVN5bmN8fChmOD0hMSk7bGV0IGY1PWZ2LGZ4PWYyLGY3PV9kLGZFPV9fLGZDPV9tO3ZhciBmRD1mdW5jdGlvbihlLHQpe2lmKCFmOCl0aHJvdyBFcnJvcigiVG8gdXNlIHRoZSBzeW5jIGNhcGFiaWxpdHkgb2YgdGhpcyBsaWJyYXJ5IGluIG9sZCBub2RlIHZlcnNpb25zLCBwbGVhc2UgcGluIHBuZ2pzIHRvIHYyLjMuMCIpO2xldCBuO2Z1bmN0aW9uIHIoZSl7bj1lfWxldCBpO2Z1bmN0aW9uIG8oZSl7aT1lfWxldCBhO2Z1bmN0aW9uIHMoZSl7YT1lfWxldCBsPVtdLCQ9bmV3IGY1KGUpO2lmKG5ldyBmNyh0LHtyZWFkOiQucmVhZC5iaW5kKCQpLGVycm9yOnIsbWV0YWRhdGE6byxnYW1tYTpzLHBhbGV0dGU6ZnVuY3Rpb24gZSh0KXtpLnBhbGV0dGU9dH0sdHJhbnNDb2xvcjpmdW5jdGlvbiBlKHQpe2kudHJhbnNDb2xvcj10fSxpbmZsYXRlRGF0YTpmdW5jdGlvbiBlKHQpe2wucHVzaCh0KX0sc2ltcGxlVHJhbnNwYXJlbmN5OmZ1bmN0aW9uIGUoKXtpLmFscGhhPSEwfX0pLnN0YXJ0KCksJC5wcm9jZXNzKCksbil0aHJvdyBuO2xldCBjPUJ1ZmZlci5jb25jYXQobCk7bC5sZW5ndGg9MDtsZXQgaDtpZihpLmludGVybGFjZSloPWY2LmluZmxhdGVTeW5jKGMpO2Vsc2V7bGV0IHU9KChpLndpZHRoKmkuYnBwKmkuZGVwdGgrNz4+MykrMSkqaS5oZWlnaHQ7aD1meShjLHtjaHVua1NpemU6dSxtYXhMZW5ndGg6dX0pfWlmKGM9bnVsbCwhaHx8IWgubGVuZ3RoKXRocm93IEVycm9yKCJiYWQgcG5nIC0gaW52YWxpZCBpbmZsYXRlIGRhdGEgcmVzcG9uc2UiKTtsZXQgZD1meC5wcm9jZXNzKGgsaSk7Yz1udWxsO2xldCBfPWZFLmRhdGFUb0JpdE1hcChkLGkpO2Q9bnVsbDtsZXQgZj1mQyhfLGkpO3JldHVybiBpLmRhdGE9ZixpLmdhbW1hPWF8fDAsaX07bGV0IGZrPSEwLGZBPWRSO2ZBLmRlZmxhdGVTeW5jfHwoZms9ITEpO2xldCBmST1fbyxmVD1fTixmUz1mRCxmTD1mdW5jdGlvbihlLHQpe2lmKCFmayl0aHJvdyBFcnJvcigiVG8gdXNlIHRoZSBzeW5jIGNhcGFiaWxpdHkgb2YgdGhpcyBsaWJyYXJ5IGluIG9sZCBub2RlIHZlcnNpb25zLCBwbGVhc2UgcGluIHBuZ2pzIHRvIHYyLjMuMCIpO2xldCBuPW5ldyBmVCh0fHx7fSkscj1bXTtyLnB1c2goQnVmZmVyLmZyb20oZkkuUE5HX1NJR05BVFVSRSkpLHIucHVzaChuLnBhY2tJSERSKGUud2lkdGgsZS5oZWlnaHQpKSxlLmdhbW1hJiZyLnB1c2gobi5wYWNrR0FNQShlLmdhbW1hKSk7bGV0IGk9bi5maWx0ZXJEYXRhKGUuZGF0YSxlLndpZHRoLGUuaGVpZ2h0KSxvPWZBLmRlZmxhdGVTeW5jKGksbi5nZXREZWZsYXRlT3B0aW9ucygpKTtpZihpPW51bGwsIW98fCFvLmxlbmd0aCl0aHJvdyBFcnJvcigiYmFkIHBuZyAtIGludmFsaWQgY29tcHJlc3NlZCBkYXRhIHJlc3BvbnNlIik7cmV0dXJuIHIucHVzaChuLnBhY2tJREFUKG8pKSxyLnB1c2gobi5wYWNrSUVORCgpKSxCdWZmZXIuY29uY2F0KHIpfTtfQi5yZWFkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZTKGUsdHx8e30pfSxfQi53cml0ZT1mdW5jdGlvbihlLHQpe3JldHVybiBmTChlLHQpfTtsZXQgZk49aGgsZk89aEosZk09X3ksZlA9X1UsZjk9Y28uUE5HPWZ1bmN0aW9uKGUpe2ZPLmNhbGwodGhpcyksZT1lfHx7fSx0aGlzLndpZHRoPTB8ZS53aWR0aCx0aGlzLmhlaWdodD0wfGUuaGVpZ2h0LHRoaXMuZGF0YT10aGlzLndpZHRoPjAmJnRoaXMuaGVpZ2h0PjA/QnVmZmVyLmFsbG9jKDQqdGhpcy53aWR0aCp0aGlzLmhlaWdodCk6bnVsbCxlLmZpbGwmJnRoaXMuZGF0YSYmdGhpcy5kYXRhLmZpbGwoMCksdGhpcy5nYW1tYT0wLHRoaXMucmVhZGFibGU9dGhpcy53cml0YWJsZT0hMCx0aGlzLl9wYXJzZXI9bmV3IGZNKGUpLHRoaXMuX3BhcnNlci5vbigiZXJyb3IiLHRoaXMuZW1pdC5iaW5kKHRoaXMsImVycm9yIikpLHRoaXMuX3BhcnNlci5vbigiY2xvc2UiLHRoaXMuX2hhbmRsZUNsb3NlLmJpbmQodGhpcykpLHRoaXMuX3BhcnNlci5vbigibWV0YWRhdGEiLHRoaXMuX21ldGFkYXRhLmJpbmQodGhpcykpLHRoaXMuX3BhcnNlci5vbigiZ2FtbWEiLHRoaXMuX2dhbW1hLmJpbmQodGhpcykpLHRoaXMuX3BhcnNlci5vbigicGFyc2VkIiwoZnVuY3Rpb24oZSl7dGhpcy5kYXRhPWUsdGhpcy5lbWl0KCJwYXJzZWQiLGUpfSkuYmluZCh0aGlzKSksdGhpcy5fcGFja2VyPW5ldyBmUChlKSx0aGlzLl9wYWNrZXIub24oImRhdGEiLHRoaXMuZW1pdC5iaW5kKHRoaXMsImRhdGEiKSksdGhpcy5fcGFja2VyLm9uKCJlbmQiLHRoaXMuZW1pdC5iaW5kKHRoaXMsImVuZCIpKSx0aGlzLl9wYXJzZXIub24oImNsb3NlIix0aGlzLl9oYW5kbGVDbG9zZS5iaW5kKHRoaXMpKSx0aGlzLl9wYWNrZXIub24oImVycm9yIix0aGlzLmVtaXQuYmluZCh0aGlzLCJlcnJvciIpKX07Zk4uaW5oZXJpdHMoZjksZk8pLGY5LnN5bmM9X0IsZjkucHJvdG90eXBlLnBhY2s9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhJiZ0aGlzLmRhdGEubGVuZ3RoPyhwcm9jZXNzLm5leHRUaWNrKChmdW5jdGlvbigpe3RoaXMuX3BhY2tlci5wYWNrKHRoaXMuZGF0YSx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LHRoaXMuZ2FtbWEpfSkuYmluZCh0aGlzKSksdGhpcyk6KHRoaXMuZW1pdCgiZXJyb3IiLCJObyBkYXRhIHByb3ZpZGVkIiksdGhpcyl9LGY5LnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihlLHQpe2lmKHQpe2xldCBuLHI7bj0oZnVuY3Rpb24oZSl7dGhpcy5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLHIpLHRoaXMuZGF0YT1lLHQobnVsbCx0aGlzKX0pLmJpbmQodGhpcykscj0oZnVuY3Rpb24oZSl7dGhpcy5yZW1vdmVMaXN0ZW5lcigicGFyc2VkIixuKSx0KGUsbnVsbCl9KS5iaW5kKHRoaXMpLHRoaXMub25jZSgicGFyc2VkIixuKSx0aGlzLm9uY2UoImVycm9yIixyKX1yZXR1cm4gdGhpcy5lbmQoZSksdGhpc30sZjkucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9wYXJzZXIud3JpdGUoZSksITB9LGY5LnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oZSl7dGhpcy5fcGFyc2VyLmVuZChlKX0sZjkucHJvdG90eXBlLl9tZXRhZGF0YT1mdW5jdGlvbihlKXt0aGlzLndpZHRoPWUud2lkdGgsdGhpcy5oZWlnaHQ9ZS5oZWlnaHQsdGhpcy5lbWl0KCJtZXRhZGF0YSIsZSl9LGY5LnByb3RvdHlwZS5fZ2FtbWE9ZnVuY3Rpb24oZSl7dGhpcy5nYW1tYT1lfSxmOS5wcm90b3R5cGUuX2hhbmRsZUNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5fcGFyc2VyLndyaXRhYmxlfHx0aGlzLl9wYWNrZXIucmVhZGFibGV8fHRoaXMuZW1pdCgiY2xvc2UiKX0sZjkuYml0Ymx0PWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEscyl7aWYocnw9MCxpfD0wLG98PTAsYXw9MCxzfD0wLChufD0wKT5lLndpZHRofHxyPmUuaGVpZ2h0fHxuK2k+ZS53aWR0aHx8citvPmUuaGVpZ2h0KXRocm93IEVycm9yKCJiaXRibHQgcmVhZGluZyBvdXRzaWRlIGltYWdlIik7aWYoYT50LndpZHRofHxzPnQuaGVpZ2h0fHxhK2k+dC53aWR0aHx8cytvPnQuaGVpZ2h0KXRocm93IEVycm9yKCJiaXRibHQgd3JpdGluZyBvdXRzaWRlIGltYWdlIik7Zm9yKGxldCBsPTA7bDxvO2wrKyllLmRhdGEuY29weSh0LmRhdGEsKHMrbCkqdC53aWR0aCthPDwyLChyK2wpKmUud2lkdGgrbjw8MiwocitsKSplLndpZHRoK24raTw8Mil9LGY5LnByb3RvdHlwZS5iaXRibHQ9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7cmV0dXJuIGY5LmJpdGJsdCh0aGlzLGUsdCxuLHIsaSxvLGEpLHRoaXN9LGY5LmFkanVzdEdhbW1hPWZ1bmN0aW9uKGUpe2lmKGUuZ2FtbWEpe2ZvcihsZXQgdD0wO3Q8ZS5oZWlnaHQ7dCsrKWZvcihsZXQgbj0wO248ZS53aWR0aDtuKyspe2xldCByPWUud2lkdGgqdCtuPDwyO2ZvcihsZXQgaT0wO2k8MztpKyspe2xldCBvPWUuZGF0YVtyK2ldLzI1NTtvPU1hdGgucG93KG8sMS8yLjIvZS5nYW1tYSksZS5kYXRhW3IraV09TWF0aC5yb3VuZCgyNTUqbyl9fWUuZ2FtbWE9MH19LGY5LnByb3RvdHlwZS5hZGp1c3RHYW1tYT1mdW5jdGlvbigpe2Y5LmFkanVzdEdhbW1hKHRoaXMpfTt2YXIgZlI9e307IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7aWYoIm51bWJlciI9PXR5cGVvZiBlJiYoZT1lLnRvU3RyaW5nKCkpLCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcigiQ29sb3Igc2hvdWxkIGJlIGRlZmluZWQgYXMgaGV4IHN0cmluZyIpO2xldCB0PWUuc2xpY2UoKS5yZXBsYWNlKCIjIiwiIikuc3BsaXQoIiIpO2lmKHQubGVuZ3RoPDN8fDU9PT10Lmxlbmd0aHx8dC5sZW5ndGg+OCl0aHJvdyBFcnJvcigiSW52YWxpZCBoZXggY29sb3I6ICIrZSk7KDM9PT10Lmxlbmd0aHx8ND09PXQubGVuZ3RoKSYmKHQ9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSx0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZSxlXX0pKSksNj09PXQubGVuZ3RoJiZ0LnB1c2goIkYiLCJGIik7bGV0IG49cGFyc2VJbnQodC5qb2luKCIiKSwxNik7cmV0dXJue3I6bj4+MjQmMjU1LGc6bj4+MTYmMjU1LGI6bj4+OCYyNTUsYToyNTUmbixoZXg6IiMiK3Quc2xpY2UoMCw2KS5qb2luKCIiKX19ZS5nZXRPcHRpb25zPWZ1bmN0aW9uIGUobil7bnx8KG49e30pLG4uY29sb3J8fChuLmNvbG9yPXt9KTtsZXQgcj12b2lkIDA9PT1uLm1hcmdpbnx8bnVsbD09PW4ubWFyZ2lufHxuLm1hcmdpbjwwPzQ6bi5tYXJnaW4saT1uLndpZHRoJiZuLndpZHRoPj0yMT9uLndpZHRoOnZvaWQgMCxvPW4uc2NhbGV8fDQ7cmV0dXJue3dpZHRoOmksc2NhbGU6aT80Om8sbWFyZ2luOnIsY29sb3I6e2Rhcms6dChuLmNvbG9yLmRhcmt8fCIjMDAwMDAwZmYiKSxsaWdodDp0KG4uY29sb3IubGlnaHR8fCIjZmZmZmZmZmYiKX0sdHlwZTpuLnR5cGUscmVuZGVyZXJPcHRzOm4ucmVuZGVyZXJPcHRzfHx7fX19LGUuZ2V0U2NhbGU9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiBuLndpZHRoJiZuLndpZHRoPj10KzIqbi5tYXJnaW4/bi53aWR0aC8odCsyKm4ubWFyZ2luKTpuLnNjYWxlfSxlLmdldEltYWdlV2lkdGg9ZnVuY3Rpb24gdChuLHIpe2xldCBpPWUuZ2V0U2NhbGUobixyKTtyZXR1cm4gTWF0aC5mbG9vcigobisyKnIubWFyZ2luKSppKX0sZS5xclRvSW1hZ2VEYXRhPWZ1bmN0aW9uIHQobixyLGkpe2xldCBvPXIubW9kdWxlcy5zaXplLGE9ci5tb2R1bGVzLmRhdGEscz1lLmdldFNjYWxlKG8saSksbD1NYXRoLmZsb29yKChvKzIqaS5tYXJnaW4pKnMpLCQ9aS5tYXJnaW4qcyxjPVtpLmNvbG9yLmxpZ2h0LGkuY29sb3IuZGFya107Zm9yKGxldCBoPTA7aDxsO2grKylmb3IobGV0IHU9MDt1PGw7dSsrKXtsZXQgZD0oaCpsK3UpKjQsXz1pLmNvbG9yLmxpZ2h0O2lmKGg+PSQmJnU+PSQmJmg8bC0kJiZ1PGwtJCl7bGV0IGY9TWF0aC5mbG9vcigoaC0kKS9zKSxwPU1hdGguZmxvb3IoKHUtJCkvcyk7Xz1jW2FbZipvK3BdPzE6MF19bltkKytdPV8ucixuW2QrK109Xy5nLG5bZCsrXT1fLmIsbltkXT1fLmF9fX0oZlIpLGZ1bmN0aW9uKGUpe2xldCB0PWNpLG49Y28uUE5HLHI9ZlI7ZS5yZW5kZXI9ZnVuY3Rpb24gZSh0LGkpe2xldCBvPXIuZ2V0T3B0aW9ucyhpKSxhPW8ucmVuZGVyZXJPcHRzLHM9ci5nZXRJbWFnZVdpZHRoKHQubW9kdWxlcy5zaXplLG8pO2Eud2lkdGg9cyxhLmhlaWdodD1zO2xldCBsPW5ldyBuKGEpO3JldHVybiByLnFyVG9JbWFnZURhdGEobC5kYXRhLHQsbyksbH0sZS5yZW5kZXJUb0RhdGFVUkw9ZnVuY3Rpb24gdChuLHIsaSl7dm9pZCAwPT09aSYmKGk9cixyPXZvaWQgMCksZS5yZW5kZXJUb0J1ZmZlcihuLHIsZnVuY3Rpb24oZSx0KXtlJiZpKGUpO2xldCBuPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsIjtpKG51bGwsbis9dC50b1N0cmluZygiYmFzZTY0IikpfSl9LGUucmVuZGVyVG9CdWZmZXI9ZnVuY3Rpb24gdChuLHIsaSl7dm9pZCAwPT09aSYmKGk9cixyPXZvaWQgMCk7bGV0IG89ZS5yZW5kZXIobixyKSxhPVtdO28ub24oImVycm9yIixpKSxvLm9uKCJkYXRhIixmdW5jdGlvbihlKXthLnB1c2goZSl9KSxvLm9uKCJlbmQiLGZ1bmN0aW9uKCl7aShudWxsLEJ1ZmZlci5jb25jYXQoYSkpfSksby5wYWNrKCl9LGUucmVuZGVyVG9GaWxlPWZ1bmN0aW9uIG4ocixpLG8sYSl7dm9pZCAwPT09YSYmKGE9byxvPXZvaWQgMCk7bGV0IHM9ITEsbD0oLi4uZSk9PntzfHwocz0hMCxhLmFwcGx5KG51bGwsZSkpfSwkPXQuY3JlYXRlV3JpdGVTdHJlYW0ocik7JC5vbigiZXJyb3IiLGwpLCQub24oImNsb3NlIixsKSxlLnJlbmRlclRvRmlsZVN0cmVhbSgkLGksbyl9LGUucmVuZGVyVG9GaWxlU3RyZWFtPWZ1bmN0aW9uIHQobixyLGkpe2xldCBvPWUucmVuZGVyKHIsaSk7by5wYWNrKCkucGlwZShuKX19KGNyKTt2YXIgZlU9e307IWZ1bmN0aW9uKGUpe2xldCB0PWZSLG49e1dXOiIgIixXQjoi4paEIixCQjoi4paIIixCVzoi4paAIn0scj17QkI6IiAiLEJXOiLiloQiLFdXOiLilogiLFdCOiLiloAifTtmdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gZSYmdD9uLkJCOmUmJiF0P24uQlc6IWUmJnQ/bi5XQjpuLldXfWUucmVuZGVyPWZ1bmN0aW9uKGUsbyxhKXtsZXQgcz10LmdldE9wdGlvbnMobyksbD1uOygiI2ZmZmZmZiI9PT1zLmNvbG9yLmRhcmsuaGV4fHwiIzAwMDAwMCI9PT1zLmNvbG9yLmxpZ2h0LmhleCkmJihsPXIpO2xldCAkPWUubW9kdWxlcy5zaXplLGM9ZS5tb2R1bGVzLmRhdGEsaD0iIix1PUFycmF5KCQrMipzLm1hcmdpbisxKS5qb2luKGwuV1cpO3U9QXJyYXkocy5tYXJnaW4vMisxKS5qb2luKHUrIlxuIik7bGV0IGQ9QXJyYXkocy5tYXJnaW4rMSkuam9pbihsLldXKTtoKz11O2ZvcihsZXQgXz0wO188JDtfKz0yKXtoKz1kO2ZvcihsZXQgZj0wO2Y8JDtmKyspe2xldCBwPWNbXyokK2ZdLGc9Y1soXysxKSokK2ZdO2grPWkocCxnLGwpfWgrPWQrIlxuIn1yZXR1cm4gaCs9dS5zbGljZSgwLC0xKSwiZnVuY3Rpb24iPT10eXBlb2YgYSYmYShudWxsLGgpLGh9LGUucmVuZGVyVG9GaWxlPWZ1bmN0aW9uIHQobixyLGksbyl7dm9pZCAwPT09byYmKG89aSxpPXZvaWQgMCk7bGV0IGE9Y2kscz1lLnJlbmRlcihyLGkpO2Eud3JpdGVGaWxlKG4scyxvKX19KGZVKTt2YXIgZkI9e30sZlc9e307ZlcucmVuZGVyPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLm1vZHVsZXMuc2l6ZSxpPWUubW9kdWxlcy5kYXRhLG89Ilx4MWJbNDdtICBceDFiWzBtIixhPSIiLHM9QXJyYXkociszKS5qb2luKG8pLGw9WywsXS5qb2luKG8pO2ErPXMrIlxuIjtmb3IobGV0ICQ9MDskPHI7KyskKXthKz1vO2ZvcihsZXQgYz0wO2M8cjtjKyspYSs9aVskKnIrY10/Ilx4MWJbNDBtICBceDFiWzBtIjpvO2ErPWwrIlxuIn1yZXR1cm4gYSs9cysiXG4iLCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuKG51bGwsYSksYX07dmFyIGZGPXt9O2xldCBmej0iXHgxYlszN20iLGZIPSJceDFiWzMwbSIsZmo9Ilx4MWJbMG0iLGZaPSJceDFiWzQ3bSIrZkgsZlk9Ilx4MWJbNDBtIitmeixmVj1mdW5jdGlvbihlLHQsbil7cmV0dXJuezA6ZmorIiAiK2UsMTpmait0KyLiloQiK2UsMjpmaituKyLiloQiK2UsMTA6ZmordCsi4paAIitlLDExOiIgIiwxMjoi4paEIiwyMDpmaituKyLiloAiK2UsMjE6IuKWgCIsMjI6IuKWiCJ9fSxmRz1mdW5jdGlvbihlLHQsbixyKXtsZXQgaT10KzE7cmV0dXJuIG4+PWl8fHI+PWl8fHI8LTF8fG48LTE/IjAiOm4+PXR8fHI+PXR8fHI8MHx8bjwwPyIxIjplW3IqdCtuXT8iMiI6IjEifSxmSz1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gZkcoZSx0LG4scikrZkcoZSx0LG4scisxKX07ZkYucmVuZGVyPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLm1vZHVsZXMuc2l6ZSxpPWUubW9kdWxlcy5kYXRhLG89ISEodCYmdC5pbnZlcnNlKSxhPXQmJnQuaW52ZXJzZT9mWTpmWixzPW8/Zkg6ZnosbD1vP2Z6OmZILCQ9ZlYoYSxzLGwpLGM9ZmorIlxuIithLGg9YTtmb3IobGV0IHU9LTE7dTxyKzE7dSs9Mil7Zm9yKGxldCBkPS0xO2Q8cjtkKyspaCs9JFtmSyhpLHIsZCx1KV07aCs9JFtmSyhpLHIscix1KV0rY31yZXR1cm4gaCs9ZmosImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4obnVsbCxoKSxofTtsZXQgZnE9ZlcsZlE9ZkY7ZkIucmVuZGVyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmdC5zbWFsbD9mUS5yZW5kZXIoZSx0LG4pOmZxLnJlbmRlcihlLHQsbil9O3ZhciBmWD17fSxmSj17fTtsZXQgcGU9ZlI7ZnVuY3Rpb24gcHQoZSx0KXtsZXQgbj1lLmEvMjU1LHI9dCsnPSInK2UuaGV4KyciJztyZXR1cm4gbjwxP3IrIiAiK3QrJy1vcGFjaXR5PSInK24udG9GaXhlZCgyKS5zbGljZSgxKSsnIic6cn1mdW5jdGlvbiBwbihlLHQsbil7bGV0IHI9ZSt0O3JldHVybiB2b2lkIDAhPT1uJiYocis9IiAiK24pLHJ9ZkoucmVuZGVyPWZ1bmN0aW9uIGUodCxuLHIpe2xldCBpPXBlLmdldE9wdGlvbnMobiksbz10Lm1vZHVsZXMuc2l6ZSxhPXQubW9kdWxlcy5kYXRhLHM9bysyKmkubWFyZ2luLGw9aS5jb2xvci5saWdodC5hPyI8cGF0aCAiK3B0KGkuY29sb3IubGlnaHQsImZpbGwiKSsnIGQ9Ik0wIDBoJytzKyJ2IitzKydIMHoiLz4nOiIiLCQ9IjxwYXRoICIrcHQoaS5jb2xvci5kYXJrLCJzdHJva2UiKSsnIGQ9IicrZnVuY3Rpb24gZSh0LG4scil7bGV0IGk9IiIsbz0wLGE9ITEscz0wO2ZvcihsZXQgbD0wO2w8dC5sZW5ndGg7bCsrKXtsZXQgJD1NYXRoLmZsb29yKGwlbiksYz1NYXRoLmZsb29yKGwvbik7JHx8YXx8KGE9ITApLHRbbF0/KHMrKyxsPjAmJiQ+MCYmdFtsLTFdfHwoaSs9YT9wbigiTSIsJCtyLC41K2Mrcik6cG4oIm0iLG8sMCksbz0wLGE9ITEpLCQrMTxuJiZ0W2wrMV18fChpKz1wbigiaCIscykscz0wKSk6bysrfXJldHVybiBpfShhLG8saS5tYXJnaW4pKyciLz4nLGM9aS53aWR0aD8nd2lkdGg9IicraS53aWR0aCsnIiBoZWlnaHQ9IicraS53aWR0aCsnIiAnOiIiLGg9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAnK2MrKCd2aWV3Qm94PSIwIDAgJytzKyIgIikrcysnIiBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiPicrbCskKyI8L3N2Zz5cbiI7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHImJnIobnVsbCxoKSxofSwobj1mWCkucmVuZGVyPWZKLnJlbmRlcixuLnJlbmRlclRvRmlsZT1mdW5jdGlvbiBlKHQscixpLG8pe3ZvaWQgMD09PW8mJihvPWksaT12b2lkIDApO2xldCBhPWNpLHM9bi5yZW5kZXIocixpKTthLndyaXRlRmlsZSh0LCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+JytzLG8pfTt2YXIgcHI9e30scGk9e307bGV0IHBvPWxXLHBhPWxGLHBzPWNyLHBsPWZVLHAkPWZCLHBjPWZYO2Z1bmN0aW9uIHBoKGUsdCxuKXtpZih2b2lkIDA9PT1lKXRocm93IEVycm9yKCJTdHJpbmcgcmVxdWlyZWQgYXMgZmlyc3QgYXJndW1lbnQiKTtpZih2b2lkIDA9PT1uJiYobj10LHQ9e30pLCJmdW5jdGlvbiIhPXR5cGVvZiBuKXtpZihwbygpKXQ9bnx8e30sbj1udWxsO2Vsc2UgdGhyb3cgRXJyb3IoIkNhbGxiYWNrIHJlcXVpcmVkIGFzIGxhc3QgYXJndW1lbnQiKX1yZXR1cm57b3B0czp0LGNiOm59fWZ1bmN0aW9uIHB1KGUpe3N3aXRjaChlKXtjYXNlInN2ZyI6cmV0dXJuIHBjO2Nhc2UidHh0IjpjYXNlInV0ZjgiOnJldHVybiBwbDtkZWZhdWx0OnJldHVybiBwc319ZnVuY3Rpb24gcGQoZSx0LG4pe2lmKCFuLmNiKXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe3RyeXtsZXQgbz1wYS5jcmVhdGUodCxuLm9wdHMpO3JldHVybiBlKG8sbi5vcHRzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/aShlKTpyKHQpfSl9Y2F0Y2goYSl7aShhKX19KTt0cnl7bGV0IHI9cGEuY3JlYXRlKHQsbi5vcHRzKTtyZXR1cm4gZShyLG4ub3B0cyxuLmNiKX1jYXRjaChpKXtuLmNiKGkpfX1sQi5jcmVhdGU9cGEuY3JlYXRlLGxCLnRvQ2FudmFzPWZ1bmN0aW9uIGUoKXtpZihUKXJldHVybiBwcjtUPTE7bGV0IHQ9bFcsbj1sRixyPShJfHwoST0xLGZ1bmN0aW9uKGUpe2xldCB0PWZSO2UucmVuZGVyPWZ1bmN0aW9uIGUobixyLGkpe3ZhciBvLGEscztsZXQgbD1pLCQ9cjt2b2lkIDAhPT1sfHxyJiZyLmdldENvbnRleHR8fChsPXIscj12b2lkIDApLHJ8fCgkPWZ1bmN0aW9uIGUoKXt0cnl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpfWNhdGNoKHQpe3Rocm93IEVycm9yKCJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgY2FudmFzIGVsZW1lbnQiKX19KCkpLGw9dC5nZXRPcHRpb25zKGwpO2xldCBjPXQuZ2V0SW1hZ2VXaWR0aChuLm1vZHVsZXMuc2l6ZSxsKSxoPSQuZ2V0Q29udGV4dCgiMmQiKSx1PWguY3JlYXRlSW1hZ2VEYXRhKGMsYyk7cmV0dXJuIHQucXJUb0ltYWdlRGF0YSh1LmRhdGEsbixsKSxvPWgsYT0kLHM9YyxvLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5zdHlsZXx8KGEuc3R5bGU9e30pLGEuaGVpZ2h0PXMsYS53aWR0aD1zLGEuc3R5bGUuaGVpZ2h0PXMrInB4IixhLnN0eWxlLndpZHRoPXMrInB4IixoLnB1dEltYWdlRGF0YSh1LDAsMCksJH0sZS5yZW5kZXJUb0RhdGFVUkw9ZnVuY3Rpb24gdChuLHIsaSl7bGV0IG89aTt2b2lkIDAhPT1vfHxyJiZyLmdldENvbnRleHR8fChvPXIscj12b2lkIDApLG98fChvPXt9KTtsZXQgYT1lLnJlbmRlcihuLHIsbykscz1vLnR5cGV8fCJpbWFnZS9wbmciLGw9by5yZW5kZXJlck9wdHN8fHt9O3JldHVybiBhLnRvRGF0YVVSTChzLGwucXVhbGl0eSl9fShwaSkpLHBpKSxpPWZKO2Z1bmN0aW9uIG8oZSxyLGksbyxhKXtsZXQgcz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxsPXMubGVuZ3RoLCQ9ImZ1bmN0aW9uIj09dHlwZW9mIHNbbC0xXTtpZighJCYmIXQoKSl0aHJvdyBFcnJvcigiQ2FsbGJhY2sgcmVxdWlyZWQgYXMgbGFzdCBhcmd1bWVudCIpO2lmKCQpe2lmKGw8Mil0aHJvdyBFcnJvcigiVG9vIGZldyBhcmd1bWVudHMgcHJvdmlkZWQiKTsyPT09bD8oYT1pLGk9cixyPW89dm9pZCAwKTozPT09bCYmKHIuZ2V0Q29udGV4dCYmdm9pZCAwPT09YT8oYT1vLG89dm9pZCAwKTooYT1vLG89aSxpPXIscj12b2lkIDApKX1lbHNle2lmKGw8MSl0aHJvdyBFcnJvcigiVG9vIGZldyBhcmd1bWVudHMgcHJvdmlkZWQiKTtyZXR1cm4gMT09PWw/KGk9cixyPW89dm9pZCAwKToyIT09bHx8ci5nZXRDb250ZXh0fHwobz1pLGk9cixyPXZvaWQgMCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxhKXt0cnl7bGV0IHM9bi5jcmVhdGUoaSxvKTt0KGUocyxyLG8pKX1jYXRjaChsKXthKGwpfX0pfXRyeXtsZXQgYz1uLmNyZWF0ZShpLG8pO2EobnVsbCxlKGMscixvKSl9Y2F0Y2goaCl7YShoKX19cmV0dXJuIHByLmNyZWF0ZT1uLmNyZWF0ZSxwci50b0NhbnZhcz1vLmJpbmQobnVsbCxyLnJlbmRlcikscHIudG9EYXRhVVJMPW8uYmluZChudWxsLHIucmVuZGVyVG9EYXRhVVJMKSxwci50b1N0cmluZz1vLmJpbmQobnVsbCxmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkucmVuZGVyKGUsbil9KSxwcn0oKS50b0NhbnZhcyxsQi50b1N0cmluZz1mdW5jdGlvbiBlKHQsbixyKXtsZXQgaT1waCh0LG4sciksbz1pLm9wdHM/aS5vcHRzLnR5cGU6dm9pZCAwLGE9ZnVuY3Rpb24gZSh0KXtzd2l0Y2godCl7Y2FzZSJzdmciOnJldHVybiBwYztjYXNlInRlcm1pbmFsIjpyZXR1cm4gcCQ7ZGVmYXVsdDpyZXR1cm4gcGx9fShvKTtyZXR1cm4gcGQoYS5yZW5kZXIsdCxpKX0sbEIudG9EYXRhVVJMPWZ1bmN0aW9uIGUodCxuLHIpe2xldCBpPXBoKHQsbixyKSxvPXB1KGkub3B0cy50eXBlKTtyZXR1cm4gcGQoby5yZW5kZXJUb0RhdGFVUkwsdCxpKX0sbEIudG9CdWZmZXI9ZnVuY3Rpb24gZSh0LG4scil7bGV0IGk9cGgodCxuLHIpLG89cHUoaS5vcHRzLnR5cGUpO3JldHVybiBwZChvLnJlbmRlclRvQnVmZmVyLHQsaSl9LGxCLnRvRmlsZT1mdW5jdGlvbiBlKHQsbixyLGkpe3ZhciBvO2lmKCJzdHJpbmciIT10eXBlb2YgdHx8ISgic3RyaW5nIj09dHlwZW9mIG58fCJvYmplY3QiPT10eXBlb2YgbikpdGhyb3cgRXJyb3IoIkludmFsaWQgYXJndW1lbnQiKTtpZihhcmd1bWVudHMubGVuZ3RoPDMmJiFwbygpKXRocm93IEVycm9yKCJUb28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCIpO2xldCBhPXBoKG4scixpKSxzPWEub3B0cy50eXBlfHwobz10KS5zbGljZSgoby5sYXN0SW5kZXhPZigiLiIpLTE+Pj4wKSsyKS50b0xvd2VyQ2FzZSgpLGw9cHUocyksJD1sLnJlbmRlclRvRmlsZS5iaW5kKG51bGwsdCk7cmV0dXJuIHBkKCQsbixhKX0sbEIudG9GaWxlU3RyZWFtPWZ1bmN0aW9uIGUodCxuLHIpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil0aHJvdyBFcnJvcigiVG9vIGZldyBhcmd1bWVudHMgcHJvdmlkZWQiKTtsZXQgaT1waChuLHIsdC5lbWl0LmJpbmQodCwiZXJyb3IiKSksbz1wdSgicG5nIiksYT1vLnJlbmRlclRvRmlsZVN0cmVhbS5iaW5kKG51bGwsdCk7cGQoYSxuLGkpfTt2YXIgcF89TihsQikscGY9T2JqZWN0LmRlZmluZVByb3BlcnR5LHBwPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMscDE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxwMD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLHBnPShlLHQsbik9PnQgaW4gZT9wZihlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTplW3RdPW4scG09KGUsdCk9Pntmb3IodmFyIG4gaW4gdHx8KHQ9e30pKXAxLmNhbGwodCxuKSYmcGcoZSxuLHRbbl0pO2lmKHBwKWZvcih2YXIgbiBvZiBwcCh0KSlwMC5jYWxsKHQsbikmJnBnKGUsbix0W25dKTtyZXR1cm4gZX07ZnVuY3Rpb24gcDMoKXtyZXR1cm57Ii0tdzNtLWFjY2VudC1jb2xvciI6IiMzMzk2RkYiLCItLXczbS1hY2NlbnQtZmlsbC1jb2xvciI6IiNGRkZGRkYiLCItLXczbS16LWluZGV4IjoiODkiLCItLXczbS1iYWNrZ3JvdW5kLWNvbG9yIjoiIzMzOTZGRiIsIi0tdzNtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cyI6IjhweCIsIi0tdzNtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzIjoiMzBweCIsIi0tdzNtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXMiOiIxNXB4IiwiLS13M20td2FsbGV0LWljb24tbGFyZ2UtYm9yZGVyLXJhZGl1cyI6IjMwcHgiLCItLXczbS13YWxsZXQtaWNvbi1zbWFsbC1ib3JkZXItcmFkaXVzIjoiN3B4IiwiLS13M20taW5wdXQtYm9yZGVyLXJhZGl1cyI6IjI4cHgiLCItLXczbS1idXR0b24tYm9yZGVyLXJhZGl1cyI6IjEwcHgiLCItLXczbS1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cyI6IjM2cHgiLCItLXczbS1zZWNvbmRhcnktYnV0dG9uLWJvcmRlci1yYWRpdXMiOiIyOHB4IiwiLS13M20taWNvbi1idXR0b24tYm9yZGVyLXJhZGl1cyI6IjUwJSIsIi0tdzNtLWJ1dHRvbi1ob3Zlci1oaWdobGlnaHQtYm9yZGVyLXJhZGl1cyI6IjEwcHgiLCItLXczbS10ZXh0LWJpZy1ib2xkLXNpemUiOiIyMHB4IiwiLS13M20tdGV4dC1iaWctYm9sZC13ZWlnaHQiOiI2MDAiLCItLXczbS10ZXh0LWJpZy1ib2xkLWxpbmUtaGVpZ2h0IjoiMjRweCIsIi0tdzNtLXRleHQtYmlnLWJvbGQtbGV0dGVyLXNwYWNpbmciOiItMC4wM2VtIiwiLS13M20tdGV4dC1iaWctYm9sZC10ZXh0LXRyYW5zZm9ybSI6Im5vbmUiLCItLXczbS10ZXh0LXhzbWFsbC1ib2xkLXNpemUiOiIxMHB4IiwiLS13M20tdGV4dC14c21hbGwtYm9sZC13ZWlnaHQiOiI3MDAiLCItLXczbS10ZXh0LXhzbWFsbC1ib2xkLWxpbmUtaGVpZ2h0IjoiMTJweCIsIi0tdzNtLXRleHQteHNtYWxsLWJvbGQtbGV0dGVyLXNwYWNpbmciOiIwLjAyZW0iLCItLXczbS10ZXh0LXhzbWFsbC1ib2xkLXRleHQtdHJhbnNmb3JtIjoidXBwZXJjYXNlIiwiLS13M20tdGV4dC14c21hbGwtcmVndWxhci1zaXplIjoiMTJweCIsIi0tdzNtLXRleHQteHNtYWxsLXJlZ3VsYXItd2VpZ2h0IjoiNjAwIiwiLS13M20tdGV4dC14c21hbGwtcmVndWxhci1saW5lLWhlaWdodCI6IjE0cHgiLCItLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLWxldHRlci1zcGFjaW5nIjoiLTAuMDNlbSIsIi0tdzNtLXRleHQteHNtYWxsLXJlZ3VsYXItdGV4dC10cmFuc2Zvcm0iOiJub25lIiwiLS13M20tdGV4dC1zbWFsbC10aGluLXNpemUiOiIxNHB4IiwiLS13M20tdGV4dC1zbWFsbC10aGluLXdlaWdodCI6IjUwMCIsIi0tdzNtLXRleHQtc21hbGwtdGhpbi1saW5lLWhlaWdodCI6IjE2cHgiLCItLXczbS10ZXh0LXNtYWxsLXRoaW4tbGV0dGVyLXNwYWNpbmciOiItMC4wM2VtIiwiLS13M20tdGV4dC1zbWFsbC10aGluLXRleHQtdHJhbnNmb3JtIjoibm9uZSIsIi0tdzNtLXRleHQtc21hbGwtcmVndWxhci1zaXplIjoiMTRweCIsIi0tdzNtLXRleHQtc21hbGwtcmVndWxhci13ZWlnaHQiOiI2MDAiLCItLXczbS10ZXh0LXNtYWxsLXJlZ3VsYXItbGluZS1oZWlnaHQiOiIxNnB4IiwiLS13M20tdGV4dC1zbWFsbC1yZWd1bGFyLWxldHRlci1zcGFjaW5nIjoiLTAuMDNlbSIsIi0tdzNtLXRleHQtc21hbGwtcmVndWxhci10ZXh0LXRyYW5zZm9ybSI6Im5vbmUiLCItLXczbS10ZXh0LW1lZGl1bS1yZWd1bGFyLXNpemUiOiIxNnB4IiwiLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci13ZWlnaHQiOiI2MDAiLCItLXczbS10ZXh0LW1lZGl1bS1yZWd1bGFyLWxpbmUtaGVpZ2h0IjoiMjBweCIsIi0tdzNtLXRleHQtbWVkaXVtLXJlZ3VsYXItbGV0dGVyLXNwYWNpbmciOiItMC4wM2VtIiwiLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci10ZXh0LXRyYW5zZm9ybSI6Im5vbmUiLCItLXczbS1mb250LWZhbWlseSI6Ii1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIFVidW50dSwgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZiIsIi0tdzNtLXN1Y2Nlc3MtY29sb3IiOiJyZ2IoMzgsMTgxLDk4KSIsIi0tdzNtLWVycm9yLWNvbG9yIjoicmdiKDI0MiwgOTAsIDEwMykifX1sZXQgcHc9e2dldFByZXNldDplPT5wMygpW2VdLHNldFRoZW1lKCl7bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiOnJvb3QiKSx7dGhlbWVWYXJpYWJsZXM6dH09dFMuc3RhdGU7aWYoZSl7bGV0IG49cG0ocG0ocG0ocG0oe30sZnVuY3Rpb24gZSgpe3ZhciB0O2xldCBuPW51bGwhPSh0PXRTLnN0YXRlLnRoZW1lTW9kZSk/dDoiZGFyayIscj17bGlnaHQ6e2ZvcmVncm91bmQ6ezE6InJnYigyMCwyMCwyMCkiLDI6InJnYigxMjEsMTM0LDEzNCkiLDM6InJnYigxNTgsMTY5LDE2OSkifSxiYWNrZ3JvdW5kOnsxOiJyZ2IoMjU1LDI1NSwyNTUpIiwyOiJyZ2IoMjQxLDI0MywyNDMpIiwzOiJyZ2IoMjI4LDIzMSwyMzEpIn0sb3ZlcmxheToicmdiYSgwLDAsMCwwLjEpIn0sZGFyazp7Zm9yZWdyb3VuZDp7MToicmdiKDIyOCwyMzEsMjMxKSIsMjoicmdiKDE0OCwxNTgsMTU4KSIsMzoicmdiKDExMCwxMTksMTE5KSJ9LGJhY2tncm91bmQ6ezE6InJnYigyMCwyMCwyMCkiLDI6InJnYigzOSw0Miw0MikiLDM6InJnYig1OSw2NCw2NCkifSxvdmVybGF5OiJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkifX1bbl07cmV0dXJueyItLXczbS1jb2xvci1mZy0xIjpyLmZvcmVncm91bmRbMV0sIi0tdzNtLWNvbG9yLWZnLTIiOnIuZm9yZWdyb3VuZFsyXSwiLS13M20tY29sb3ItZmctMyI6ci5mb3JlZ3JvdW5kWzNdLCItLXczbS1jb2xvci1iZy0xIjpyLmJhY2tncm91bmRbMV0sIi0tdzNtLWNvbG9yLWJnLTIiOnIuYmFja2dyb3VuZFsyXSwiLS13M20tY29sb3ItYmctMyI6ci5iYWNrZ3JvdW5kWzNdLCItLXczbS1jb2xvci1vdmVybGF5IjpyLm92ZXJsYXl9fSgpKSxwMygpKSx0KSxmdW5jdGlvbiBlKCl7bGV0e3RoZW1lVmFyaWFibGVzOnR9PXRTLnN0YXRlO3JldHVybnsiLS13M20tYmFja2dyb3VuZC1pbWFnZS11cmwiOm51bGwhPXQmJnRbIi0tdzNtLWJhY2tncm91bmQtaW1hZ2UtdXJsIl0/YHVybCgke3RbIi0tdzNtLWJhY2tncm91bmQtaW1hZ2UtdXJsIl19KWA6Im5vbmUifX0oKSk7T2JqZWN0LmVudHJpZXMobikuZm9yRWFjaCgoW3Qsbl0pPT5lLnN0eWxlLnNldFByb3BlcnR5KHQsbikpfX0sZ2xvYmFsQ3NzOmFfYCosOjphZnRlciw6OmJlZm9yZXttYXJnaW46MDtwYWRkaW5nOjA7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc3R5bGU6bm9ybWFsO3RleHQtcmVuZGVyaW5nOm9wdGltaXplU3BlZWQ7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZX1AbWVkaWEgKGhvdmVyOmhvdmVyKSBhbmQgKHBvaW50ZXI6ZmluZSl7YnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uOmFsbCAuMXMgZWFzZTt0cmFuc2Zvcm06c2NhbGUoLjkzKX19YnV0dG9uOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciwuMnMgZWFzZX1idXR0b246ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfWJ1dHRvbiBzdmcsYnV0dG9uIHczbS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX1pbnB1dHtib3JkZXI6bm9uZTtvdXRsaW5lOjA7YXBwZWFyYW5jZTpub25lfWltZ3tkaXNwbGF5OmJsb2NrfTo6c2VsZWN0aW9ue2NvbG9yOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcik7YmFja2dyb3VuZDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX1gfSxwdj1hX2BidXR0b257ZGlzcGxheTpmbGV4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ob3Zlci1oaWdobGlnaHQtYm9yZGVyLXJhZGl1cyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo1cHg7d2lkdGg6MTAwcHh9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19YnV0dG9uPmRpdntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tYWNjZW50LWNvbG9yKTtib3JkZXItcmFkaXVzOnZhcigtLXczbS1pY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTttYXJnaW4tYm90dG9tOjRweH1idXR0b24gcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcil9YDt2YXIgcDI9T2JqZWN0LmRlZmluZVByb3BlcnR5LHA0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IscGI9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3A0KHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmcDIodCxuLG8pLG99O2xldCBwOD1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmljb249dm9pZCAwLHRoaXMubGFiZWw9IiIsdGhpcy5vbkNsaWNrPSgpPT5udWxsfXJlbmRlcigpe3JldHVybiBhUmA8YnV0dG9uIEBjbGljaz0iJHt0aGlzLm9uQ2xpY2t9Ij48ZGl2PiR7dGhpcy5pY29ufTwvZGl2Pjx3M20tdGV4dCB2YXJpYW50PSJ4c21hbGwtcmVndWxhciIgY29sb3I9ImFjY2VudCI+JHt0aGlzLmxhYmVsfTwvdzNtLXRleHQ+PC9idXR0b24+YH19O3A4LnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHB2XSxwYihbc3MoKV0scDgucHJvdG90eXBlLCJpY29uIiwyKSxwYihbc3MoKV0scDgucHJvdG90eXBlLCJsYWJlbCIsMikscGIoW3NzKCldLHA4LnByb3RvdHlwZSwib25DbGljayIsMikscDg9cGIoW3NpKCJ3M20tYm94LWJ1dHRvbiIpXSxwOCk7bGV0IHA2PWFfYGJ1dHRvbntib3JkZXItcmFkaXVzOnZhcigtLXczbS1zZWNvbmRhcnktYnV0dG9uLWJvcmRlci1yYWRpdXMpO2hlaWdodDoyOHB4O3BhZGRpbmc6MCAxMHB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9YnV0dG9uIHBhdGh7ZmlsbDp2YXIoLS13M20tYWNjZW50LWZpbGwtY29sb3IpfWJ1dHRvbjo6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czppbmhlcml0O2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWJ1dHRvbjpkaXNhYmxlZDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udzNtLWljb24tbGVmdCBzdmd7bWFyZ2luLXJpZ2h0OjVweH0udzNtLWljb24tcmlnaHQgc3Zne21hcmdpbi1sZWZ0OjVweH1idXR0b246YWN0aXZlOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX0udzNtLWdob3N0LC53M20tZ2hvc3Q6YWN0aXZlOjphZnRlciwudzNtLW91dGxpbmV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udzNtLWdob3N0OmFjdGl2ZXtvcGFjaXR5Oi41fUBtZWRpYShob3Zlcjpob3Zlcil7YnV0dG9uOmhvdmVyOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX0udzNtLWdob3N0OmhvdmVyOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS53M20tZ2hvc3Q6aG92ZXJ7b3BhY2l0eTouNX19YnV0dG9uOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTMpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnczbS1naG9zdDo6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS53M20tZ2hvc3QgcGF0aHtmaWxsOnZhcigtLXczbS1jb2xvci1mZy0yKX0udzNtLW91dGxpbmUgcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtY29sb3IpfS53M20tb3V0bGluZTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O29wYWNpdHk6LjV9YDt2YXIgcHk9T2JqZWN0LmRlZmluZVByb3BlcnR5LHA1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IscHg9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3A1KHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmcHkodCxuLG8pLG99O2xldCBwNz1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmRpc2FibGVkPSExLHRoaXMuaWNvbkxlZnQ9dm9pZCAwLHRoaXMuaWNvblJpZ2h0PXZvaWQgMCx0aGlzLm9uQ2xpY2s9KCk9Pm51bGwsdGhpcy52YXJpYW50PSJkZWZhdWx0In1yZW5kZXIoKXtsZXQgZT17InczbS1pY29uLWxlZnQiOnZvaWQgMCE9PXRoaXMuaWNvbkxlZnQsInczbS1pY29uLXJpZ2h0Ijp2b2lkIDAhPT10aGlzLmljb25SaWdodCwidzNtLWdob3N0IjoiZ2hvc3QiPT09dGhpcy52YXJpYW50LCJ3M20tb3V0bGluZSI6Im91dGxpbmUiPT09dGhpcy52YXJpYW50fSx0PSJpbnZlcnNlIjtyZXR1cm4iZ2hvc3QiPT09dGhpcy52YXJpYW50JiYodD0ic2Vjb25kYXJ5IiksIm91dGxpbmUiPT09dGhpcy52YXJpYW50JiYodD0iYWNjZW50IiksYVJgPGJ1dHRvbiBjbGFzcz0iJHtzaChlKX0iID9kaXNhYmxlZD0iJHt0aGlzLmRpc2FibGVkfSIgQGNsaWNrPSIke3RoaXMub25DbGlja30iPiR7dGhpcy5pY29uTGVmdH08dzNtLXRleHQgdmFyaWFudD0ic21hbGwtcmVndWxhciIgY29sb3I9IiR7dH0iPjxzbG90Pjwvc2xvdD48L3czbS10ZXh0PiR7dGhpcy5pY29uUmlnaHR9PC9idXR0b24+YH19O3A3LnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHA2XSxweChbc3MoKV0scDcucHJvdG90eXBlLCJkaXNhYmxlZCIsMikscHgoW3NzKCldLHA3LnByb3RvdHlwZSwiaWNvbkxlZnQiLDIpLHB4KFtzcygpXSxwNy5wcm90b3R5cGUsImljb25SaWdodCIsMikscHgoW3NzKCldLHA3LnByb3RvdHlwZSwib25DbGljayIsMikscHgoW3NzKCldLHA3LnByb3RvdHlwZSwidmFyaWFudCIsMikscDc9cHgoW3NpKCJ3M20tYnV0dG9uIildLHA3KTtsZXQgcEU9YV9gOmhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2t9YnV0dG9ue3BhZGRpbmc6MCAxNXB4IDFweDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOnZhcigtLXczbS1idXR0b24tYm9yZGVyLXJhZGl1cyk7Y29sb3I6dmFyKC0tdzNtLWFjY2VudC1maWxsLWNvbG9yKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1hY2NlbnQtY29sb3IpfWJ1dHRvbjo6YWZ0ZXJ7Y29udGVudDonJzt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6aW5oZXJpdDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGVhc2U7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YnV0dG9uOmFjdGl2ZTo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YnV0dG9uOmRpc2FibGVke3BhZGRpbmctYm90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3ItYmctMyk7Y29sb3I6dmFyKC0tdzNtLWNvbG9yLWZnLTMpfS53M20tc2Vjb25kYXJ5e2NvbG9yOnZhcigtLXczbS1hY2NlbnQtY29sb3IpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnczbS1zZWNvbmRhcnk6OmFmdGVye2Rpc3BsYXk6bm9uZX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3Zlcjo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9fWA7dmFyIHBDPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxwRD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHBrPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9wRCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJnBDKHQsbixvKSxvfTtsZXQgcEE9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5kaXNhYmxlZD0hMSx0aGlzLnZhcmlhbnQ9InByaW1hcnkifXJlbmRlcigpe2xldCBlPXsidzNtLXNlY29uZGFyeSI6InNlY29uZGFyeSI9PT10aGlzLnZhcmlhbnR9O3JldHVybiBhUmA8YnV0dG9uID9kaXNhYmxlZD0iJHt0aGlzLmRpc2FibGVkfSIgY2xhc3M9IiR7c2goZSl9Ij48c2xvdD48L3Nsb3Q+PC9idXR0b24+YH19O3BBLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHBFXSxwayhbc3MoKV0scEEucHJvdG90eXBlLCJkaXNhYmxlZCIsMikscGsoW3NzKCldLHBBLnByb3RvdHlwZSwidmFyaWFudCIsMikscEE9cGsoW3NpKCJ3M20tYnV0dG9uLWJpZyIpXSxwQSk7bGV0IHBJPWFfYDpob3N0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTIpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1iZy0zKX1kaXZ7cGFkZGluZzoxMHB4IDIwcHg7ZGlzcGxheTppbmhlcml0O2ZsZXgtZGlyZWN0aW9uOmluaGVyaXQ7YWxpZ24taXRlbXM6aW5oZXJpdDt3aWR0aDppbmhlcml0O2p1c3RpZnktY29udGVudDppbmhlcml0fWA7dmFyIHBUPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxwUz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2xldCBwTD1jbGFzcyBleHRlbmRzIHNue3JlbmRlcigpe3JldHVybiBhUmA8ZGl2PjxzbG90Pjwvc2xvdD48L2Rpdj5gfX07cEwuc3R5bGVzPVtwdy5nbG9iYWxDc3MscEldLHBMPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/cFModCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZwVCh0LG4sbyksb30pKFtzaSgidzNtLWluZm8tZm9vdGVyIildLHBMKTtsZXQgcE49e0NST1NTX0lDT046czdgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiI+PHBhdGggZD0iTTkuOTQgMTFBLjc1Ljc1IDAgMSAwIDExIDkuOTRMNy40MTQgNi4zNTNhLjUuNSAwIDAgMSAwLS43MDhMMTEgMi4wNjFBLjc1Ljc1IDAgMSAwIDkuOTQgMUw2LjM1MyA0LjU4NmEuNS41IDAgMCAxLS43MDggMEwyLjA2MSAxQS43NS43NSAwIDAgMCAxIDIuMDZsMy41ODYgMy41ODZhLjUuNSAwIDAgMSAwIC43MDhMMSA5LjkzOUEuNzUuNzUgMCAxIDAgMi4wNiAxMWwzLjU4Ni0zLjU4NmEuNS41IDAgMCAxIC43MDggMEw5LjkzOSAxMVoiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLFdBTExFVF9DT05ORUNUX0xPR086czdgPHN2ZyB3aWR0aD0iMTc4IiBoZWlnaHQ9IjI5IiB2aWV3Qm94PSIwIDAgMTc4IDI5IiBpZD0idzNtLXdjLWxvZ28iPjxwYXRoIGQ9Ik0xMC42ODMgNy45MjZjNS4yODQtNS4xNyAxMy44NS01LjE3IDE5LjEzNCAwbC42MzYuNjIzYS42NTIuNjUyIDAgMCAxIDAgLjkzNmwtMi4xNzYgMi4xMjlhLjM0My4zNDMgMCAwIDEtLjQ3OCAwbC0uODc1LS44NTdjLTMuNjg2LTMuNjA3LTkuNjYyLTMuNjA3LTEzLjM0OCAwbC0uOTM3LjkxOGEuMzQzLjM0MyAwIDAgMS0uNDc5IDBsLTIuMTc1LTIuMTNhLjY1Mi42NTIgMCAwIDEgMC0uOTM2bC42OTgtLjY4M1ptMjMuNjMzIDQuNDAzIDEuOTM1IDEuODk1YS42NTIuNjUyIDAgMCAxIDAgLjkzNmwtOC43MyA4LjU0M2EuNjg3LjY4NyAwIDAgMS0uOTU2IDBMMjAuMzcgMTcuNjRhLjE3Mi4xNzIgMCAwIDAtLjIzOSAwbC02LjE5NSA2LjA2M2EuNjg3LjY4NyAwIDAgMS0uOTU3IDBsLTguNzMtOC41NDNhLjY1Mi42NTIgMCAwIDEgMC0uOTM2bDEuOTM2LTEuODk1YS42ODcuNjg3IDAgMCAxIC45NTcgMGw2LjE5NiA2LjA2NGEuMTcyLjE3MiAwIDAgMCAuMjM5IDBsNi4xOTUtNi4wNjRhLjY4Ny42ODcgMCAwIDEgLjk1NyAwbDYuMTk2IDYuMDY0YS4xNzIuMTcyIDAgMCAwIC4yNCAwbDYuMTk1LTYuMDY0YS42ODcuNjg3IDAgMCAxIC45NTYgMFpNNDguMDkzIDIwLjk0OGwyLjMzOC05LjM1NWMuMTM5LS41MTUuMjU4LTEuMDcuNDE2LTEuOTQyLjEyLjg3Mi4yNTggMS40MjcuMzU3IDEuOTQybDIuMDIyIDkuMzU1aDQuMTgxbDMuNTI4LTEzLjg3NGgtMy4yMWwtMS45NDMgOC41MjNhMjQuODI1IDI0LjgyNSAwIDAgMC0uNDU2IDIuNDU3Yy0uMTU4LS45MzEtLjMxNy0xLjYyNS0uNDk1LTIuNDM4bC0xLjg4My04LjU0MmgtNC4yMDFsLTIuMDQyIDguNTQyYTQxLjIwNCA0MS4yMDQgMCAwIDAtLjQ3NSAyLjQzOCA0MS4yMDggNDEuMjA4IDAgMCAwLS40NzYtMi40MzhsLTEuOTAzLTguNTQyaC0zLjM0OWwzLjUwOCAxMy44NzRoNC4wODNaTTYzLjMzIDIxLjMwNGMxLjU4NSAwIDIuNTk2LS42NTQgMy4xMS0xLjYwNS0uMDU5LjI5Ny0uMDc4LjU5NS0uMDc4Ljg5MnYuMzU3aDIuNjU1VjE1LjIyYzAtMi43MzUtMS4yNDgtNC4zMi00LjMtNC4zMi0yLjYzNiAwLTQuMzYgMS40NjYtNC41MiAzLjQ4N2gyLjkxNGMuMS0uODkxLjczNC0xLjQyNiAxLjcwNS0xLjQyNi45MTEgMCAxLjQwNy41MTUgMS40MDcgMS4xMSAwIC40MzUtLjI1OC42OTMtMS4wMy43OTJsLTEuMzg4LjE1OWMtMi4wNjEuMjU3LTMuODI1IDEuMDEtMy44MjUgMy4xOSAwIDEuOTgyIDEuNjQ1IDMuMDkyIDMuMzUgMy4wOTJabS44OTEtMi4wNDFjLS43NzMgMC0xLjM0OC0uNDM2LTEuMzQ4LTEuMTkgMC0uNzMzLjY1NS0xLjA5IDEuNjQ1LTEuMjY4bC42NzQtLjExOWMuNTc1LS4xMTguODkyLS4yMTggMS4wOS0uMzk2di45MTJjMCAxLjIyOC0uODkyIDIuMDYtMi4wNiAyLjA2Wk03MC4zOTggNy4wNzR2MTMuODc0aDIuODc0VjcuMDc0aC0yLjg3NFpNNzQuOTM0IDcuMDc0djEzLjg3NGgyLjg3NFY3LjA3NGgtMi44NzRaTTg0LjA4IDIxLjMwNGMyLjczNSAwIDQuNS0xLjU0NiA0LjY5Ny0zLjU2N2gtMi44OTNjLS4xMzkuODkyLS44OTIgMS4zODctMS44MDQgMS4zODctMS4yMjggMC0yLjEyLS45OS0yLjE0LTIuMzU4aDYuODk3di0uNTU1YzAtMy4yMS0xLjc2NC01LjMxMi00LjgxNi01LjMxMi0yLjkzMyAwLTQuOTk0IDIuMDYyLTQuOTk0IDUuMTczIDAgMy4zNyAyLjEyIDUuMjMyIDUuMDUzIDUuMjMyWm0tMi4xNi02LjQyMWMuMTE5LTEuMTEuOTMyLTEuOTIyIDIuMDgxLTEuOTIyIDEuMTEgMCAxLjg4My43NzIgMS45MDMgMS45MjJIODEuOTJaTTk0LjkyIDIxLjE0NmMuNjMzIDAgMS4yNDgtLjEgMS41MjUtLjE3OXYtMi4xOGMtLjIxOC4wNC0uNDc1LjA2LS42OTMuMDYtMS4wNSAwLTEuNDI3LS41OTUtMS40MjctMS41NjZ2LTMuODA1aDIuMzM4di0yLjI0aC0yLjMzOFY3Ljc4OEg5MS40N3YzLjQ0OEg4OS4zN3YyLjI0aDIuMXY0LjIwMWMwIDIuMyAxLjE1IDMuNDY5IDMuNDUgMy40NjlaTTEwNC42MiAyMS4zMDRjMy45MjQgMCA2LjMwMi0yLjI5OSA2LjU5OS01LjYwOGgtMy4xMTFjLS4yMzggMS44MDMtMS41MDYgMy4wMzItMy4zNjkgMy4wMzItMi4yIDAtMy43NDYtMS43ODQtMy43NDYtNC43OTYgMC0yLjk1MyAxLjYwNS00LjYzOCAzLjgwNS00LjYzOCAxLjg4MyAwIDIuOTUzIDEuMTUgMy4xNzEgMi44MzRoMy4xOTFjLS4zMTctMy40NDgtMi44NTQtNS40MS02LjM0Mi01LjQxLTMuOTg0IDAtNy4wMzYgMi42OTUtNy4wMzYgNy4yMTQgMCA0LjY3NyAyLjY3NiA3LjM3MiA2LjgzOCA3LjM3MlpNMTE3LjQ0OSAyMS4zMDRjMi45OTMgMCA1LjExNC0xLjg4MiA1LjExNC01LjE3MiAwLTMuMjMtMi4xMjEtNS4yMzMtNS4xMTQtNS4yMzMtMi45NzIgMC01LjA5MyAyLjAwMi01LjA5MyA1LjIzMyAwIDMuMjkgMi4xMDEgNS4xNzIgNS4wOTMgNS4xNzJabTAtMi4yMmMtMS4zMjcgMC0yLjE4LTEuMDktMi4xOC0yLjk1MiAwLTEuOTAzLjg5Mi0yLjk3MyAyLjE4LTIuOTczIDEuMzA4IDAgMi4yIDEuMDcgMi4yIDIuOTczIDAgMS44NjItLjg3MiAyLjk1My0yLjIgMi45NTNaTTEyNi41NjkgMjAuOTQ4di01LjY4OWMwLTEuMjA4Ljc1My0yLjEgMS44MjMtMi4xIDEuMDExIDAgMS42MDYuNzczIDEuNjA2IDIuMDZ2NS43MjloMi44NzN2LTYuMTQ0YzAtMi4zMzktMS4yMjktMy45MDUtMy40MjgtMy45MDUtMS41MjYgMC0yLjQ1OC43MzQtMi45NTMgMS42MDZhNS4zMSA1LjMxIDAgMCAwIC4wNzktLjg5MnYtLjM3N2gtMi44NzR2OS43MTJoMi44NzRaTTEzNy40NjQgMjAuOTQ4di01LjY4OWMwLTEuMjA4Ljc1My0yLjEgMS44MjMtMi4xIDEuMDExIDAgMS42MDYuNzczIDEuNjA2IDIuMDZ2NS43MjloMi44NzN2LTYuMTQ0YzAtMi4zMzktMS4yMjgtMy45MDUtMy40MjgtMy45MDUtMS41MjYgMC0yLjQ1OC43MzQtMi45NTMgMS42MDZhNS4zMSA1LjMxIDAgMCAwIC4wNzktLjg5MnYtLjM3N2gtMi44NzR2OS43MTJoMi44NzRaTTE0OS45NDkgMjEuMzA0YzIuNzM1IDAgNC40OTktMS41NDYgNC42OTctMy41NjdoLTIuODkzYy0uMTM5Ljg5Mi0uODkyIDEuMzg3LTEuODA0IDEuMzg3LTEuMjI4IDAtMi4xMi0uOTktMi4xNC0yLjM1OGg2Ljg5N3YtLjU1NWMwLTMuMjEtMS43NjQtNS4zMTItNC44MTYtNS4zMTItMi45MzMgMC00Ljk5NCAyLjA2Mi00Ljk5NCA1LjE3MyAwIDMuMzcgMi4xMiA1LjIzMiA1LjA1MyA1LjIzMlptLTIuMTYtNi40MjFjLjExOS0xLjExLjkzMi0xLjkyMiAyLjA4MS0xLjkyMiAxLjExIDAgMS44ODMuNzcyIDEuOTAzIDEuOTIyaC0zLjk4NFpNMTYwLjg3NiAyMS4zMDRjMy4wMTMgMCA0LjY1OC0xLjY0NSA0Ljk3NS00LjIwMWgtMi44NzRjLS4wOTkgMS4wNy0uNzEzIDEuOTgyLTIuMDAxIDEuOTgyLTEuMzA5IDAtMi4yLTEuMjEtMi4yLTIuOTkzIDAtMS45NDIgMS4wMy0yLjkzMyAyLjI1OS0yLjkzMyAxLjIwOSAwIDEuODAzLjg3MiAxLjg4MyAxLjg4MmgyLjg3M2MtLjIxOC0yLjM1OC0xLjgyMy00LjE0Mi00Ljc3Ni00LjE0Mi0yLjg3NCAwLTUuMTUzIDEuOTAzLTUuMTUzIDUuMTkzIDAgMy4yNSAxLjkyMyA1LjIxMiA1LjAxNCA1LjIxMlpNMTcyLjA2NyAyMS4xNDZjLjYzNCAwIDEuMjQ4LS4xIDEuNTI2LS4xNzl2LTIuMThjLS4yMTguMDQtLjQ3Ni4wNi0uNjk0LjA2LTEuMDUgMC0xLjQyNy0uNTk1LTEuNDI3LTEuNTY2di0zLjgwNWgyLjMzOXYtMi4yNGgtMi4zMzlWNy43ODhoLTIuODU0djMuNDQ4aC0yLjF2Mi4yNGgyLjF2NC4yMDFjMCAyLjMgMS4xNSAzLjQ2OSAzLjQ0OSAzLjQ2OVoiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLFdBTExFVF9DT05ORUNUX0lDT046czdgPHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyOCAyMCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNNy4zODYgNi40ODJjMy42NTMtMy41NzYgOS41NzUtMy41NzYgMTMuMjI4IDBsLjQ0LjQzYS40NTEuNDUxIDAgMCAxIDAgLjY0OEwxOS41NSA5LjAzM2EuMjM3LjIzNyAwIDAgMS0uMzMgMGwtLjYwNi0uNTkyYy0yLjU0OC0yLjQ5Ni02LjY4LTIuNDk2LTkuMjI4IDBsLS42NDguNjM0YS4yMzcuMjM3IDAgMCAxLS4zMyAwTDYuOTAyIDcuNjAyYS40NTEuNDUxIDAgMCAxIDAtLjY0N2wuNDgzLS40NzNabTE2LjMzOCAzLjA0NiAxLjMzOSAxLjMxYS40NTEuNDUxIDAgMCAxIDAgLjY0OGwtNi4wMzUgNS45MDlhLjQ3NS40NzUgMCAwIDEtLjY2MiAwTDE0LjA4MyAxMy4yYS4xMTkuMTE5IDAgMCAwLS4xNjYgMGwtNC4yODMgNC4xOTRhLjQ3NS40NzUgMCAwIDEtLjY2MiAwbC02LjAzNS01LjkxYS40NTEuNDUxIDAgMCAxIDAtLjY0N2wxLjMzOC0xLjMxYS40NzUuNDc1IDAgMCAxIC42NjIgMGw0LjI4MyA0LjE5NGMuMDQ2LjA0NC4xMi4wNDQuMTY2IDBsNC4yODMtNC4xOTRhLjQ3NS40NzUgMCAwIDEgLjY2MiAwbDQuMjgzIDQuMTk0Yy4wNDYuMDQ0LjEyLjA0NC4xNjYgMGw0LjI4My00LjE5NGEuNDc1LjQ3NSAwIDAgMSAuNjYyIDBaIiBmaWxsPSIjMDAwMDAwIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTAgMGgyOHYyMEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmAsV0FMTEVUX0NPTk5FQ1RfSUNPTl9DT0xPUkVEOnM3YDxzdmcgd2lkdGg9Ijk2IiBoZWlnaHQ9Ijk2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMjUuMzIyIDMzLjU5N2MxMi41MjUtMTIuMjYzIDMyLjgzLTEyLjI2MyA0NS4zNTUgMGwxLjUwNyAxLjQ3NmExLjU0NyAxLjU0NyAwIDAgMSAwIDIuMjJsLTUuMTU2IDUuMDQ4YS44MTQuODE0IDAgMCAxLTEuMTM0IDBsLTIuMDc0LTIuMDNjLTguNzM3LTguNTU1LTIyLjkwMy04LjU1NS0zMS42NCAwbC0yLjIyMiAyLjE3NWEuODE0LjgxNCAwIDAgMS0xLjEzNCAwbC01LjE1Ni01LjA0OWExLjU0NyAxLjU0NyAwIDAgMSAwLTIuMjJsMS42NTQtMS42MlptNTYuMDE5IDEwLjQ0IDQuNTg5IDQuNDk0YTEuNTQ3IDEuNTQ3IDAgMCAxIDAgMi4yMmwtMjAuNjkzIDIwLjI2YTEuNjI4IDEuNjI4IDAgMCAxLTIuMjY3IDBMNDguMjgzIDU2LjYzMmEuNDA3LjQwNyAwIDAgMC0uNTY3IDBMMzMuMDMgNzEuMDEyYTEuNjI4IDEuNjI4IDAgMCAxLTIuMjY4IDBMMTAuMDcgNTAuNzVhMS41NDcgMS41NDcgMCAwIDEgMC0yLjIybDQuNTktNC40OTRhMS42MjggMS42MjggMCAwIDEgMi4yNjcgMGwxNC42ODcgMTQuMzhjLjE1Ni4xNTMuNDEuMTUzLjU2NyAwbDE0LjY4NS0xNC4zOGExLjYyOCAxLjYyOCAwIDAgMSAyLjI2OCAwbDE0LjY4NyAxNC4zOGMuMTU2LjE1My40MS4xNTMuNTY3IDBsMTQuNjg2LTE0LjM4YTEuNjI4IDEuNjI4IDAgMCAxIDIuMjY4IDBaIi8+PHBhdGggc3Ryb2tlPSIjMDAwIiBkPSJNMjUuNjcyIDMzLjk1NGMxMi4zMy0xMi4wNzIgMzIuMzI1LTEyLjA3MiA0NC42NTUgMGwxLjUwOCAxLjQ3NmExLjA0NyAxLjA0NyAwIDAgMSAwIDEuNTA2bC01LjE1NyA1LjA0OGEuMzE0LjMxNCAwIDAgMS0uNDM0IDBsLTIuMDc0LTIuMDNjLTguOTMyLTguNzQ2LTIzLjQwOS04Ljc0Ni0zMi4zNCAwbC0yLjIyMiAyLjE3NGEuMzE0LjMxNCAwIDAgMS0uNDM0IDBsLTUuMTU3LTUuMDQ4YTEuMDQ3IDEuMDQ3IDAgMCAxIDAtMS41MDZsMS42NTUtMS42MlptNTUuMzE5IDEwLjQ0IDQuNTkgNC40OTRhMS4wNDcgMS4wNDcgMCAwIDEgMCAxLjUwNmwtMjAuNjk0IDIwLjI2YTEuMTI4IDEuMTI4IDAgMCAxLTEuNTY4IDBsLTE0LjY4Ni0xNC4zOGEuOTA3LjkwNyAwIDAgMC0xLjI2NyAwTDMyLjY4IDcwLjY1NWExLjEyOCAxLjEyOCAwIDAgMS0xLjU2OCAwTDEwLjQyIDUwLjM5NGExLjA0NyAxLjA0NyAwIDAgMSAwLTEuNTA2bDQuNTktNC40OTNhMS4xMjggMS4xMjggMCAwIDEgMS41NjcgMGwxNC42ODcgMTQuMzc5YS45MDcuOTA3IDAgMCAwIDEuMjY2IDBsLS4zNS0uMzU3LjM1LjM1NyAxNC42ODYtMTQuMzhhMS4xMjggMS4xMjggMCAwIDEgMS41NjggMGwxNC42ODcgMTQuMzhhLjkwNy45MDcgMCAwIDAgMS4yNjcgMGwxNC42ODYtMTQuMzhhMS4xMjggMS4xMjggMCAwIDEgMS41NjggMFoiLz48L3N2Zz5gLEJBQ0tfSUNPTjpzN2A8c3ZnIHdpZHRoPSIxMCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDEwIDE4Ij48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTguNzM1LjE3OWEuNzUuNzUgMCAwIDEgLjA4NyAxLjA1N0wyLjkyIDguMTkyYTEuMjUgMS4yNSAwIDAgMCAwIDEuNjE3bDUuOTAyIDYuOTU2YS43NS43NSAwIDEgMS0xLjE0NC45N0wxLjc3NiAxMC43OGEyLjc1IDIuNzUgMCAwIDEgMC0zLjU1OUw3LjY3OC4yNjVBLjc1Ljc1IDAgMCAxIDguNzM1LjE4WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsQ09QWV9JQ09OOnM3YDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjAxIDcuMDFjLjAzLTEuNTQ1LjEzOC0yLjUuNTM1LTMuMjhBNSA1IDAgMCAxIDkuNzMgMS41NDVDMTAuOCAxIDEyLjIgMSAxNSAxYzIuOCAwIDQuMiAwIDUuMjcuNTQ1YTUgNSAwIDAgMSAyLjE4NSAyLjE4NUMyMyA0LjggMjMgNi4yIDIzIDljMCAyLjggMCA0LjItLjU0NSA1LjI3YTUgNSAwIDAgMS0yLjE4NSAyLjE4NWMtLjc4LjM5Ny0xLjczNS41MDUtMy4yOC41MzRsLS4wMDEuMDFjLS4wMyAxLjU0LS4xMzggMi40OTMtLjUzNCAzLjI3YTUgNSAwIDAgMS0yLjE4NSAyLjE4NkMxMy4yIDIzIDExLjggMjMgOSAyM2MtMi44IDAtNC4yIDAtNS4yNy0uNTQ1YTUgNSAwIDAgMS0yLjE4NS0yLjE4NUMxIDE5LjIgMSAxNy44IDEgMTVjMC0yLjggMC00LjIuNTQ1LTUuMjdBNSA1IDAgMCAxIDMuNzMgNy41NDVDNC41MDggNy4xNDkgNS40NiA3LjA0IDcgNy4wMWguMDFaTTE1IDE1LjVjLTEuNDI1IDAtMi40MDMtLjAwMS0zLjE2Mi0uMDYzLS43NC0uMDYtMS4xMzktLjE3Mi0xLjQyNy0uMzE5YTMuNSAzLjUgMCAwIDEtMS41My0xLjUyOWMtLjE0Ni0uMjg4LS4yNTctLjY4Ni0uMzE4LTEuNDI3QzguNTAxIDExLjQwMyA4LjUgMTAuNDI1IDguNSA5YzAtMS40MjUuMDAxLTIuNDAzLjA2My0zLjE2Mi4wNi0uNzQuMTcyLTEuMTM5LjMxOC0xLjQyN2EzLjUgMy41IDAgMCAxIDEuNTMtMS41M2MuMjg4LS4xNDYuNjg2LS4yNTcgMS40MjctLjMxOC43NTktLjA2MiAxLjczNy0uMDYzIDMuMTYyLS4wNjMgMS40MjUgMCAyLjQwMy4wMDEgMy4xNjIuMDYzLjc0LjA2IDEuMTM5LjE3MiAxLjQyNy4zMThhMy41IDMuNSAwIDAgMSAxLjUzIDEuNTNjLjE0Ni4yODguMjU3LjY4Ni4zMTggMS40MjcuMDYyLjc1OS4wNjMgMS43MzcuMDYzIDMuMTYyIDAgMS40MjUtLjAwMSAyLjQwMy0uMDYzIDMuMTYyLS4wNi43NC0uMTcyIDEuMTM5LS4zMTkgMS40MjdhMy41IDMuNSAwIDAgMS0xLjUyOSAxLjUzYy0uMjg4LjE0Ni0uNjg2LjI1Ny0xLjQyNy4zMTgtLjc1OS4wNjItMS43MzcuMDYzLTMuMTYyLjA2M1pNNyA4LjUxMWMtLjQ0NC4wMDktLjgyNS4wMjUtMS4xNjIuMDUyLS43NC4wNi0xLjEzOS4xNzItMS40MjcuMzE4YTMuNSAzLjUgMCAwIDAtMS41MyAxLjUzYy0uMTQ2LjI4OC0uMjU3LjY4Ni0uMzE4IDEuNDI3LS4wNjIuNzU5LS4wNjMgMS43MzctLjA2MyAzLjE2MiAwIDEuNDI1LjAwMSAyLjQwMy4wNjMgMy4xNjIuMDYuNzQuMTcyIDEuMTM5LjMxOCAxLjQyN2EzLjUgMy41IDAgMCAwIDEuNTMgMS41M2MuMjg4LjE0Ni42ODYuMjU3IDEuNDI3LjMxOC43NTkuMDYyIDEuNzM3LjA2MyAzLjE2Mi4wNjMgMS40MjUgMCAyLjQwMy0uMDAxIDMuMTYyLS4wNjMuNzQtLjA2IDEuMTM5LS4xNzIgMS40MjctLjMxOWEzLjUgMy41IDAgMCAwIDEuNTMtMS41M2MuMTQ2LS4yODcuMjU3LS42ODUuMzE4LTEuNDI2LjAyNy0uMzM3LjA0My0uNzE4LjA1Mi0xLjE2MkgxNWMtMi44IDAtNC4yIDAtNS4yNy0uNTQ1YTUgNSAwIDAgMS0yLjE4NS0yLjE4NUM3IDEzLjIgNyAxMS44IDcgOXYtLjQ4OVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPmAsUkVUUllfSUNPTjpzN2A8c3ZnIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE1IDE2Ij48cGF0aCBkPSJNNi40NjQgMi4wM0EuNzUuNzUgMCAwIDAgNS40MDMuOTdMMi4wOCA0LjI5M2ExIDEgMCAwIDAgMCAxLjQxNEw1LjQwMyA5LjAzYS43NS43NSAwIDAgMCAxLjA2LTEuMDZMNC42NzIgNi4xNzdhLjI1LjI1IDAgMCAxIC4xNzctLjQyN2gyLjA4NWE0IDQgMCAxIDEtMy45MyA0Ljc0NmMtLjA3Ny0uNDA3LS40MDUtLjc0Ni0uODItLjc0Ni0uNDE0IDAtLjc1NS4zMzgtLjcuNzQ4YTUuNTAxIDUuNTAxIDAgMSAwIDUuNDUtNi4yNDhINC44NDhhLjI1LjI1IDAgMCAxLS4xNzctLjQyN0w2LjQ2NCAyLjAzWiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsREVTS1RPUF9JQ09OOnM3YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCA1Ljk4YzAtMS44NSAwLTIuNzc1LjM5NC0zLjQ2NmEzIDMgMCAwIDEgMS4xMi0xLjEyQzIuMjA0IDEgMy4xMyAxIDQuOTggMWg2LjA0YzEuODUgMCAyLjc3NSAwIDMuNDY2LjM5NGEzIDMgMCAwIDEgMS4xMiAxLjEyQzE2IDMuMjA0IDE2IDQuMTMgMTYgNS45OHYxLjA0YzAgMS44NSAwIDIuNzc1LS4zOTQgMy40NjZhMyAzIDAgMCAxLTEuMTIgMS4xMkMxMy43OTYgMTIgMTIuODcgMTIgMTEuMDIgMTJINC45OGMtMS44NSAwLTIuNzc1IDAtMy40NjYtLjM5NGEzIDMgMCAwIDEtMS4xMi0xLjEyQzAgOS43OTYgMCA4Ljg3IDAgNy4wMlY1Ljk4Wk00Ljk4IDIuNWg2LjA0Yy45NTMgMCAxLjU2OC4wMDEgMi4wMzQuMDQzLjQ0Ni4wNC42MDguMTA4LjY5LjE1NGExLjUgMS41IDAgMCAxIC41NTkuNTZjLjA0Ni4wOC4xMTQuMjQzLjE1NC42OS4wNDIuNDY1LjA0MyAxLjA4LjA0MyAyLjAzM3YxLjA0YzAgLjk1Mi0uMDAxIDEuNTY4LS4wNDMgMi4wMzQtLjA0LjQ0Ni0uMTA4LjYwOC0uMTU0LjY5YTEuNDk5IDEuNDk5IDAgMCAxLS41Ni41NTljLS4wOC4wNDYtLjI0My4xMTQtLjY5LjE1NC0uNDY2LjA0Mi0xLjA4LjA0My0yLjAzMy4wNDNINC45OGMtLjk1MiAwLTEuNTY4LS4wMDEtMi4wMzQtLjA0My0uNDQ2LS4wNC0uNjA4LS4xMDgtLjY5LS4xNTRhMS41IDEuNSAwIDAgMS0uNTU5LS41NmMtLjA0Ni0uMDgtLjExNC0uMjQzLS4xNTQtLjY5LS4wNDItLjQ2NS0uMDQzLTEuMDgtLjA0My0yLjAzM1Y1Ljk4YzAtLjk1Mi4wMDEtMS41NjguMDQzLTIuMDM0LjA0LS40NDYuMTA4LS42MDguMTU0LS42OWExLjUgMS41IDAgMCAxIC41Ni0uNTU5Yy4wOC0uMDQ2LjI0My0uMTE0LjY5LS4xNTQuNDY1LS4wNDIgMS4wOC0uMDQzIDIuMDMzLS4wNDNaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTQgMTQuMjVhLjc1Ljc1IDAgMCAxIC43NS0uNzVoNi41YS43NS43NSAwIDAgMSAwIDEuNWgtNi41YS43NS43NSAwIDAgMS0uNzUtLjc1WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsTU9CSUxFX0lDT046czdgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTYuNzUgNWExLjI1IDEuMjUgMCAxIDAgMC0yLjUgMS4yNSAxLjI1IDAgMCAwIDAgMi41WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyA0Ljk4YzAtMS44NSAwLTIuNzc1LjM5NC0zLjQ2NmEzIDMgMCAwIDEgMS4xMi0xLjEyQzUuMjA0IDAgNi4xMzYgMCA4IDBzMi43OTUgMCAzLjQ4Ni4zOTRhMyAzIDAgMCAxIDEuMTIgMS4xMkMxMyAyLjIwNCAxMyAzLjEzIDEzIDQuOTh2Ni4wNGMwIDEuODUgMCAyLjc3NS0uMzk0IDMuNDY2YTMgMyAwIDAgMS0xLjEyIDEuMTJDMTAuNzk2IDE2IDkuODY0IDE2IDggMTZzLTIuNzk1IDAtMy40ODYtLjM5NGEzIDMgMCAwIDEtMS4xMi0xLjEyQzMgMTMuNzk2IDMgMTIuODcgMyAxMS4wMlY0Ljk4Wm04LjUgMHY2LjA0YzAgLjk1My0uMDAxIDEuNTY4LS4wNDMgMi4wMzQtLjA0LjQ0Ni0uMTA4LjYwOC0uMTU0LjY5YTEuNDk5IDEuNDk5IDAgMCAxLS41Ni41NTljLS4wOC4wNDUtLjI0Mi4xMTMtLjY5My4xNTQtLjQ3LjA0Mi0xLjA5MS4wNDMtMi4wNS4wNDMtLjk1OSAwLTEuNTgtLjAwMS0yLjA1LS4wNDMtLjQ1LS4wNC0uNjEzLS4xMDktLjY5My0uMTU0YTEuNSAxLjUgMCAwIDEtLjU2LS41NmMtLjA0Ni0uMDgtLjExNC0uMjQzLS4xNTQtLjY5LS4wNDItLjQ2Ni0uMDQzLTEuMDgtLjA0My0yLjAzM1Y0Ljk4YzAtLjk1Mi4wMDEtMS41NjguMDQzLTIuMDM0LjA0LS40NDYuMTA4LS42MDguMTU0LS42OWExLjUgMS41IDAgMCAxIC41Ni0uNTU5Yy4wOC0uMDQ1LjI0My0uMTEzLjY5My0uMTU0QzYuNDIgMS41MDEgNy4wNDEgMS41IDggMS41Yy45NTkgMCAxLjU4LjAwMSAyLjA1LjA0My40NS4wNC42MTMuMTA5LjY5My4xNTRhMS41IDEuNSAwIDAgMSAuNTYuNTZjLjA0Ni4wOC4xMTQuMjQzLjE1NC42OS4wNDIuNDY1LjA0MyAxLjA4LjA0MyAyLjAzM1oiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLEFSUk9XX0RPV05fSUNPTjpzN2A8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBkPSJNMi4yOCA3LjQ3YS43NS43NSAwIDAgMC0xLjA2IDEuMDZsNS4yNSA1LjI1YS43NS43NSAwIDAgMCAxLjA2IDBsNS4yNS01LjI1YS43NS43NSAwIDAgMC0xLjA2LTEuMDZsLTMuNTQ0IDMuNTQzYS4yNS4yNSAwIDAgMS0uNDI2LS4xNzdWLjc1YS43NS43NSAwIDAgMC0xLjUgMHYxMC4wODZhLjI1LjI1IDAgMCAxLS40MjcuMTc2TDIuMjggNy40N1oiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLEFSUk9XX1VQX1JJR0hUX0lDT046czdgPHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik00LjUgMS43NUEuNzUuNzUgMCAwIDEgNS4yNSAxSDEyYTEuNSAxLjUgMCAwIDEgMS41IDEuNXY2Ljc1YS43NS43NSAwIDAgMS0xLjUgMFY0LjE2NGEuMjUuMjUgMCAwIDAtLjQyNy0uMTc2TDQuMDYxIDExLjVBLjc1Ljc1IDAgMCAxIDMgMTAuNDRsNy41MTMtNy41MTNhLjI1LjI1IDAgMCAwLS4xNzctLjQyN0g1LjI1YS43NS43NSAwIDAgMS0uNzUtLjc1WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsQVJST1dfUklHSFRfSUNPTjpzN2A8c3ZnIHdpZHRoPSI2IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgNiAxNCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjE4MSAxLjA5OWEuNzUuNzUgMCAwIDEgMS4wMjQuMjc5bDIuNDMzIDQuMjU4YTIuNzUgMi43NSAwIDAgMSAwIDIuNzI5bC0yLjQzMyA0LjI1N2EuNzUuNzUgMCAxIDEtMS4zMDMtLjc0NEw0LjMzNSA3LjYyYTEuMjUgMS4yNSAwIDAgMCAwLTEuMjRMMS45MDIgMi4xMjJhLjc1Ljc1IDAgMCAxIC4yOC0xLjAyM1oiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLFFSQ09ERV9JQ09OOnM3YDxzdmcgd2lkdGg9IjI1IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjUgMjQiPjxwYXRoIGQ9Ik0yMy43NDggOWEuNzQ4Ljc0OCAwIDAgMCAuNzQ4LS43NTJjLS4wMTgtMi41OTYtLjEyOC00LjA3LS43ODQtNS4yMmE2IDYgMCAwIDAtMi4yNC0yLjI0Yy0xLjE1LS42NTYtMi42MjQtLjc2Ni01LjIyLS43ODRhLjc0OC43NDggMCAwIDAtLjc1Mi43NDhjMCAuNDE0LjMzNS43NDkuNzQ4Ljc1MiAxLjAxNS4wMDcgMS44Mi4wMjggMi40OTQuMDg4Ljk5NS4wOSAxLjU2MS4yNTYgMS45ODguNS43LjM5OCAxLjI4Ljk3OCAxLjY3OSAxLjY3OC4yNDMuNDI3LjQxLjk5My40OTggMS45ODguMDYxLjY3NS4wODIgMS40NzkuMDkgMi40OTNhLjc1My43NTMgMCAwIDAgLjc1Ljc0OVpNMy41MjcuNzg4QzQuNjc3LjEzMiA2LjE1Mi4wMjIgOC43NDcuMDA0QS43NDguNzQ4IDAgMCAxIDkuNS43NTJhLjc1My43NTMgMCAwIDEtLjc0OS43NTJjLTEuMDE0LjAwNy0xLjgxOC4wMjgtMi40OTMuMDg4LS45OTUuMDktMS41NjEuMjU2LTEuOTg4LjUtLjcuMzk4LTEuMjguOTc4LTEuNjc5IDEuNjc4LS4yNDMuNDI3LS40MS45OTMtLjQ5OSAxLjk4OC0uMDYuNjc1LS4wODEgMS40NzktLjA4OCAyLjQ5M0EuNzUzLjc1MyAwIDAgMSAxLjI1MiA5YS43NDguNzQ4IDAgMCAxLS43NDgtLjc1MmMuMDE4LTIuNTk2LjEyOC00LjA3Ljc4NC01LjIyYTYgNiAwIDAgMSAyLjI0LTIuMjRaTTEuMjUyIDE1YS43NDguNzQ4IDAgMCAwLS43NDguNzUyYy4wMTggMi41OTYuMTI4IDQuMDcuNzg0IDUuMjJhNiA2IDAgMCAwIDIuMjQgMi4yNGMxLjE1LjY1NiAyLjYyNC43NjYgNS4yMi43ODRhLjc0OC43NDggMCAwIDAgLjc1Mi0uNzQ4Ljc1My43NTMgMCAwIDAtLjc0OS0uNzUyYy0xLjAxNC0uMDA3LTEuODE4LS4wMjgtMi40OTMtLjA4OS0uOTk1LS4wODktMS41NjEtLjI1NS0xLjk4OC0uNDk4YTQuNSA0LjUgMCAwIDEtMS42NzktMS42OGMtLjI0My0uNDI2LS40MS0uOTkyLS40OTktMS45ODctLjA2LS42NzUtLjA4MS0xLjQ3OS0uMDg4LTIuNDkzQS43NTMuNzUzIDAgMCAwIDEuMjUyIDE1Wk0yMi45OTYgMTUuNzQ5YS43NTMuNzUzIDAgMCAxIC43NTItLjc0OWMuNDE1IDAgLjc1MS4zMzguNzQ4Ljc1Mi0uMDE4IDIuNTk2LS4xMjggNC4wNy0uNzg0IDUuMjJhNiA2IDAgMCAxLTIuMjQgMi4yNGMtMS4xNS42NTYtMi42MjQuNzY2LTUuMjIuNzg0YS43NDguNzQ4IDAgMCAxLS43NTItLjc0OGMwLS40MTQuMzM1LS43NDkuNzQ4LS43NTIgMS4wMTUtLjAwNyAxLjgyLS4wMjggMi40OTQtLjA4OS45OTUtLjA4OSAxLjU2MS0uMjU1IDEuOTg4LS40OThhNC41IDQuNSAwIDAgMCAxLjY3OS0xLjY4Yy4yNDMtLjQyNi40MS0uOTkyLjQ5OC0xLjk4Ny4wNjEtLjY3NS4wODItMS40NzkuMDktMi40OTNaIiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03IDRhMi41IDIuNSAwIDAgMC0yLjUgMi41djJBMi41IDIuNSAwIDAgMCA3IDExaDJhMi41IDIuNSAwIDAgMCAyLjUtMi41di0yQTIuNSAyLjUgMCAwIDAgOSA0SDdabTIgMS41SDdhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFaTTEzLjUgNi41QTIuNSAyLjUgMCAwIDEgMTYgNGgyYTIuNSAyLjUgMCAwIDEgMi41IDIuNXYyQTIuNSAyLjUgMCAwIDEgMTggMTFoLTJhMi41IDIuNSAwIDAgMS0yLjUtMi41di0yWm0yLjUtMWgyYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxaC0yYTEgMSAwIDAgMS0xLTF2LTJhMSAxIDAgMCAxIDEtMVpNNyAxM2EyLjUgMi41IDAgMCAwLTIuNSAyLjV2MkEyLjUgMi41IDAgMCAwIDcgMjBoMmEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTJBMi41IDIuNSAwIDAgMCA5IDEzSDdabTIgMS41SDdhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEzLjUgMTUuNWMwLS40NjUgMC0uNjk3LjAzOC0uODlhMiAyIDAgMCAxIDEuNTcyLTEuNTcyQzE1LjMwMyAxMyAxNS41MzUgMTMgMTYgMTN2Mi41aC0yLjVaTTE4IDEzYy40NjUgMCAuNjk3IDAgLjg5LjAzOGEyIDIgMCAwIDEgMS41NzIgMS41NzJjLjAzOC4xOTMuMDM4LjQyNS4wMzguODlIMThWMTNaTTE4IDE3LjVoMi41YzAgLjQ2NSAwIC42OTctLjAzOC44OWEyIDIgMCAwIDEtMS41NzIgMS41NzJDMTguNjk3IDIwIDE4LjQ2NSAyMCAxOCAyMHYtMi41Wk0xMy41IDE3LjVIMTZWMjBjLS40NjUgMC0uNjk3IDAtLjg5LS4wMzhhMiAyIDAgMCAxLTEuNTcyLTEuNTcyYy0uMDM4LS4xOTMtLjAzOC0uNDI1LS4wMzgtLjg5WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsU0NBTl9JQ09OOnM3YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTAgMTUuMjE2YzAgLjQyMi4zNDcuNzYzLjc2OC43NCAxLjIwMi0uMDY0IDIuMDI1LS4yMjIgMi43MS0uNjEzYTUuMDAxIDUuMDAxIDAgMCAwIDEuODY1LTEuODY2Yy4zOS0uNjg0LjU0OS0xLjUwNy42MTMtMi43MDlhLjczNS43MzUgMCAwIDAtLjc0LS43NjguNzY4Ljc2OCAwIDAgMC0uNzYuNzMyYy0uMDA5LjE1Ny0uMDIuMzA2LS4wMzIuNDQ3LS4wNzMuODEyLS4yMDYgMS4yNDQtLjM4NCAxLjU1NS0uMzEuNTQ1LS43NjEuOTk2LTEuMzA2IDEuMzA2LS4zMTEuMTc4LS43NDMuMzExLTEuNTU1LjM4NC0uMTQxLjAxMy0uMjkuMDIzLS40NDcuMDMyYS43NjguNzY4IDAgMCAwLS43MzIuNzZaTTEwIC43ODRjMCAuNDA3LjMyNS43MzcuNzMyLjc2LjE1Ny4wMDkuMzA2LjAyLjQ0Ny4wMzIuODEyLjA3MyAxLjI0NC4yMDYgMS41NTUuMzg0YTMuNSAzLjUgMCAwIDEgMS4zMDYgMS4zMDZjLjE3OC4zMTEuMzExLjc0My4zODQgMS41NTUuMDEzLjE0Mi4wMjMuMjkuMDMyLjQ0N2EuNzY4Ljc2OCAwIDAgMCAuNzYuNzMyLjczNC43MzQgMCAwIDAgLjc0LS43NjhjLS4wNjQtMS4yMDItLjIyMi0yLjAyNS0uNjEzLTIuNzFBNSA1IDAgMCAwIDEzLjQ3Ny42NThjLS42ODQtLjM5LTEuNTA3LS41NDktMi43MDktLjYxM2EuNzM1LjczNSAwIDAgMC0uNzY4Ljc0Wk01LjIzMi4wNDRBLjczNS43MzUgMCAwIDEgNiAuNzg0YS43NjguNzY4IDAgMCAxLS43MzIuNzZjLS4xNTcuMDA5LS4zMDUuMDItLjQ0Ny4wMzItLjgxMi4wNzMtMS4yNDQuMjA2LTEuNTU1LjM4NEEzLjUgMy41IDAgMCAwIDEuOTYgMy4yNjZjLS4xNzguMzExLS4zMTEuNzQzLS4zODQgMS41NTUtLjAxMy4xNDItLjAyMy4yOS0uMDMyLjQ0N0EuNzY4Ljc2OCAwIDAgMSAuNzg0IDZhLjczNS43MzUgMCAwIDEtLjc0LS43NjhjLjA2NC0xLjIwMi4yMjItMi4wMjUuNjEzLTIuNzFBNSA1IDAgMCAxIDIuNTIzLjY1OEMzLjIwNy4yNjcgNC4wMy4xMDggNS4yMzMuMDQ0Wk01LjI2OCAxNC40NTZhLjc2OC43NjggMCAwIDEgLjczMi43Ni43MzQuNzM0IDAgMCAxLS43NjguNzRjLTEuMjAyLS4wNjQtMi4wMjUtLjIyMi0yLjcxLS42MTNhNSA1IDAgMCAxLTEuODY1LTEuODY2Yy0uMzktLjY4NC0uNTQ5LTEuNTA3LS42MTMtMi43MDlBLjczNS43MzUgMCAwIDEgLjc4NCAxMGMuNDA3IDAgLjczNy4zMjUuNzYuNzMyLjAwOS4xNTcuMDIuMzA2LjAzMi40NDcuMDczLjgxMi4yMDYgMS4yNDQuMzg0IDEuNTU1YTMuNSAzLjUgMCAwIDAgMS4zMDYgMS4zMDZjLjMxMS4xNzguNzQzLjMxMSAxLjU1NS4zODQuMTQyLjAxMy4yOS4wMjMuNDQ3LjAzMloiLz48L3N2Zz5gLENIRUNLTUFSS19JQ09OOnM3YDxzdmcgd2lkdGg9IjEzIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTMgMTIiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIuMTU1LjEzMmEuNzUuNzUgMCAwIDEgLjIzMiAxLjAzNUw1LjgyMSAxMS41MzVhMSAxIDAgMCAxLTEuNjI2LjA5TC42NjUgNy4yMWEuNzUuNzUgMCAxIDEgMS4xNy0uOTM3TDQuNzEgOS44NjdhLjI1LjI1IDAgMCAwIC40MDYtLjAyM0wxMS4xMi4zNjRhLjc1Ljc1IDAgMCAxIDEuMDM1LS4yMzJaIiBmaWxsPSIjZmZmIi8+PC9zdmc+YCxIRUxQX0VUSF9JTUc6czdgPHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA2MCA2MCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2opIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzMCIgZmlsbD0iIzk4N0RFOCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJtMTUuNDggMjguMzY3IDExLjk2Ni0xOS4zYzEuMTc0LTEuODkyIDMuOTI3LTEuODkyIDUuMSAwbDExLjk3IDE5LjMwNmE2IDYgMCAwIDEgLjkgMy4xNDJ2LjAyOGE2IDYgMCAwIDEtMS4xNTQgMy41NkwzMy4yMjcgNTAuMjA4Yy0xLjU5OSAyLjE4OC00Ljg2NCAyLjE4OC02LjQ2MSAwTDE1LjczMyAzNS4wOTVhNiA2IDAgMCAxLTEuMTU0LTMuNTM4di0uMDI5YTYgNiAwIDAgMSAuOS0zLjE2MVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzAuODQgMTAuMTEyYS45OTIuOTkyIDAgMCAwLS44NDQtLjQ2NFYyNC41bDEyLjU5OCA1LjUzYy4wODEtLjQ2Ni0uMDAxLS45NjMtLjI3LTEuMzk4TDMwLjg0IDEwLjExMloiIGZpbGw9IiM2NDNDREQiLz48cGF0aCBkPSJNMjkuOTk2IDkuNjQ4YS45OTEuOTkxIDAgMCAwLS44NDUuNDY1bC0xMS40ODkgMTguNTNhMS45OTEgMS45OTEgMCAwIDAtLjI2NCAxLjM4N2wxMi41OTgtNS41M1Y5LjY0OFoiIGZpbGw9IiNCREFERUIiLz48cGF0aCBkPSJNMjkuOTk2IDUwLjU0NGEuOTk0Ljk5NCAwIDAgMCAuODA4LS40MWwxMS4yMzUtMTUuMzhjLjMwNy0uNDM0LS4xOTMtLjk4OC0uNjU4LS43MkwzMS40OSAzOS43MWEyLjk5OCAyLjk5OCAwIDAgMS0xLjQ5NC4zOTh2MTAuNDM3WiIgZmlsbD0iIzY0M0NERCIvPjxwYXRoIGQ9Ik0xNy45NjYgMzQuNzYyIDI5LjE5IDUwLjEzNGMuMi4yNzQuNTAzLjQxLjgwNy40MVY0MC4xMDhhMi45OTggMi45OTggMCAwIDEtMS40OTMtLjM5OGwtOS44ODQtNS42NzZjLS40NjgtLjI3LS45NzEuMjkyLS42NTMuNzI4WiIgZmlsbD0iI0JEQURFQiIvPjxwYXRoIGQ9Ik00Mi41OTQgMzAuMDMgMjkuOTk2IDI0LjV2MTMuMTM4YTMgMyAwIDAgMCAxLjQ5NS0uMzk5bDEwLjE0OS01LjgzYy41MjUtLjMxLjg1Ni0uODIzLjk1NC0xLjM4WiIgZmlsbD0iIzQwMUFCMyIvPjxwYXRoIGQ9Ik0yOS45OTYgMzcuNjM4VjI0LjQ2MmwtMTIuNTk4IDUuNTY2Yy4wOTguNTY0LjQzNyAxLjA4My45NzQgMS4zOTJsMTAuMTMgNS44MmMuNDYyLjI2NS45NzguMzk4IDEuNDk0LjM5OFoiIGZpbGw9IiM3QzVBRTIiLz48L2c+PHJlY3QgY2xhc3M9ImhlbHAtaW1nLWhpZ2hsaWdodCIgeD0iLjUiIHk9Ii41IiB3aWR0aD0iNTkiIGhlaWdodD0iNTkiIHJ4PSIyOS41Ii8+PGRlZnM+PGNsaXBQYXRoIGlkPSJqIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzMCIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmAsSEVMUF9QQUlOVElOR19JTUc6czdgPHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA2MCA2MCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2spIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzIiBmaWxsPSIjQzY1M0M2Ii8+PHBhdGggZD0iTTUyLjA5NCA0Ny4zNDRjMC00LjI0Ni0xLjQzNi05LjU1Ny01Ljg4NS0xMi40YTIuODc2IDIuODc2IDAgMCAwLTEuNjE1LTMuODkxdi0uODE5YTQuMDM3IDQuMDM3IDAgMCAwLTEuMzQtMy4wMDcgNC43NSA0Ljc1IDAgMCAwLTIuNDEtNi4yNTJ2LTUuNTA2YzAtNi4yNDgtNS4wNjUtMTEuMzEzLTExLjMxMy0xMS4zMTMtNi4yNDcgMC0xMS4zMTIgNS4wNjUtMTEuMzEyIDExLjMxM3YyLjE1MmEzLjM0MyAzLjM0MyAwIDAgMC0xLjE4IDUuMDQ1IDQuNzM4IDQuNzM4IDAgMCAwLTEuNjMzIDMuNTg0IDQuNzMgNC43MyAwIDAgMCAuOTU2IDIuODU4IDUuMjE4IDUuMjE4IDAgMCAwLTIuMzU4IDYuODE1Yy0zLjA2IDQuMTI5LTYuMDk4IDguMjk4LTYuMDk4IDE1LjY0IDAgMi42NjguMzY0IDQuODU2LjczMSA2LjM4NS4xODQuNzY1LjM2OCAxLjM2Ni41MDkgMS43OGExMi43MjEgMTIuNzIxIDAgMCAwIC4yMjUuNjExbC4wMTUuMDM3LjAwNS4wMTEuMDAxLjAwNHYuMDAyaC4wMDFsLjkyLS4zOTMtLjkyLjM5NC4yNi42MDZoMzguMjZsLjI5MS0uNDktLjg2LS41MS44Ni41MXYtLjAwMWwuMDAyLS4wMDIuMDAyLS4wMDUuMDEtLjAxNy4wMzUtLjA2LjEyNy0uMjI1Yy4xMDgtLjE5NS4yNi0uNDc3LjQ0MS0uODM1LjM2My0uNzE0Ljg0NS0xLjczMiAxLjMyOC0yLjk1My45NTktMi40MjcgMS45NDUtNS43MjUgMS45NDUtOS4wNjhaIiBmaWxsPSIjRTg3REU4IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjYuNSAyOS41Yy0zLS41LTUuNS0zLTUuNTAzLTdsLjAwMi03YzAtLjQ2NiAwLS42OTguMDI2LS44OTNhMyAzIDAgMCAxIDIuNTgyLTIuNTgyYy4xOTUtLjAyNi40MjgtLjAyNi44OTMtLjAyNiAyIDAgMi41LTIuNSAyLjUtMi41czAgMi41IDIuNSAyLjVjMS4zOTggMCAyLjA5NyAwIDIuNjQ4LjIyOWEzIDMgMCAwIDEgMS42MjQgMS42MjNjLjIyOC41NTIuMjI4IDEuMjUuMjI4IDIuNjQ5djZjMCA0LTMgNy02LjUgNyAxLjM1LjIzIDQgMCA2LjUtMnY5LjUzQzM0IDM4LjUgMzEuNDk1IDQwIDI4IDQwcy02LTEuNS02LTIuOTdMMjQgMzRsMi41IDEuNXYtNlpNMjYgNDdoNC41YzIuNSAwIDMgNCAzIDUuNWgtM2wtMS0xLjVIMjZ2LTRabS02LjI1IDUuNUgyNFY1N2gtOGMwLTEgMS00LjUgMy43NS00LjVaIiBmaWxsPSIjZmZmIi8+PC9nPjxyZWN0IGNsYXNzPSJoZWxwLWltZy1oaWdobGlnaHQiIHg9Ii41IiB5PSIuNSIgd2lkdGg9IjU5IiBoZWlnaHQ9IjU5IiByeD0iMi41Ii8+PGRlZnM+PGNsaXBQYXRoIGlkPSJrIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzIiBmaWxsPSIjZmZmIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxIRUxQX0NIQVJUX0lNRzpzN2A8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48ZyBjbGlwLXBhdGg9InVybCgjbCkiPjxwYXRoIGQ9Ik0wIDI1LjAxQzAgMTUuNzYgMCAxMS4xMzMgMS45NyA3LjY3OGExNSAxNSAwIDAgMSA1LjU5OC01LjU5N0MxMS4wMjMuMTEgMTUuNjQ4LjExIDI0LjkuMTFoMTAuMmM5LjI1MSAwIDEzLjg3NyAwIDE3LjMzMiAxLjk3YTE1IDE1IDAgMCAxIDUuNTk3IDUuNTk3QzYwIDExLjEzMyA2MCAxNS43NTggNjAgMjUuMDF2MTAuMmMwIDkuMjUyIDAgMTMuODc3LTEuOTcgMTcuMzMyYTE1IDE1IDAgMCAxLTUuNTk4IDUuNTk4Yy0zLjQ1NSAxLjk3LTguMDggMS45Ny0xNy4zMzIgMS45N0gyNC45Yy05LjI1MSAwLTEzLjg3NyAwLTE3LjMzMi0xLjk3YTE0Ljk5OSAxNC45OTkgMCAwIDEtNS41OTctNS41OThDMCA0OS4wODcgMCA0NC40NjIgMCAzNS4yMXYtMTAuMloiIGZpbGw9IiMxREM5NTYiLz48cGF0aCBkPSJNLjUgMjUuMDFjMC00LjYzNSAwLTguMDc4LjI0NC0xMC43OTUuMjQ0LTIuNzEuNzI2LTQuNjUgMS42Ni02LjI4OWExNC41IDE0LjUgMCAwIDEgNS40MTItNS40MWMxLjYzOS0uOTM2IDMuNTc5LTEuNDE4IDYuMjg5LTEuNjYxQzE2LjgyMi42MSAyMC4yNjUuNjEgMjQuOS42MWgxMC4yYzQuNjM1IDAgOC4wNzggMCAxMC43OTUuMjQ1IDIuNzEuMjQzIDQuNjUuNzI1IDYuMjkgMS42NmExNC41IDE0LjUgMCAwIDEgNS40MSA1LjQxMWMuOTM1IDEuNjQgMS40MTcgMy41NzkgMS42NiA2LjI5LjI0NCAyLjcxNy4yNDUgNi4xNi4yNDUgMTAuNzk0djEwLjJjMCA0LjYzNSAwIDguMDc4LS4yNDQgMTAuNzk1LS4yNDQgMi43MS0uNzI2IDQuNjUtMS42NiA2LjI5YTE0LjUgMTQuNSAwIDAgMS01LjQxMiA1LjQxYy0xLjYzOS45MzYtMy41NzkgMS40MTgtNi4yODkgMS42NjEtMi43MTcuMjQ0LTYuMTYuMjQ0LTEwLjc5NS4yNDRIMjQuOWMtNC42MzUgMC04LjA3OCAwLTEwLjc5NS0uMjQ0LTIuNzEtLjI0My00LjY1LS43MjUtNi4yOS0xLjY2YTE0LjUgMTQuNSAwIDAgMS01LjQxLTUuNDEyQzEuNDcgNTAuNjU1Ljk4OCA0OC43MTYuNzQ1IDQ2LjAwNS41IDQzLjI4OC41IDM5Ljg0NS41IDM1LjIxdi0xMC4yWiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iLjEiLz48cGF0aCBkPSJNMTYuMTA5IDYwYy0zLjgzMy0uMTc5LTYuNDEtLjY0NS04LjU0MS0xLjg2YTE1IDE1IDAgMCAxLTUuNTk4LTUuNTk4Qy41NTMgNTAuMDU3LjE1NSA0Ni45NjcuMDQzIDQxLjk4NWw0LjE0Ni0xLjM4MmE0IDQgMCAwIDAgMi40OC0yLjM5bDQuNjU0LTEyLjQwOWEyIDIgMCAwIDEgMi41MDUtMS4xOTVsMi41MjYuODQyYTIgMiAwIDAgMCAyLjQyMi0xLjAwM2wyLjk2OC01LjkzOGMuODEtMS42MiAzLjE4NS0xLjQxNSAzLjcwNS4zMmwzLjc3NCAxMi41ODFhMiAyIDAgMCAwIDMuMDI1IDEuMDlsMy4zNDItMi4yMjhjLjI3LS4xOC40OS0uNDIyLjY0Ni0uNzA2bDUuMjk3LTkuNzEyYTIgMiAwIDAgMSAxLjQyOC0xLjAxNmw0LjEzNC0uNjg5YTIgMiAwIDAgMSAxLjYxLjQzN2wzLjg5MiAzLjI0M2EyIDIgMCAwIDAgMi42OTQtLjEyMmw0LjYzMy00LjYzMkM2MCAxOS4yOCA2MCAyMS44OCA2MCAyNS4wMXYxMC4yYzAgOS4yNTIgMCAxMy44NzctMS45NyAxNy4zMzJhMTQuOTk4IDE0Ljk5OCAwIDAgMS01LjU5OCA1LjU5OGMtMi4xMzEgMS4yMTUtNC43MDggMS42ODEtOC41NCAxLjg2SDE2LjEwOFoiIGZpbGw9IiMyQkVFNkMiLz48cGF0aCBkPSJNLjA3MiA0My4wM2ExMTIuMzcgMTEyLjM3IDAgMCAxLS4wNDgtMi4wOTNsMy44NS0xLjI4M2EzIDMgMCAwIDAgMS44Ni0xLjc5M2w0LjY1My0xMi40MDhhMyAzIDAgMCAxIDMuNzU4LTEuNzkzbDIuNTI2Ljg0MmExIDEgMCAwIDAgMS4yMS0uNTAxbDIuOTctNS45MzhjMS4yMTQtMi40MyA0Ljc3NS0yLjEyMyA1LjU1Ni40OGwzLjc3NCAxMi41OGExIDEgMCAwIDAgMS41MTMuNTQ1bDMuMzQxLTIuMjI3YTEgMSAwIDAgMCAuMzIzLS4zNTNsNS4yOTgtOS43MTJhMyAzIDAgMCAxIDIuMTQtMS41MjNsNC4xMzUtLjY5YTMgMyAwIDAgMSAyLjQxNC42NTVsMy44OTIgMy4yNDRhMSAxIDAgMCAwIDEuMzQ3LS4wNjFsNS4yOC01LjI4Yy4wNDYuODQ1LjA3NyAxLjc1Mi4wOTcgMi43MzJsLTMuOTYyIDMuOTYyYTMgMyAwIDAgMS00LjA0Mi4xODNsLTMuODkzLTMuMjQzYTEgMSAwIDAgMC0uODA0LS4yMThsLTQuMTM1LjY4OWExIDEgMCAwIDAtLjcxNC41MDdsLTUuMjk3IDkuNzEyYy0uMjMzLjQyNy0uNTY1Ljc5LS45NyAxLjA2bC0zLjM0IDIuMjI4YTMgMyAwIDAgMS00LjUzOC0xLjYzNWwtMy43NzUtMTIuNThjLS4yNi0uODY4LTEuNDQ3LS45Ny0xLjg1Mi0uMTZsLTIuOTY5IDUuOTM3YTMgMyAwIDAgMS0zLjYzMiAxLjUwNWwtMi41MjYtLjg0MmExIDEgMCAwIDAtMS4yNTIuNTk3TDcuNjA2IDM4LjU2NGE1IDUgMCAwIDEtMy4xIDIuOTg4TC4wNzIgNDMuMDI5WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDkuNSAxOWE1LjUgNS41IDAgMSAxLTExIDAgNS41IDUuNSAwIDAgMSAxMSAwWiIgZmlsbD0iIzJCRUU2QyIvPjxwYXRoIGQ9Ik00Ny41IDE5YTMuNSAzLjUgMCAxIDEtNyAwIDMuNSAzLjUgMCAwIDEgNyAwWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik00NSAuMjgzdjU5LjY1NGMtLjYzLjA0Mi0xLjI5NC4wNzQtMiAuMDk4Vi4xODVjLjcwNi4wMjUgMS4zNy4wNTYgMiAuMDk4WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGNsYXNzPSJoZWxwLWltZy1oaWdobGlnaHQiIGQ9Ik0uNSAyNS4wMWMwLTQuNjM1IDAtOC4wNzguMjQ0LTEwLjc5NS4yNDQtMi43MS43MjYtNC42NSAxLjY2LTYuMjg5YTE0LjUgMTQuNSAwIDAgMSA1LjQxMi01LjQxYzEuNjM5LS45MzYgMy41NzktMS40MTggNi4yODktMS42NjFDMTYuODIyLjYxIDIwLjI2NS42MSAyNC45LjYxaDEwLjJjNC42MzUgMCA4LjA3OCAwIDEwLjc5NS4yNDUgMi43MS4yNDMgNC42NS43MjUgNi4yOSAxLjY2YTE0LjUgMTQuNSAwIDAgMSA1LjQxIDUuNDExYy45MzUgMS42NCAxLjQxNyAzLjU3OSAxLjY2IDYuMjkuMjQ0IDIuNzE3LjI0NSA2LjE2LjI0NSAxMC43OTR2MTAuMmMwIDQuNjM1IDAgOC4wNzgtLjI0NCAxMC43OTUtLjI0NCAyLjcxLS43MjYgNC42NS0xLjY2IDYuMjlhMTQuNSAxNC41IDAgMCAxLTUuNDEyIDUuNDFjLTEuNjM5LjkzNi0zLjU3OSAxLjQxOC02LjI4OSAxLjY2MS0yLjcxNy4yNDQtNi4xNi4yNDQtMTAuNzk1LjI0NEgyNC45Yy00LjYzNSAwLTguMDc4IDAtMTAuNzk1LS4yNDQtMi43MS0uMjQzLTQuNjUtLjcyNS02LjI5LTEuNjZhMTQuNSAxNC41IDAgMCAxLTUuNDEtNS40MTJDMS40NyA1MC42NTUuOTg4IDQ4LjcxNi43NDUgNDYuMDA1LjUgNDMuMjg4LjUgMzkuODQ1LjUgMzUuMjF2LTEwLjJaIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0ibCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg2MHY2MEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmAsSEVMUF9LRVlfSU1HOnM3YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxnIGNsaXAtcGF0aD0idXJsKCNtKSI+PHBhdGggZmlsbD0iI0VCOEI0NyIgZD0iTTAgMjQuOWMwLTkuMjUyIDAtMTMuODc4IDEuOTctMTcuMzMyQTE1IDE1IDAgMCAxIDcuNTY5IDEuOTdDMTEuMDIzIDAgMTUuNjQ4IDAgMjQuOSAwaDEwLjJjOS4yNTEgMCAxMy44NzcgMCAxNy4zMzIgMS45N2ExNSAxNSAwIDAgMSA1LjU5NyA1LjU5OEM2MCAxMS4wMjIgNjAgMTUuNjQ4IDYwIDI0Ljg5OXYxMC4yYzAgOS4yNTIgMCAxMy44NzgtMS45NyAxNy4zMzJhMTUuMDAxIDE1LjAwMSAwIDAgMS01LjU5OCA1LjU5OGMtMy40NTUgMS45Ny04LjA4IDEuOTctMTcuMzMyIDEuOTdIMjQuOWMtOS4yNTEgMC0xMy44NzcgMC0xNy4zMzItMS45N2ExNSAxNSAwIDAgMS01LjU5Ny01LjU5OEMwIDQ4Ljk3NyAwIDQ0LjM1MSAwIDM1LjFWMjQuOVoiLz48cGF0aCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiBkPSJNLjUgMjQuOWMwLTQuNjM1IDAtOC4wNzguMjQ0LTEwLjc5NS4yNDQtMi43MS43MjYtNC42NSAxLjY2LTYuMjlhMTQuNSAxNC41IDAgMCAxIDUuNDEyLTUuNDFDOS40NTUgMS40NjggMTEuMzk1Ljk4NiAxNC4xMDUuNzQzIDE2LjgyMi41IDIwLjI2NS41IDI0LjkuNWgxMC4yYzQuNjM1IDAgOC4wNzggMCAxMC43OTUuMjQ0IDIuNzEuMjQzIDQuNjUuNzI1IDYuMjkgMS42NmExNC41IDE0LjUgMCAwIDEgNS40MSA1LjQxMWMuOTM1IDEuNjQgMS40MTcgMy41OCAxLjY2IDYuMjkuMjQ0IDIuNzE3LjI0NSA2LjE2LjI0NSAxMC43OTR2MTAuMmMwIDQuNjM1IDAgOC4wNzgtLjI0NCAxMC43OTYtLjI0NCAyLjcxLS43MjYgNC42NS0xLjY2IDYuMjg5YTE0LjUgMTQuNSAwIDAgMS01LjQxMiA1LjQxYy0xLjYzOS45MzYtMy41NzkgMS40MTgtNi4yODkgMS42NjEtMi43MTcuMjQ0LTYuMTYuMjQ0LTEwLjc5NS4yNDRIMjQuOWMtNC42MzUgMC04LjA3OCAwLTEwLjc5NS0uMjQ0LTIuNzEtLjI0My00LjY1LS43MjUtNi4yOS0xLjY2YTE0LjUgMTQuNSAwIDAgMS01LjQxLTUuNDExYy0uOTM1LTEuNjQtMS40MTctMy41OC0xLjY2LTYuMjlDLjUgNDMuMTc4LjUgMzkuNzM0LjUgMzUuMVYyNC45WiIvPjxwYXRoIGZpbGw9IiNGRjk3NEMiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMzkuMTkyIDI5LjE5MmM1LjA3Ny01LjA3NyA1LjA3Ny0xMy4zMDggMC0xOC4zODUtNS4wNzYtNS4wNzctMTMuMzA4LTUuMDc3LTE4LjM4NCAwLTUuMDc3IDUuMDc3LTUuMDc3IDEzLjMwOCAwIDE4LjM4NWwxLjI4NyAxLjI5MWMxLjEzNyAxLjE0MiAxLjcwNiAxLjcxMiAyLjA5NyAyLjM4Ny4yNjcuNDYyLjQ3Mi45NTcuNjA4IDEuNDczLjIuNzU1LjIgMS41Ni4yIDMuMTcxVjQ4Ljc1YzAgMS4wNzcgMCAxLjYxNS4xMzQgMi4xMTlhNCA0IDAgMCAwIC40MDcuOTg0Yy4yNjIuNDUuNjQzLjgzMSAxLjQwNCAxLjU5MmwuMjk0LjI5NWMuNjU0LjY1NC45ODIuOTgxIDEuMzY1IDEuMDg2LjI2LjA3LjUzMy4wNy43OTIgMCAuMzgzLS4xMDUuNzEtLjQzMiAxLjM2NS0xLjA4NmwzLjQ3OC0zLjQ3OWMuNjU1LS42NTQuOTgyLS45ODEgMS4wODctMS4zNjVhMS41IDEuNSAwIDAgMCAwLS43OTFjLS4xMDUtLjM4NC0uNDMyLS43MTEtMS4wODctMS4zNjVsLS40NzgtLjQ3OWMtLjY1NS0uNjU0LS45ODItLjk4MS0xLjA4Ny0xLjM2NWExLjUgMS41IDAgMCAxIDAtLjc5MWMuMTA1LS4zODQuNDMyLS43MTEgMS4wODctMS4zNjVsLjQ3OC0uNDc5Yy42NTUtLjY1NC45ODItLjk4MSAxLjA4Ny0xLjM2NWExLjUgMS41IDAgMCAwIDAtLjc5MWMtLjEwNS0uMzg0LS40MzItLjcxMS0xLjA4Ny0xLjM2NWwtLjQ5Mi0uNDkzYy0uNjUtLjY1LS45NzQtLjk3NC0xLjA4LTEuMzU1YTEuNSAxLjUgMCAwIDEtLjAwMy0uNzg4Yy4xMDItLjM4Mi40MjUtLjcxIDEuMDY5LTEuMzY0bDUuNDYtNS41NDdaIi8+PGNpcmNsZSBjeD0iMzAiIGN5PSIxNyIgcj0iNCIgZmlsbD0iI0VCOEI0NyIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJtIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDYwdjYwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxIRUxQX1VTRVJfSU1HOnM3YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxnIGNsaXAtcGF0aD0idXJsKCNuKSI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSIjMDBBQ0U2IiByeD0iMzAiLz48cGF0aCBmaWxsPSIjMUFDNkZGIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTU5IDczYzAgMTYuMDE2LTEyLjk4NCAyOS0yOSAyOVMxIDg5LjAxNiAxIDczYzAtMTYuMDE3IDExLTI5IDI5LTI5czI5IDEyLjk4MyAyOSAyOVpNMTguNjkgMTkuOTAyYTExIDExIDAgMCAxIDkuMjgxLTguNjkyIDE0Ljg0MiAxNC44NDIgMCAwIDEgNC4wNTggMCAxMSAxMSAwIDAgMSA5LjI4IDguNjkyYy4xNzguODY2LjMyMiAxLjc1LjQ0IDIuNjI1LjEzMi45NzcuMTMyIDEuOTY4IDAgMi45NDVhMzkuNDY3IDM5LjQ2NyAwIDAgMS0uNDQgMi42MjUgMTEgMTEgMCAwIDEtOS4yOCA4LjY5MiAxNC44NjIgMTQuODYyIDAgMCAxLTQuMDU4IDAgMTEgMTEgMCAwIDEtOS4yOC04LjY5MiAzOS40NjcgMzkuNDY3IDAgMCAxLS40NC0yLjYyNSAxMS4wMDQgMTEuMDA0IDAgMCAxIDAtMi45NDVjLjExOC0uODc2LjI2Mi0xLjc1OS40NC0yLjYyNVoiLz48Y2lyY2xlIGN4PSIyNC41IiBjeT0iMjMuNSIgcj0iMS41IiBmaWxsPSIjZmZmIi8+PGNpcmNsZSBjeD0iMzUuNSIgY3k9IjIzLjUiIHI9IjEuNSIgZmlsbD0iI2ZmZiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Im0zMSAyMC0zIDhoNCIvPjwvZz48cmVjdCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiB3aWR0aD0iNTkiIGhlaWdodD0iNTkiIHg9Ii41IiB5PSIuNSIgcng9IjI5LjUiLz48ZGVmcz48Y2xpcFBhdGggaWQ9Im4iPjxyZWN0IHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2ZmZiIgcng9IjMwIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxIRUxQX0xPQ0tfSU1HOnM3YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxyZWN0IHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0iI0M2NTNDNiIgcng9IjMiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMjAuMDM0IDE1LjIxNkMyMCAxNS42MDcgMjAgMTYuMDcgMjAgMTd2Mi44MDhjMCAxLjEzIDAgMS42OTYtLjIgMi4xMWExLjc4IDEuNzggMCAwIDEtLjU4NC43MTRjLS4zNjYuMjgtMS4wNTEuNDItMi40MjMuN2E3LjA3NiA3LjA3NiAwIDAgMC0xLjU5Ny41MTEgOS4wMDEgOS4wMDEgMCAwIDAtNC4zNTMgNC4zNTNDMTAgMzAuMDA1IDEwIDMyLjMzNiAxMCAzN2MwIDQuNjYzIDAgNi45OTUuODQzIDguODA0YTkuMDAxIDkuMDAxIDAgMCAwIDQuMzUzIDQuMzUzQzE3LjAwNSA1MSAxOS4zMzYgNTEgMjQgNTFoMTJjNC42NjMgMCA2Ljk5NSAwIDguODA0LS44NDNhOS4wMDEgOS4wMDEgMCAwIDAgNC4zNTMtNC4zNTNDNTAgNDMuOTk1IDUwIDQxLjY2NCA1MCAzN2MwLTQuNjYzIDAtNi45OTUtLjg0My04LjgwNGE5LjAwMSA5LjAwMSAwIDAgMC00LjM1My00LjM1MyA3LjA3NiA3LjA3NiAwIDAgMC0xLjU5Ny0uNTExYy0xLjM3Mi0uMjgtMi4wNTctLjQyLTIuNDIzLS43YTEuNzggMS43OCAwIDAgMS0uNTgzLS43MTVDNDAgMjEuNTA1IDQwIDIwLjk0IDQwIDE5LjgwOVYxN2MwLS45MjkgMC0xLjM5My0uMDM0LTEuNzg0YTkgOSAwIDAgMC04LjE4Mi04LjE4MkMzMS4zOTMgNyAzMC45MyA3IDMwIDdzLTEuMzkzIDAtMS43ODQuMDM0YTkgOSAwIDAgMC04LjE4MiA4LjE4MloiLz48cGF0aCBmaWxsPSIjRTg3REU4IiBkPSJNMjIgMTdjMC0uOTI5IDAtMS4zOTMuMDQ0LTEuNzg0YTcgNyAwIDAgMSA2LjE3Mi02LjE3MkMyOC42MDYgOSAyOS4wNzEgOSAzMCA5czEuMzkzIDAgMS43ODQuMDQ0YTcgNyAwIDAgMSA2LjE3MiA2LjE3MmMuMDQ0LjM5LjA0NC44NTUuMDQ0IDEuNzg0djQuNWExLjUgMS41IDAgMCAxLTMgMFYxN2MwLS45MyAwLTEuMzk0LS4wNzctMS43OGE0IDQgMCAwIDAtMy4xNDMtMy4xNDNDMzEuMzk0IDEyIDMwLjkzIDEyIDMwIDEycy0xLjM5NCAwLTEuNzguMDc3YTQgNCAwIDAgMC0zLjE0MyAzLjE0M0MyNSAxNS42MDYgMjUgMTYuMDcgMjUgMTd2NC41YTEuNSAxLjUgMCAwIDEtMyAwVjE3WiIvPjxwYXRoIGZpbGw9IiNFODdERTgiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDM2LjYyYzAtNC4zMTcgMC02LjQ3Ni45Mi04LjA4OGE3IDcgMCAwIDEgMi42MTItMi42MTJjMS42MTItLjkyIDMuNzctLjkyIDguMDg4LS45Mmg2Ljg1NWMuNDY5IDAgLjcwMyAwIC45MDYuMDE3IDIuNzMuMjIyIDQuMzY0IDIuNDM4IDQuNjE5IDQuOTgzLjI3LTIuNjk4IDIuMTExLTUgNS4wMTUtNUE2Ljk4NSA2Ljk4NSAwIDAgMSA0OCAzMS45ODV2NS4zOTVjMCA0LjMxNyAwIDYuNDc2LS45MiA4LjA4OGE3IDcgMCAwIDEtMi42MTIgMi42MTJjLTEuNjEyLjkyLTMuNzcuOTItOC4wODguOTJoLTUuODU1Yy0uNDY5IDAtLjcwMyAwLS45MDYtLjAxNy0yLjczLS4yMjItNC4zNjQtMi40MzgtNC42MTktNC45ODMtLjI1OCAyLjU4My0xLjk0MyA0LjgxOC00LjcxNCA0Ljk5LS4xNTUuMDEtLjMzNS4wMS0uNjk0LjAxLS41NSAwLS44MjUgMC0xLjA1Ny0uMDE1YTcgNyAwIDAgMS02LjUyLTYuNTJDMTIgNDIuMjMzIDEyIDQxLjk1OCAxMiA0MS40MDhWMzYuNjJabTIxLjI0LS4yNzNhNCA0IDAgMSAwLTYuNDc4IDBjLjk4NSAxLjM2IDEuNDc5IDIuMDM5IDEuNTY0IDIuMjI5LjE3OC4zOTguMTc2LjgxOC4xNzQgMS4yNDdWNDIuNWExLjUgMS41IDAgMCAwIDMgMHYtMi42NzdjLS4wMDItLjQyOS0uMDA0LS44NS4xNzQtMS4yNDcuMDg1LS4xOS41NzktLjg3IDEuNTY1LTIuMjI5WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHJlY3QgY2xhc3M9ImhlbHAtaW1nLWhpZ2hsaWdodCIgd2lkdGg9IjU5IiBoZWlnaHQ9IjU5IiB4PSIuNSIgeT0iLjUiIHJ4PSIyLjUiLz48L3N2Zz5gLEhFTFBfQ09NUEFTX0lNRzpzN2A8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9IiMxREM5NTYiIHJ4PSIzMCIvPjxjaXJjbGUgY3g9IjMwIiBjeT0iMjkuOTk5IiByPSIzIiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbD0iIzJCRUU2QyIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIGQ9Im00NS4zMTYgMTcuOS0uODgtLjQyNS44OC40MjRhNy45IDcuOSAwIDAgMSAuMDI2LS4wNTNjLjA5My0uMTkyLjIxLS40MzIuMjYtLjY4N2wtLjgxOS0uMTYyLjgxOS4xNjJhMiAyIDAgMCAwLS4yMzktMS40MDVjLS4xMzItLjIyNC0uMzItLjQxMi0uNDcyLS41NjJhOC40MTUgOC40MTUgMCAwIDEtLjA0Mi0uMDQybC0uMDQyLS4wNDJjLS4xNS0uMTUxLS4zMzgtLjM0LS41NjItLjQ3MmwtLjUwOC44NjIuNTA4LS44NjJhMiAyIDAgMCAwLTEuNDA1LS4yMzljLS4yNTUuMDUtLjQ5NS4xNjctLjY4Ny4yNmwtLjA1My4wMjYtMTUuMDUgNy4yNDYtLjEwOC4wNTJjLTEuMTMxLjU0NS0xLjg0My44ODctMi40NTYgMS4zNzRhNi45OTQgNi45OTQgMCAwIDAtMS4xMyAxLjEzYy0uNDg3LjYxMy0uODMgMS4zMjUtMS4zNzUgMi40NTdsLS4wNTEuMTA4LTcuMjQ3IDE1LjA1LS4wMjUuMDUzYy0uMDk0LjE5Mi0uMjEuNDMxLS4yNi42ODZhMiAyIDAgMCAwIC4yMzkgMS40MDZsLjg1NS0uNTA1LS44NTYuNTA1Yy4xMzMuMjI0LjMyMS40MTEuNDczLjU2MmwuMDQyLjA0Mi4wNDEuMDQyYy4xNS4xNTEuMzM4LjM0LjU2My40NzJhMiAyIDAgMCAwIDEuNDA1LjIzOWwtLjE5NS0uOTgxLjE5NS45OGMuMjU1LS4wNS40OTQtLjE2Ni42ODYtLjI2bC4wNTQtLjAyNS0uNDE5LS44Ny40MTkuODcgMTUuMDUtNy4yNDcuMTA3LS4wNTFjMS4xMzItLjU0NSAxLjg0NC0uODg4IDIuNDU3LTEuMzc0YTcuMDAyIDcuMDAyIDAgMCAwIDEuMTMtMS4xM2MuNDg3LS42MTQuODMtMS4zMjUgMS4zNzQtMi40NTdsLjA1Mi0uMTA4IDcuMjQ2LTE1LjA1WiIvPjxwYXRoIGZpbGw9IiMxREM5NTYiIGQ9Im0zMy4zNzYgMzIuNzIzLTIuNjY5LTMuNDMtMTQuODUgMTQuODQ5LjIwNi4yMDVhMSAxIDAgMCAwIDEuMTQxLjE5NGwxNS4xMDUtNy4yNzNhMyAzIDAgMCAwIDEuMDY3LTQuNTQ1WiIvPjxwYXRoIGZpbGw9IiM4NkY5OTkiIGQ9Im0yNi42MjQgMjcuMjc2IDIuNjY5IDMuNDMgMTQuODUtMTQuODQ5LS4yMDYtLjIwNWExIDEgMCAwIDAtMS4xNDEtLjE5NEwyNy42OSAyMi43MzFhMyAzIDAgMCAwLTEuMDY3IDQuNTQ1WiIvPjxjaXJjbGUgY3g9IjMwIiBjeT0iMzAiIHI9IjMiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDMwIDMwKSIvPjxyZWN0IGNsYXNzPSJoZWxwLWltZy1oaWdobGlnaHQiIHdpZHRoPSI1OSIgaGVpZ2h0PSI1OSIgeD0iLjUiIHk9Ii41IiByeD0iMjkuNSIvPjwvc3ZnPmAsSEVMUF9OT1VOX0lNRzpzN2A8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9IiM3OTRDRkYiIHJ4PSIzIi8+PHBhdGggZmlsbD0iIzk4N0RFOCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0zMyAyMi41di0xSDE2djVIOC41VjM2SDEzdi01aDN2Ny41aDE3VjMxaDF2Ny41aDE3di0xN0gzNHY1aC0xdi00WiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zNy41IDI1aDEwdjEwaC0xMHoiLz48cGF0aCBmaWxsPSIjNDAxOUIyIiBkPSJNNDIuNSAyNWg1djEwaC01eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xOS41IDI1aDEwdjEwaC0xMHoiLz48cGF0aCBmaWxsPSIjNDAxOUIyIiBkPSJNMjQuNSAyNWg1djEwaC01eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMiAzMC41aDRWMzdoLTR2LTYuNVoiLz48cmVjdCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiB3aWR0aD0iNTkiIGhlaWdodD0iNTkiIHg9Ii41IiB5PSIuNSIgcng9IjIuNSIvPjwvc3ZnPmAsSEVMUF9EQU9fSU1HOnM3YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxnIGNsaXAtcGF0aD0idXJsKCNvKSI+PHBhdGggZmlsbD0iI0VCOEI0NyIgZD0iTTAgMjQuOWMwLTkuMjUyIDAtMTMuODc4IDEuOTctMTcuMzMyQTE1IDE1IDAgMCAxIDcuNTY5IDEuOTdDMTEuMDIzIDAgMTUuNjQ4IDAgMjQuOSAwaDEwLjJjOS4yNTEgMCAxMy44NzcgMCAxNy4zMzIgMS45N2ExNSAxNSAwIDAgMSA1LjU5NyA1LjU5OEM2MCAxMS4wMjIgNjAgMTUuNjQ4IDYwIDI0Ljg5OXYxMC4yYzAgOS4yNTIgMCAxMy44NzgtMS45NyAxNy4zMzJhMTUuMDAxIDE1LjAwMSAwIDAgMS01LjU5OCA1LjU5OGMtMy40NTUgMS45Ny04LjA4IDEuOTctMTcuMzMyIDEuOTdIMjQuOWMtOS4yNTEgMC0xMy44NzcgMC0xNy4zMzItMS45N2ExNSAxNSAwIDAgMS01LjU5Ny01LjU5OEMwIDQ4Ljk3NyAwIDQ0LjM1MSAwIDM1LjFWMjQuOVoiLz48cGF0aCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiBkPSJNLjUgMjQuOWMwLTQuNjM1IDAtOC4wNzguMjQ0LTEwLjc5NS4yNDQtMi43MS43MjYtNC42NSAxLjY2LTYuMjlhMTQuNSAxNC41IDAgMCAxIDUuNDEyLTUuNDFDOS40NTUgMS40NjggMTEuMzk1Ljk4NiAxNC4xMDUuNzQzIDE2LjgyMi41IDIwLjI2NS41IDI0LjkuNWgxMC4yYzQuNjM1IDAgOC4wNzggMCAxMC43OTUuMjQ0IDIuNzEuMjQzIDQuNjUuNzI1IDYuMjkgMS42NmExNC41IDE0LjUgMCAwIDEgNS40MSA1LjQxMWMuOTM1IDEuNjQgMS40MTcgMy41OCAxLjY2IDYuMjkuMjQ0IDIuNzE3LjI0NSA2LjE2LjI0NSAxMC43OTR2MTAuMmMwIDQuNjM1IDAgOC4wNzgtLjI0NCAxMC43OTYtLjI0NCAyLjcxLS43MjYgNC42NS0xLjY2IDYuMjg5YTE0LjUgMTQuNSAwIDAgMS01LjQxMiA1LjQxYy0xLjYzOS45MzYtMy41NzkgMS40MTgtNi4yODkgMS42NjEtMi43MTcuMjQ0LTYuMTYuMjQ0LTEwLjc5NS4yNDRIMjQuOWMtNC42MzUgMC04LjA3OCAwLTEwLjc5NS0uMjQ0LTIuNzEtLjI0My00LjY1LS43MjUtNi4yOS0xLjY2YTE0LjUgMTQuNSAwIDAgMS01LjQxLTUuNDExYy0uOTM1LTEuNjQtMS40MTctMy41OC0xLjY2LTYuMjlDLjUgNDMuMTc4LjUgMzkuNzM0LjUgMzUuMVYyNC45WiIvPjxwYXRoIGZpbGw9IiNGRjk3NEMiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTkgNTJjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBTOSAzNi40NzcgOSA0MnM0LjQ3NyAxMCAxMCAxMFoiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Mi44NDQgOC4zMjZhMSAxIDAgMCAwLTEuNjg3IDBMMjguOTc4IDI3LjQ2M0ExIDEgMCAwIDAgMjkuODIyIDI5aDI0LjM1N2ExIDEgMCAwIDAgLjg0My0xLjUzN0w0Mi44NDQgOC4zMjZaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjRkY5NzRDIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Mi4zMzUgMTEuNjQ2Yy4zMjQuMTE1LjU3MS41MDQgMS4wNjYgMS4yOGw3LjMzMiAxMS41MjNjLjU2Mi44ODMuODQzIDEuMzI1Ljc5MiAxLjY5YTEgMSAwIDAgMS0uMzQyLjYyM2MtLjI4LjIzOC0uODAzLjIzOC0xLjg1LjIzOEgzNC42NjdjLTEuMDQ3IDAtMS41NyAwLTEuODUtLjIzOGExIDEgMCAwIDEtLjM0Mi0uNjIzYy0uMDUxLS4zNjUuMjMtLjgwNi43OTItMS42OWw3LjMzMi0xMS41MjNjLjQ5NS0uNzc2Ljc0Mi0xLjE2NSAxLjA2Ni0xLjI4YTEgMSAwIDAgMSAuNjcgMFpNMzUgMjdhNyA3IDAgMCAwIDctNyA3IDcgMCAwIDAgNyA3SDM1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI0ZGOTc0QyIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xMC4xMDYgOS4zNTdjLS4xMDkuMzItLjEwNy42ODItLjEwNi45NzVWMjUuNjY4Yy0uMDAxLjI5My0uMDAzLjY1NC4xMDYuOTc1YTIgMiAwIDAgMCAxLjI1MSAxLjI1Yy4zMi4xMS42ODIuMTA4Ljk3NS4xMDdIMTljNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyNC41MjMgOCAxOSA4aC02LjY2OGMtLjI5My0uMDAxLS42NTQtLjAwMy0uOTc1LjEwNmEyIDIgMCAwIDAtMS4yNSAxLjI1MVoiLz48Y2lyY2xlIGN4PSIxOSIgY3k9IjE4IiByPSI0IiBmaWxsPSIjRUI4QjQ3IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjxjaXJjbGUgY3g9IjE5IiBjeT0iNDEuOTk5IiByPSI0IiBmaWxsPSIjRUI4QjQ3IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9Im8iPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNjB2NjBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz5gLFNFQVJDSF9JQ09OOnM3YDxzdmcgd2lkdGg9IjIwIiBoZWlnaHQ9IjIxIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjQzMiAxMy45OTJjLS4zNTQtLjM1My0uOTEtLjM4Mi0xLjM1LS4xNDZhNS41IDUuNSAwIDEgMSAyLjI2NS0yLjI2NWMtLjIzNy40NDEtLjIwOC45OTcuMTQ1IDEuMzVsMy4yOTYgMy4yOTZhLjc1Ljc1IDAgMSAxLTEuMDYgMS4wNjFsLTMuMjk2LTMuMjk2Wm0uMDYtNWE0IDQgMCAxIDEtOCAwIDQgNCAwIDAgMSA4IDBaIiBmaWxsPSIjOTQ5RTlFIi8+PC9zdmc+YCxIRUxQX0lDT046czdgPHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxMSAxNyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTUuMjIgMi45N2MtMS4wNyAwLTIuMjUuODQzLTIuMjUgMi4yNWEuNzUuNzUgMCAwIDEtMS41IDBjMC0yLjM5MyAyLjAxOS0zLjc1IDMuNzUtMy43NSAxLjczIDAgMy43NSAxLjM1NyAzLjc1IDMuNzUgMCAxLjY0LTEuMDM4IDIuNDY2LTEuNzg1IDMuMDU3LS44MDIuNjM1LTEuMjE1Ljk4NC0xLjIxNSAxLjY5M2EuNzUuNzUgMCAxIDEtMS41IDBjMC0xLjQ2Ni45ODUtMi4yNCAxLjY4MS0yLjc4OGwuMTAzLS4wODFDNy4wMDcgNi41MDQgNy40NyA2LjA4IDcuNDcgNS4yMmMwLTEuNDA3LTEuMTgxLTIuMjUtMi4yNS0yLjI1Wk01LjIyIDE0Ljk3YTEuMjUgMS4yNSAwIDEgMCAwLTIuNSAxLjI1IDEuMjUgMCAwIDAgMCAyLjVaIi8+PC9zdmc+YCxXQUxMRVRfSUNPTjpzN2A8c3ZnIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE1IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0uNjQgOS4ydi0zaC4wMDFjLjAwOS0xLjg1Ny4wNy0yLjg4Ni41MjUtMy42ODJhNCA0IDAgMCAxIDEuNDkyLTEuNDkzQzMuNTguNSA0LjgxMy41IDcuMjguNWgzLjczNWMuNTggMCAuODcxIDAgMS4xMTQuMDRBMyAzIDAgMCAxIDE0LjYgMy4wMTFjLjA0LjI0My4wNC41MzMuMDQgMS4xMTQgMCAuNTggMCAuODcxLS4wNCAxLjExNGEzIDMgMCAwIDEtMi40NzEgMi40N2MtLjI0My4wNDEtLjUzMy4wNDEtMS4xMTQuMDQxaC0uNzc3Yy4xNzguMzA3LjMwMi42NDguMzYyIDEuMDExLjA0LjI0My4wNC41MzMuMDQgMS4xMTQgMCAuNTggMCAuODcxLS4wNCAxLjExNGEzIDMgMCAwIDEtMi40NzEgMi40N2MtLjI0My4wNDEtLjUzMy4wNDEtMS4xMTQuMDQxSDQuNTA3QTMuODY3IDMuODY3IDAgMCAxIC42NCA5LjYzM1Y5LjJaTTcuMjggMmgzLjczNWMuNjQgMCAuNzc5LjAwNS44Ny4wMmExLjUgMS41IDAgMCAxIDEuMjM1IDEuMjM2Yy4wMTUuMDkuMDIuMjI5LjAyLjg2OXMtLjAwNS43NzktLjAyLjg3YTEuNSAxLjUgMCAwIDEtMS4yMzYgMS4yMzVjLS4wOS4wMTUtLjIyOS4wMi0uODY5LjAySDQuMDIzYy0uNjk3IDAtMS4zNDUuMjEtMS44ODMuNTcyVjYuMjVoLjAwMWMuMDA0LS43OTEuMDE1LTEuMzgzLjA1OS0xLjg2Ny4wNTYtLjYyOS4xNTctLjkyNi4yNjktMS4xMjJhMi41IDIuNSAwIDAgMSAuOTMyLS45MzNjLjE5Ny0uMTExLjQ5NC0uMjEyIDEuMTIzLS4yNjhDNS4xNzMgMiA2LjAxOSAyIDcuMjggMlptLS4yNjUgNS43NUg0LjAyM2MtMS4wNCAwLTEuODgzLjg0My0xLjg4MyAxLjg4M0EyLjM2NyAyLjM2NyAwIDAgMCA0LjUwNyAxMmgyLjUwOGMuNjQgMCAuNzc5LS4wMDUuODctLjAyYTEuNSAxLjUgMCAwIDAgMS4yMzUtMS4yMzZjLjAxNS0uMDkuMDItLjIyOS4wMi0uODY5cy0uMDA1LS43NzktLjAyLS44N0ExLjUgMS41IDAgMCAwIDcuODg0IDcuNzdjLS4wOS0uMDE1LS4yMjgtLjAyLS44NjktLjAyWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+YCxORVRXT1JLX1BMQUNFSE9MREVSOnM3YDxzdmcgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjggMjgiPjxtYXNrIGlkPSJwIiB3aWR0aD0iMjYiIGhlaWdodD0iMjgiIHg9IjEiIHk9IjAiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiPjxwYXRoIGZpbGw9IiNEOUQ5RDkiIGQ9Ik0xMiAxLjE3MmE0IDQgMCAwIDEgNCAwbDguMTI0IDQuNjlhNCA0IDAgMCAxIDIgMy40NjV2OS4zODFhNCA0IDAgMCAxLTIgMy40NjRMMTYgMjYuODYyYTQgNCAwIDAgMS00IDBsLTguMTI0LTQuNjlhNCA0IDAgMCAxLTItMy40NjRWOS4zMjdhNCA0IDAgMCAxIDItMy40NjRMMTIgMS4xNzNaIi8+PC9tYXNrPjxnIG1hc2s9InVybCgjcCkiPjxwYXRoIGlkPSJuZXR3b3JrLXBsYWNlaG9sZGVyLWZpbGwiIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjh2MjhIMHoiLz48cGF0aCBpZD0ibmV0d29yay1wbGFjZWhvbGRlci1kYXNoIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1kYXNoYXJyYXk9IjIgMiIgZD0ibTguOTUzIDIuOTMxIDIuMDMyLTEuMTczLjI1LjQzMyAxLjAxNS0uNTg2Yy4yNjktLjE1NS41NTMtLjI3MS44NDQtLjM1bC0uMTMtLjQ4M2E0LjAwMyA0LjAwMyAwIDAgMSAyLjA3MSAwbC0uMTMuNDgzYy4yOTMuMDc5LjU3Ni4xOTUuODQ1LjM1bDEuMDE2LjU4Ni4yNS0uNDMzIDIuMDMgMS4xNzMtLjI1LjQzMyAyLjAzMiAxLjE3My4yNS0uNDMzIDIuMDMgMS4xNzItLjI1LjQzMyAxLjAxNi41ODdjLjI2OS4xNTUuNTEyLjM0Mi43MjUuNTU2bC4zNTQtLjM1NGE0LjAwMyA0LjAwMyAwIDAgMSAxLjAzNSAxLjc5NGwtLjQ4My4xMjljLjA3OC4yOTIuMTIuNTk2LjEyLjkwNnYxLjE3MmguNXYyLjM0NmgtLjV2Mi4zNDVoLjV2Mi4zNDVoLS41djEuMTczYzAgLjMxLS4wNDIuNjE0LS4xMi45MDZsLjQ4My4xM2E0LjAwMyA0LjAwMyAwIDAgMS0xLjAzNSAxLjc5M2wtLjM1NC0uMzU0YTMuNDk4IDMuNDk4IDAgMCAxLS43MjUuNTU2bC0xLjAxNS41ODYuMjUuNDM0LTIuMDMxIDEuMTcyLS4yNS0uNDMzLTIuMDMxIDEuMTczLjI1LjQzMy0yLjAzMSAxLjE3Mi0uMjUtLjQzMy0xLjAxNi41ODdhMy40OTQgMy40OTQgMCAwIDEtLjg0NC4zNWwuMTMuNDgyYTQuMDAzIDQuMDAzIDAgMCAxLTIuMDcxIDBsLjEzLS40ODNhMy40OTYgMy40OTYgMCAwIDEtLjg0NS0uMzVsLTEuMDE1LS41ODYtLjI1LjQzMy0yLjAzMi0xLjE3Mi4yNS0uNDMzLTIuMDMtMS4xNzMtLjI1LjQzM0w0Ljg5IDIyLjc2bC4yNS0uNDM0LTEuMDE1LS41ODZhMy40OTggMy40OTggMCAwIDEtLjcyNS0uNTU2bC0uMzU0LjM1NGE0LjAwMyA0LjAwMyAwIDAgMS0xLjAzNS0xLjc5NGwuNDgzLS4xM2EzLjQ5NyAzLjQ5NyAwIDAgMS0uMTItLjkwNXYtMS4xNzNoLS41VjE1LjE5aC41di0yLjM0NWgtLjV2LTIuMzQ2aC41VjkuMzI3YzAtLjMxLjA0Mi0uNjE0LjEyLS45MDZsLS40ODMtLjEzYTQuMDAzIDQuMDAzIDAgMCAxIDEuMDM1LTEuNzkzbC4zNTQuMzU0Yy4yMTMtLjIxNC40NTYtLjQwMS43MjUtLjU1NmwxLjAxNS0uNTg3LS4yNS0uNDMzIDIuMDMxLTEuMTcyLjI1LjQzMyAyLjAzMS0xLjE3My0uMjUtLjQzM1oiLz48cGF0aCBmaWxsPSIjNzk4Njg2IiBzdHJva2U9IiNmZmYiIGQ9Ik0xNC4yNDMgMTMuNTYzIDE0IDEzLjQyOGwtLjI0My4xMzUtNi4zODggMy41NDktLjAyNC4wMTNjLS40MzIuMjQtLjc5LjQ0LTEuMDUzLjYyMi0uMjY2LjE4NC0uNTE2LjQwNS0uNjM2LjcyMmExLjUgMS41IDAgMCAwIDAgMS4wNjJjLjEyLjMxNy4zNy41MzguNjM2LjcyMi4yNjMuMTgzLjYyLjM4MiAxLjA1My42MjJsLjAyNC4wMTMgMy4xNjQgMS43NTguMDg4LjA0OWMxLjE2NC42NDYgMS44NTcgMS4wMzIgMi42MDcgMS4xNjIuNTEuMDkgMS4wMzMuMDkgMS41NDQgMCAuNzUtLjEzIDEuNDQzLS41MTYgMi42MDYtMS4xNjJsLjA5LS4wNSAzLjE2My0xLjc1Ny4wMjQtLjAxM2MuNDMyLS4yNC43OS0uNDQgMS4wNTMtLjYyMi4yNjYtLjE4NC41MTYtLjQwNS42MzYtLjcyMmwtLjQ2OC0uMTc3LjQ2OC4xNzdhMS41IDEuNSAwIDAgMCAwLTEuMDYybC0uNDY4LjE3Ny40NjgtLjE3N2MtLjEyLS4zMTctLjM3LS41MzgtLjYzNi0uNzIyLS4yNjMtLjE4My0uNjItLjM4Mi0xLjA1My0uNjIybC0uMDI0LS4wMTMtNi4zODgtMy41NVoiLz48cGF0aCBmaWxsPSIjOUVBOUE5IiBzdHJva2U9IiNmZmYiIGQ9Ik0xNC4yNDMgOC41NjMgMTQgOC40MjhsLS4yNDMuMTM1LTYuMzg4IDMuNTQ5LS4wMjQuMDEzYy0uNDMyLjI0LS43OS40NC0xLjA1My42MjItLjI2Ni4xODQtLjUxNi40MDUtLjYzNi43MjJhMS41IDEuNSAwIDAgMCAwIDEuMDYyYy4xMi4zMTYuMzcuNTM3LjYzNi43MjIuMjYzLjE4My42Mi4zODIgMS4wNTMuNjIybC4wMjQuMDEzIDMuMTY0IDEuNzU4LjA4OC4wNDljMS4xNjQuNjQ2IDEuODU3IDEuMDMyIDIuNjA3IDEuMTYyLjUxLjA5IDEuMDMzLjA5IDEuNTQ0IDAgLjc1LS4xMyAxLjQ0My0uNTE2IDIuNjA2LTEuMTYybC4wOS0uMDUgMy4xNjMtMS43NTcuMDI0LS4wMTNjLjQzMi0uMjQuNzktLjQ0IDEuMDUzLS42MjIuMjY2LS4xODQuNTE2LS40MDUuNjM2LS43MjJsLS40NjgtLjE3Ny40NjguMTc3YTEuNSAxLjUgMCAwIDAgMC0xLjA2MmwtLjQ2OC4xNzcuNDY4LS4xNzdjLS4xMi0uMzE2LS4zNy0uNTM3LS42MzYtLjcyMi0uMjYzLS4xODMtLjYyLS4zODItMS4wNTMtLjYyMmwtLjAyNC0uMDEzLTYuMzg4LTMuNTVaIi8+PHBhdGggZmlsbD0iI0M5Q0ZDRiIgc3Ryb2tlPSIjZmZmIiBkPSJtMjIuMzQ0IDkuNTMtLjQ2OC0uMTc2LjQ2OC4xNzdhMS41IDEuNSAwIDAgMCAwLTEuMDYybC0uNDY4LjE3Ny40NjgtLjE3N2MtLjEyLS4zMTctLjM3LS41MzctLjYzNi0uNzIyLS4yNjMtLjE4My0uNjItLjM4Mi0xLjA1My0uNjIybC0uMDI0LS4wMTMtMy4xNjMtMS43NTgtLjA5LS4wNWMtMS4xNjMtLjY0NS0xLjg1Ni0xLjAzLTIuNjA2LTEuMTYxYTQuNSA0LjUgMCAwIDAtMS41NDQgMGMtLjc1LjEzLTEuNDQzLjUxNi0yLjYwNyAxLjE2MmwtLjA4OC4wNS0zLjE2NCAxLjc1Ny0uMDI0LjAxM2MtLjQzMi4yNC0uNzkuNDQtMS4wNTMuNjIyLS4yNjYuMTg1LS41MTYuNDA1LS42MzYuNzIyYTEuNSAxLjUgMCAwIDAgMCAxLjA2MmMuMTIuMzE3LjM3LjUzNy42MzYuNzIyLjI2My4xODMuNjIuMzgyIDEuMDUzLjYyMmwuMDI0LjAxMyAzLjE2NCAxLjc1OC4wODguMDQ5YzEuMTY0LjY0NiAxLjg1NyAxLjAzMiAyLjYwNyAxLjE2Mi41MS4wOSAxLjAzMy4wOSAxLjU0NCAwIC43NS0uMTMgMS40NDMtLjUxNiAyLjYwNi0xLjE2MmwuMDktLjA1IDMuMTYzLTEuNzU3LjAyNC0uMDEzYy40MzItLjI0Ljc5LS40NCAxLjA1My0uNjIyLjI2Ni0uMTg0LjUxNi0uNDA1LjYzNi0uNzIyWiIvPjwvZz48L3N2Zz5gLFdBTExFVF9QTEFDRUhPTERFUjpzN2A8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48ZyBjbGlwLXBhdGg9InVybCgjcSkiPjxwYXRoIGlkPSJ3YWxsZXQtcGxhY2Vob2xkZXItZmlsbCIgZmlsbD0iI2ZmZiIgZD0iTTAgMjQuOWMwLTkuMjUxIDAtMTMuODc3IDEuOTctMTcuMzMyYTE1IDE1IDAgMCAxIDUuNTk4LTUuNTk3QzExLjAyMyAwIDE1LjY0OCAwIDI0LjkgMGgxMC4yYzkuMjUyIDAgMTMuODc3IDAgMTcuMzMyIDEuOTdhMTUgMTUgMCAwIDEgNS41OTcgNS41OThDNjAgMTEuMDIzIDYwIDE1LjY0OCA2MCAyNC45djEwLjJjMCA5LjI1MiAwIDEzLjg3Ny0xLjk3IDE3LjMzMmExNS4wMDEgMTUuMDAxIDAgMCAxLTUuNTk4IDUuNTk3QzQ4Ljk3NyA2MCA0NC4zNTIgNjAgMzUuMSA2MEgyNC45Yy05LjI1MSAwLTEzLjg3NyAwLTE3LjMzMi0xLjk3YTE1IDE1IDAgMCAxLTUuNTk3LTUuNTk4QzAgNDguOTc3IDAgNDQuMzUyIDAgMzUuMVYyNC45WiIvPjxwYXRoIGlkPSJ3YWxsZXQtcGxhY2Vob2xkZXItZGFzaCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtZGFzaGFycmF5PSI0IDQiIHN0cm9rZS13aWR0aD0iMS41IiBkPSJNLjA0IDQxLjcwOGEyMzEuNTk4IDIzMS41OTggMCAwIDEtLjAzOS00LjQwM2wuNzUtLjAwMUwuNzUgMzUuMXYtMi41NUgwdi01LjFoLjc1VjI0LjlsLjAwMS0yLjIwNGgtLjc1Yy4wMDMtMS42MTcuMDExLTMuMDc3LjAzOS00LjQwNGwuNzUuMDE2Yy4wMzQtMS42NS4wOTktMy4wOC4yMTgtNC4zNDNsLS43NDYtLjA3Yy4xNTgtMS42NzguNDEyLTMuMDgzLjgyLTQuMzE2bC43MTMuMjM2Yy4yMjQtLjY3OS40OTctMS4yOTYuODI3LTEuODc1YTE0LjI1IDE0LjI1IDAgMCAxIDEuMDUtMS41ODVMMy4wNzYgNS45QTE1IDE1IDAgMCAxIDUuOSAzLjA3NmwuNDU1LjU5NmExNC4yNSAxNC4yNSAwIDAgMSAxLjU4NS0xLjA1Yy41NzktLjMzIDEuMTk2LS42MDMgMS44NzUtLjgyN2wtLjIzNi0uNzEyQzEwLjgxMi42NzQgMTIuMjE3LjQyIDEzLjg5NS4yNjJsLjA3Ljc0NkMxNS4yMy44OSAxNi42Ni44MjQgMTguMzA4Ljc5bC0uMDE2LS43NUMxOS42Mi4wMTIgMjEuMDguMDA0IDIyLjY5NS4wMDFsLjAwMS43NUwyNC45Ljc1aDIuNTVWMGg1LjF2Ljc1aDIuNTVsMi4yMDQuMDAxdi0uNzVjMS42MTcuMDAzIDMuMDc3LjAxMSA0LjQwNC4wMzlsLS4wMTYuNzVjMS42NS4wMzQgMy4wOC4wOTkgNC4zNDMuMjE4bC4wNy0uNzQ2YzEuNjc4LjE1OCAzLjA4My40MTIgNC4zMTYuODJsLS4yMzYuNzEzYy42NzkuMjI0IDEuMjk2LjQ5NyAxLjg3NS44MjdhMTQuMjQgMTQuMjQgMCAwIDEgMS41ODUgMS4wNWwuNDU1LS41OTZBMTQuOTk5IDE0Ljk5OSAwIDAgMSA1Ni45MjQgNS45bC0uNTk2LjQ1NWMuMzg0LjUwMi43MzUgMS4wMzIgMS4wNSAxLjU4NS4zMy41NzkuNjAyIDEuMTk2LjgyNyAxLjg3NWwuNzEyLS4yMzZjLjQwOSAxLjIzMy42NjMgMi42MzguODIyIDQuMzE2bC0uNzQ3LjA3Yy4xMTkgMS4yNjQuMTg0IDIuNjk0LjIxOCA0LjM0M2wuNzUtLjAxNmMuMDI4IDEuMzI3LjAzNiAyLjc4Ny4wMzkgNC40MDNsLS43NS4wMDEuMDAxIDIuMjA0djIuNTVINjB2NS4xaC0uNzV2Mi41NWwtLjAwMSAyLjIwNGguNzVhMjMxLjQzMSAyMzEuNDMxIDAgMCAxLS4wMzkgNC40MDRsLS43NS0uMDE2Yy0uMDM0IDEuNjUtLjA5OSAzLjA4LS4yMTggNC4zNDNsLjc0Ny4wN2MtLjE1OSAxLjY3OC0uNDEzIDMuMDgzLS44MjIgNC4zMTZsLS43MTItLjIzNmExMC4yNTUgMTAuMjU1IDAgMCAxLS44MjcgMS44NzUgMTQuMjQyIDE0LjI0MiAwIDAgMS0xLjA1IDEuNTg1bC41OTYuNDU1YTE0Ljk5NyAxNC45OTcgMCAwIDEtMi44MjQgMi44MjRsLS40NTUtLjU5NmMtLjUwMi4zODQtMS4wMzIuNzM1LTEuNTg1IDEuMDUtLjU3OS4zMy0xLjE5Ni42MDItMS44NzUuODI3bC4yMzYuNzEyYy0xLjIzMy40MDktMi42MzguNjYzLTQuMzE2LjgyMmwtLjA3LS43NDdjLTEuMjY0LjExOS0yLjY5NC4xODQtNC4zNDMuMjE4bC4wMTYuNzVjLTEuMzI3LjAyOC0yLjc4Ny4wMzYtNC40MDMuMDM5bC0uMDAxLS43NS0yLjIwNC4wMDFoLTIuNTVWNjBoLTUuMXYtLjc1SDI0LjlsLTIuMjA0LS4wMDF2Ljc1YTIzMS40MzEgMjMxLjQzMSAwIDAgMS00LjQwNC0uMDM5bC4wMTYtLjc1Yy0xLjY1LS4wMzQtMy4wOC0uMDk5LTQuMzQzLS4yMThsLS4wNy43NDdjLTEuNjc4LS4xNTktMy4wODMtLjQxMy00LjMxNi0uODIybC4yMzYtLjcxMmExMC4yNTggMTAuMjU4IDAgMCAxLTEuODc1LS44MjcgMTQuMjUyIDE0LjI1MiAwIDAgMS0xLjU4NS0xLjA1bC0uNDU1LjU5NkExNC45OTkgMTQuOTk5IDAgMCAxIDMuMDc2IDU0LjFsLjU5Ni0uNDU1YTE0LjI0IDE0LjI0IDAgMCAxLTEuMDUtMS41ODUgMTAuMjU5IDEwLjI1OSAwIDAgMS0uODI3LTEuODc1bC0uNzEyLjIzNkMuNjc0IDQ5LjE4OC40MiA0Ny43ODMuMjYyIDQ2LjEwNWwuNzQ2LS4wN0MuODkgNDQuNzcuODI0IDQzLjM0Ljc5IDQxLjY5MmwtLjc1LjAxNloiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNS42NDMgMzIuMTQ1Yy0uMjk3LS43NDMtLjQ0NS0xLjExNC0uNDAxLTEuMjc1YS40Mi40MiAwIDAgMSAuMTgyLS4yN2MuMTM0LS4xLjQ2My0uMSAxLjEyMy0uMS43NDIgMCAxLjQ5OS4wNDYgMi4yMzYtLjA1YTYgNiAwIDAgMCA1LjE2Ni01LjE2NmMuMDUxLS4zOS4wNTEtLjg1NS4wNTEtMS43ODQgMC0uOTI4IDAtMS4zOTMtLjA1MS0xLjc4M2E2IDYgMCAwIDAtNS4xNjYtNS4xNjVjLS4zOS0uMDUyLS44NTQtLjA1Mi0xLjc4My0uMDUyaC03LjcyYy00LjkzNCAwLTcuNDAxIDAtOS4yNDQgMS4wNTFhOCA4IDAgMCAwLTIuOTg1IDIuOTg2QzE2LjA1NyAyMi4yOCAxNi4wMDMgMjQuNTggMTYgMjkgMTUuOTk4IDMxLjA3NSAxNiAzMy4xNSAxNiAzNS4yMjRBNy43NzggNy43NzggMCAwIDAgMjMuNzc4IDQzSDI4LjVjMS4zOTQgMCAyLjA5IDAgMi42Ny0uMTE2YTYgNiAwIDAgMCA0LjcxNS00LjcxNGMuMTE1LS41OC4xMTUtMS4zMDEuMTE1LTIuNzQ0IDAtMS4zMSAwLTEuOTY0LS4xMTQtMi40OWE0Ljk5OCA0Ljk5OCAwIDAgMC0uMjQzLS43OTJaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjOUVBOUE5IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNyAxOGgtNy43MmMtMi40OTQgMC00LjI2Ni4wMDItNS42NDcuMTI2LTEuMzYxLjEyMi0yLjE5Ny4zNTQtMi44NTQuNzI4YTYuNSA2LjUgMCAwIDAtMi40MjUgMi40MjZjLS4zNzUuNjU3LS42MDcgMS40OTItLjcyOSAyLjg1My0uMTEgMS4yMzMtLjEyMyAyLjc3Ny0uMTI1IDQuODY3IDAgLjcgMCAxLjA1LjA5NyAxLjE4MS4wOTYuMTMuMTgyLjE4MS4zNDMuMi4xNjMuMDIuNTE4LS4xOCAxLjIyOS0uNTgxYTYuMTk1IDYuMTk1IDAgMCAxIDMuMDUzLS44SDM3Yy45NzcgMCAxLjMyLS4wMDMgMS41ODctLjAzOGE0LjUgNC41IDAgMCAwIDMuODc0LTMuODc0Yy4wMzYtLjI2OC4wMzktLjYxMS4wMzktMS41ODggMC0uOTc2LS4wMDMtMS4zMTktLjAzOC0xLjU4N2E0LjUgNC41IDAgMCAwLTMuODc1LTMuODc0QzM4LjMyIDE4LjAwNCAzNy45NzcgMTggMzcgMThabS03LjM2NCAxMi41aC03LjQxNGE0LjcyMiA0LjcyMiAwIDAgMC00LjcyMiA0LjcyMyA2LjI3OCA2LjI3OCAwIDAgMCA2LjI3OCA2LjI3OEgyOC41YzEuNDY2IDAgMS45OC0uMDA4IDIuMzc4LS4wODdhNC41IDQuNSAwIDAgMCAzLjUzNS0zLjUzNmMuMDgtLjM5Ny4wODctLjkzMy4wODctMi40NTEgMC0xLjM5MS0uMDA5LTEuODQzLS4wOC0yLjE3YTMuNSAzLjUgMCAwIDAtMi42NzYtMi42NzZjLS4zMjgtLjA3Mi0uNzYyLS4wOC0yLjEwOC0uMDhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJxIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDYwdjYwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxUT0tFTl9QTEFDRUhPTERFUjpzN2A8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgdmlld0JveD0iMCAwIDYwIDYwIiBmaWxsPSJub25lIj48cmVjdCBpZD0idG9rZW4tcGxhY2Vob2xkZXItZmlsbCIgd2lkdGg9IjU4IiBoZWlnaHQ9IjU4IiB4PSIxIiB5PSIxIiBmaWxsPSIjZmZmIiByeD0iMjkiLz48cGF0aCBmaWxsPSIjM0I0MDQwIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTMyIDEwYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMiAydjUuNTY2YzAgLjM1Ny4xOTIuNjg1LjQ5NS44NzVhMTYuMDAxIDE2LjAwMSAwIDAgMSA0LjI1NiAzLjg5NGMuNjY3Ljg4LjMzIDIuMTEzLS42MjcgMi42NjVsLTIuNDk0IDEuNDRjLS45NTYuNTUyLTIuMTY2LjIwNC0yLjkxMy0uNjA5YTkuMTIgOS4xMiAwIDEgMCAuMDY0IDEyLjI2N2MuNzM5LS44MiAxLjk0NS0xLjE4MSAyLjkwNy0uNjRsMi41MDkgMS40MTVjLjk2Mi41NDIgMS4zMTIgMS43Ny42NTQgMi42NThhMTYgMTYgMCAwIDEtNC4zNTYgNC4wMjhjLS4zMDMuMTktLjQ5NS41MTgtLjQ5NS44NzVWNTBhMiAyIDAgMCAxLTIgMmgtMmEyIDIgMCAwIDEtMi0ydi0yLjk5MmMwLS42MDItLjUyOC0xLjA2NS0xLjEzLTEuMDMyLS41NzkuMDMyLTEuMTYuMDMyLTEuNzQgMC0uNjAyLS4wMzItMS4xMy40My0xLjEzIDEuMDMyVjUwYTIgMiAwIDAgMS0yIDJoLTJhMiAyIDAgMCAxLTItMnYtNS41NjZjMC0uMzU3LS4xOTItLjY4NS0uNDk1LS44NzVhMTYgMTYgMCAwIDEgMC0yNy4xMThjLjMwMy0uMTkuNDk1LS41MTcuNDk1LS44NzVWMTBhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2Mi45OTJjMCAuNjAxLjUyOCAxLjA2NCAxLjEzIDEuMDMyLjU4LS4wMzIgMS4xNjEtLjAzMiAxLjc0IDAgLjYwMi4wMzMgMS4xMy0uNDMgMS4xMy0xLjAzMlYxMFoiLz48cmVjdCBpZD0idG9rZW4tcGxhY2Vob2xkZXItZGFzaCIgd2lkdGg9IjU4IiBoZWlnaHQ9IjU4IiB4PSIxIiB5PSIxIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNiIgc3Ryb2tlLXdpZHRoPSIyIiByeD0iMjkiLz48L3N2Zz5gLEFDQ09VTlRfQ09QWTpzN2A8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMyA0LjAwNWMuMDEyLTEuMjI1LjA3NC0xLjkzNi4zOTEtMi40OTFhMyAzIDAgMCAxIDEuMTItMS4xMkM2LjIwNCAwIDcuMTM2IDAgOSAwczIuNzk1IDAgMy40ODYuMzk0YTMgMyAwIDAgMSAxLjEyIDEuMTJDMTQgMi4yMDQgMTQgMy4xMzYgMTQgNXMwIDIuNzk1LS4zOTQgMy40ODZhMyAzIDAgMCAxLTEuMTIgMS4xMmMtLjU1NS4zMTctMS4yNjYuMzc5LTIuNDkxLjM5MWwuMDAyLjAwM2MtLjAxMiAxLjIyMi0uMDc1IDEuOTMyLS4zOTEgMi40ODZhMyAzIDAgMCAxLTEuMTIgMS4xMkM3Ljc5NiAxNCA2Ljg2NCAxNCA1IDE0cy0yLjc5NSAwLTMuNDg2LS4zOTRhMyAzIDAgMCAxLTEuMTItMS4xMkMwIDExLjc5NiAwIDEwLjg2NCAwIDlzMC0yLjc5NS4zOTQtMy40ODZhMyAzIDAgMCAxIDEuMTItMS4xMmMuNTU0LS4zMTYgMS4yNjQtLjM3OSAyLjQ4Ni0uMzkxbC4wMDMuMDAyWk05IDguNWMtLjk1OSAwLTEuNTgtLjAwMS0yLjA1LS4wNDMtLjQ1LS4wNC0uNjEzLS4xMDktLjY5My0uMTU0YTEuNSAxLjUgMCAwIDEtLjU2LS41NmMtLjA0NS0uMDgtLjExMy0uMjQzLS4xNTQtLjY5M0M1LjUwMSA2LjU4IDUuNSA1Ljk1OSA1LjUgNWMwLS45NTkuMDAxLTEuNTguMDQzLTIuMDUuMDQtLjQ1LjEwOS0uNjEzLjE1NC0uNjkzYTEuNSAxLjUgMCAwIDEgLjU2LS41NmMuMDgtLjA0NS4yNDMtLjExMy42OTMtLjE1NEM3LjQyIDEuNTAxIDguMDQxIDEuNSA5IDEuNWMuOTU5IDAgMS41OC4wMDEgMi4wNS4wNDMuNDUuMDQuNjEzLjEwOS42OTMuMTU0YTEuNSAxLjUgMCAwIDEgLjU2LjU2Yy4wNDUuMDguMTEzLjI0My4xNTQuNjkzLjA0Mi40Ny4wNDMgMS4wOTEuMDQzIDIuMDUgMCAuOTU5LS4wMDEgMS41OC0uMDQzIDIuMDUtLjA0LjQ1LS4xMDkuNjEzLS4xNTQuNjkzYTEuNSAxLjUgMCAwIDEtLjU2LjU2Yy0uMDguMDQ1LS4yNDIuMTEzLS42OTMuMTU0LS40Ny4wNDItMS4wOTEuMDQzLTIuMDUuMDQzWk00IDUuNTAzYTEzLjc3IDEzLjc3IDAgMCAwLTEuMDUuMDRjLS40NS4wNC0uNjEzLjEwOS0uNjkzLjE1NGExLjUgMS41IDAgMCAwLS41Ni41NmMtLjA0NS4wOC0uMTEzLjI0My0uMTU0LjY5M0MxLjUwMSA3LjQyIDEuNSA4LjA0MSAxLjUgOWMwIC45NTkuMDAxIDEuNTguMDQzIDIuMDUuMDQuNDUuMTA5LjYxMy4xNTQuNjkzYTEuNSAxLjUgMCAwIDAgLjU2LjU2Yy4wOC4wNDUuMjQzLjExMy42OTMuMTU0LjQ3LjA0MiAxLjA5MS4wNDMgMi4wNS4wNDMuOTU5IDAgMS41OC0uMDAxIDIuMDUtLjA0My40NS0uMDQuNjEzLS4xMDkuNjkzLS4xNTRhMS41IDEuNSAwIDAgMCAuNTYtLjU2Yy4wNDUtLjA4LjExMy0uMjQyLjE1NC0uNjkzLjAyNS0uMjgzLjAzNS0uNjE5LjA0LTEuMDUtMS41MzQtLjAwMy0yLjM1OC0uMDM3LTIuOTgzLS4zOTRhMyAzIDAgMCAxLTEuMTItMS4xMmMtLjM1Ny0uNjI1LS4zOS0xLjQ0OS0uMzk0LTIuOTgzWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+YCxBQ0NPVU5UX0RJU0NPTk5FQ1Q6czdgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNiAxNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTkuNjc3IDEuNWgtMi42MWMtMS4yNjEgMC0yLjEwNy4wMDEtMi43NTcuMDYtLjYyOS4wNTYtLjkyNi4xNTctMS4xMjIuMjY4YTIuNSAyLjUgMCAwIDAtLjkzMy45MzNjLS4xMTIuMTk2LS4yMTIuNDkzLS4yNjkgMS4xMjItLjA1OC42NS0uMDYgMS40OTYtLjA2IDIuNzU3di43MmMwIDEuMjYuMDAyIDIuMTA3LjA2IDIuNzU2LjA1Ny42My4xNTcuOTI3LjI3IDEuMTIzYTIuNSAyLjUgMCAwIDAgLjkzMi45MzNjLjE5Ni4xMTEuNDkzLjIxMiAxLjEyMi4yNjguNjUuMDU5IDEuNDk2LjA2IDIuNzU3LjA2aDIuNjFhLjc1Ljc1IDAgMSAxIDAgMS41aC0yLjYxYy0yLjQ2NyAwLTMuNyAwLTQuNjIyLS41MjVhNCA0IDAgMCAxLTEuNDkzLTEuNDkzQy40MjcgMTEuMDYuNDI3IDkuODI3LjQyNyA3LjM2di0uNzJjMC0yLjQ2NyAwLTMuNy41MjUtNC42MjJBNCA0IDAgMCAxIDIuNDQ1LjUyNUMzLjM2NiAwIDQuNiAwIDcuMDY3IDBoMi42MWEuNzUuNzUgMCAxIDEgMCAxLjVaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEwLjg5NiAxMS4wM2EuNzUuNzUgMCAwIDEgMC0xLjA2bDEuNzkzLTEuNzkzYS4yNS4yNSAwIDAgMC0uMTc2LS40MjdIOC4xNzdhLjc1Ljc1IDAgMCAxIDAtMS41aDQuMzM2YS4yNS4yNSAwIDAgMCAuMTc2LS40MjdMMTAuODk2IDQuMDNhLjc1Ljc1IDAgMCAxIDEuMDYxLTEuMDZsMy4zMjMgMy4zMjNhMSAxIDAgMCAxIDAgMS40MTRsLTMuMzIzIDMuMzIzYS43NS43NSAwIDAgMS0xLjA2IDBaIi8+PC9zdmc+YCxHTE9CRV9JQ09OOnM3YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LjUgOGE3LjUgNy41IDAgMSAxLTE1IDAgNy41IDcuNSAwIDAgMSAxNSAwWm0tMi4xMTMuNzVjLjMwMSAwIC41MzUuMjY0LjQ3LjU1OGE2LjAxIDYuMDEgMCAwIDEtMi44NjcgMy44OTZjLS4yMDMuMTE2LS40Mi0uMTAzLS4zMzQtLjMyLjQwOS0xLjAxOC42OTEtMi4yNzQuNzk3LTMuNjU3YS41MTIuNTEyIDAgMCAxIC41MDctLjQ3N2gxLjQyN1ptLjQ3LTIuMDU4Yy4wNjUuMjk0LS4xNjkuNTU4LS40Ny41NThIMTEuOTZhLjUxMi41MTIgMCAwIDEtLjUwNy0uNDc3Yy0uMTA2LTEuMzgzLS4zODktMi42MzgtLjc5Ny0zLjY1Ni0uMDg3LS4yMTcuMTMtLjQzNy4zMzMtLjMyYTYuMDEgNi4wMSAwIDAgMSAyLjg2OCAzLjg5NVptLTQuNDAyLjU1OGMuMjg2IDAgLjUxNS0uMjQuNDktLjUyNS0uMTIxLTEuMzYxLS40MjktMi41MzQtLjgzLTMuMzkzLS4yNzktLjYtLjU0OS0uOTMtLjc1My0xLjExMmEuNTM1LjUzNSAwIDAgMC0uNzI0IDBjLS4yMDQuMTgyLS40NzQuNTEzLS43NTQgMS4xMTItLjQuODU5LS43MDggMi4wMzItLjgyOCAzLjM5M2EuNDg2LjQ4NiAwIDAgMCAuNDkuNTI1aDIuOTA5Wm0tNS40MTUgMGMuMjY3IDAgLjQ4Ni0uMjEuNTA3LS40NzcuMTA2LTEuMzgzLjM4OS0yLjYzOC43OTctMy42NTYuMDg3LS4yMTctLjEzLS40MzctLjMzMy0uMzJhNi4wMSA2LjAxIDAgMCAwLTIuODY4IDMuODk1Yy0uMDY1LjI5NC4xNjkuNTU4LjQ3LjU1OEg0LjA0Wk0yLjE0MyA5LjMwOGMtLjA2NS0uMjk0LjE2OS0uNTU4LjQ3LS41NThINC4wNGMuMjY3IDAgLjQ4Ni4yMS41MDcuNDc3LjEwNiAxLjM4My4zODkgMi42MzkuNzk3IDMuNjU3LjA4Ny4yMTctLjEzLjQzNi0uMzMzLjMyYTYuMDEgNi4wMSAwIDAgMS0yLjg2OC0zLjg5NlptMy45MTMtLjAzM2EuNDg2LjQ4NiAwIDAgMSAuNDktLjUyNWgyLjkwOWMuMjg2IDAgLjUxNS4yNC40OS41MjUtLjEyMSAxLjM2MS0uNDI4IDIuNTM1LS44MyAzLjM5NC0uMjc5LjYtLjU0OS45My0uNzUzIDEuMTEyYS41MzUuNTM1IDAgMCAxLS43MjQgMGMtLjIwNC0uMTgyLS40NzQtLjUxMy0uNzU0LTEuMTEyLS40LS44NTktLjcwOC0yLjAzMy0uODI4LTMuMzk0WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+YH0scE89YV9gLnczbS10b29sYmFyLXBsYWNlaG9sZGVye3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lO2hlaWdodDoxMDBweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdzNtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cykgKiAuOSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tYmFja2dyb3VuZC1jb2xvcik7YmFja2dyb3VuZC1pbWFnZTp2YXIoLS13M20tYmFja2dyb3VuZC1pbWFnZS11cmwpO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcn0udzNtLXRvb2xiYXJ7aGVpZ2h0OjM4cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjo1cHggMTVweCA1cHggNXB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0udzNtLXRvb2xiYXIgaW1nLC53M20tdG9vbGJhciBzdmd7aGVpZ2h0OjI4cHg7b2JqZWN0LXBvc2l0aW9uOmxlZnQgY2VudGVyO29iamVjdC1maXQ6Y29udGFpbn0jdzNtLXdjLWxvZ28gcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcil9YnV0dG9ue3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20taWNvbi1idXR0b24tYm9yZGVyLXJhZGl1cyk7Ym9yZGVyOjA7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTEpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXczbS1jb2xvci1vdmVybGF5KX1idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTIpfWJ1dHRvbiBzdmd7ZGlzcGxheTpibG9jaztvYmplY3QtcG9zaXRpb246Y2VudGVyfWJ1dHRvbiBwYXRoe2ZpbGw6dmFyKC0tdzNtLWNvbG9yLWZnLTEpfS53M20tdG9vbGJhciBkaXZ7ZGlzcGxheTpmbGV4fS53M20tdG9vbGJhciBkaXYgYnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDoxNnB4fS53M20taGVscC1hY3RpdmUgYnV0dG9uOmZpcnN0LWNoaWxke2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWZnLTEpfS53M20taGVscC1hY3RpdmUgYnV0dG9uOmZpcnN0LWNoaWxkIHBhdGh7ZmlsbDp2YXIoLS13M20tY29sb3ItYmctMSl9QG1lZGlhKGhvdmVyOmhvdmVyKXtidXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3ItYmctMil9fWA7dmFyIHBNPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxwUD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHA5PShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9wUCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJnBNKHQsbixvKSxvfTtsZXQgcFI9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5pc0hlbHA9ITEsdGhpcy51bnN1YnNjcmliZVJvdXRlcj12b2lkIDAsdGhpcy51bnN1YnNjcmliZVJvdXRlcj10YS5zdWJzY3JpYmUoZT0+e3RoaXMuaXNIZWxwPSJIZWxwIj09PWUudmlld30pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bnN1YnNjcmliZVJvdXRlcil8fGUuY2FsbCh0aGlzKX1vbkhlbHAoKXt0YS5wdXNoKCJIZWxwIil9bG9nb1RlbXBsYXRlKCl7dmFyIGU7bGV0IHQ9bnVsbD09KGU9dFMuc3RhdGUudGhlbWVWYXJpYWJsZXMpP3ZvaWQgMDplWyItLXczbS1sb2dvLWltYWdlLXVybCJdO3JldHVybiB0P2FSYDxpbWcgc3JjPSIke3R9Ij5gOnBOLldBTExFVF9DT05ORUNUX0xPR099cmVuZGVyKCl7bGV0IGU9eyJ3M20taGVscC1hY3RpdmUiOnRoaXMuaXNIZWxwfTtyZXR1cm4gYVJgPGRpdiBjbGFzcz0idzNtLXRvb2xiYXItcGxhY2Vob2xkZXIiPjwvZGl2PjxkaXYgY2xhc3M9InczbS10b29sYmFyIj4ke3RoaXMubG9nb1RlbXBsYXRlKCl9PGRpdiBjbGFzcz0iJHtzaChlKX0iPjxidXR0b24gQGNsaWNrPSIke3RoaXMub25IZWxwfSI+JHtwTi5IRUxQX0lDT059PC9idXR0b24+IDxidXR0b24gQGNsaWNrPSIke3Q3LmNsb3NlfSI+JHtwTi5DUk9TU19JQ09OfTwvYnV0dG9uPjwvZGl2PjwvZGl2PmB9fTtwUi5zdHlsZXM9W3B3Lmdsb2JhbENzcyxwT10scDkoW3NsKCldLHBSLnByb3RvdHlwZSwiaXNIZWxwIiwyKSxwUj1wOShbc2koInczbS1tb2RhbC1iYWNrY2FyZCIpXSxwUik7bGV0IHBVPWFfYG1haW57cGFkZGluZzoyMHB4O3BhZGRpbmctdG9wOjA7d2lkdGg6MTAwJX1gO3ZhciBwQj1PYmplY3QuZGVmaW5lUHJvcGVydHkscFc9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtsZXQgcEY9Y2xhc3MgZXh0ZW5kcyBzbntyZW5kZXIoKXtyZXR1cm4gYVJgPG1haW4+PHNsb3Q+PC9zbG90PjwvbWFpbj5gfX07cEYuc3R5bGVzPVtwdy5nbG9iYWxDc3MscFVdLHBGPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/cFcodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZwQih0LG4sbyksb30pKFtzaSgidzNtLW1vZGFsLWNvbnRlbnQiKV0scEYpO2xldCBwej1hX2Bmb290ZXJ7cGFkZGluZzoxMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6aW5oZXJpdDtqdXN0aWZ5LWNvbnRlbnQ6aW5oZXJpdDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3ItYmctMil9YDt2YXIgcEg9T2JqZWN0LmRlZmluZVByb3BlcnR5LHBqPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IHBaPWNsYXNzIGV4dGVuZHMgc257cmVuZGVyKCl7cmV0dXJuIGFSYDxmb290ZXI+PHNsb3Q+PC9zbG90PjwvZm9vdGVyPmB9fTtwWi5zdHlsZXM9W3B3Lmdsb2JhbENzcyxwel0scFo9KChlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9waih0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJnBIKHQsbixvKSxvfSkoW3NpKCJ3M20tbW9kYWwtZm9vdGVyIildLHBaKTtsZXQgcFk9YV9gaGVhZGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjIwcHg7cG9zaXRpb246cmVsYXRpdmV9LnczbS1ib3JkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLWJnLTIpO21hcmdpbi1ib3R0b206MjBweH1oZWFkZXIgYnV0dG9ue3BhZGRpbmc6MTVweCAyMHB4fWhlYWRlciBidXR0b246YWN0aXZle29wYWNpdHk6LjV9QG1lZGlhKGhvdmVyOmhvdmVyKXtoZWFkZXIgYnV0dG9uOmhvdmVye29wYWNpdHk6LjV9fS53M20tYmFjay1idG57cG9zaXRpb246YWJzb2x1dGU7bGVmdDowfS53M20tYWN0aW9uLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfXBhdGh7ZmlsbDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX1gO3ZhciBwVj1PYmplY3QuZGVmaW5lUHJvcGVydHkscEc9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixwSz0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/cEcodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZwVih0LG4sbyksb307bGV0IHBxPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudGl0bGU9IiIsdGhpcy5vbkFjdGlvbj12b2lkIDAsdGhpcy5hY3Rpb25JY29uPXZvaWQgMCx0aGlzLmJvcmRlcj0hMX1iYWNrQnRuVGVtcGxhdGUoKXtyZXR1cm4gYVJgPGJ1dHRvbiBjbGFzcz0idzNtLWJhY2stYnRuIiBAY2xpY2s9IiR7dGEuZ29CYWNrfSI+JHtwTi5CQUNLX0lDT059PC9idXR0b24+YH1hY3Rpb25CdG5UZW1wbGF0ZSgpe3JldHVybiBhUmA8YnV0dG9uIGNsYXNzPSJ3M20tYWN0aW9uLWJ0biIgQGNsaWNrPSIke3RoaXMub25BY3Rpb259Ij4ke3RoaXMuYWN0aW9uSWNvbn08L2J1dHRvbj5gfXJlbmRlcigpe2xldCBlPXsidzNtLWJvcmRlciI6dGhpcy5ib3JkZXJ9LHQ9dGEuc3RhdGUuaGlzdG9yeS5sZW5ndGg+MSxuPXRoaXMudGl0bGU/YVJgPHczbS10ZXh0IHZhcmlhbnQ9ImJpZy1ib2xkIj4ke3RoaXMudGl0bGV9PC93M20tdGV4dD5gOmFSYDxzbG90Pjwvc2xvdD5gO3JldHVybiBhUmA8aGVhZGVyIGNsYXNzPSIke3NoKGUpfSI+JHt0P3RoaXMuYmFja0J0blRlbXBsYXRlKCk6bnVsbH0gJHtufSAke3RoaXMub25BY3Rpb24/dGhpcy5hY3Rpb25CdG5UZW1wbGF0ZSgpOm51bGx9PC9oZWFkZXI+YH19O3BxLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHBZXSxwSyhbc3MoKV0scHEucHJvdG90eXBlLCJ0aXRsZSIsMikscEsoW3NzKCldLHBxLnByb3RvdHlwZSwib25BY3Rpb24iLDIpLHBLKFtzcygpXSxwcS5wcm90b3R5cGUsImFjdGlvbkljb24iLDIpLHBLKFtzcygpXSxwcS5wcm90b3R5cGUsImJvcmRlciIsMikscHE9cEsoW3NpKCJ3M20tbW9kYWwtaGVhZGVyIildLHBxKTtsZXQgcFE9ezE6IjY5MmVkNmJhLWU1NjktNDU5YS01NTZhLTc3NjQ3NjgyOWUwMCIsNDIxNjE6IjYwMGE5YTA0LWMxYjktNDJjYS02Nzg1LTliNGI2ZmY4NTIwMCIsNDMxMTQ6IjMwYzQ2ZTUzLWU5ODktNDVmYi00NTQ5LWJlM2JkNGViM2IwMCIsNTY6IjkzNTY0MTU3LTJlOGUtNGNlNy04MWRmLWIyNjRkYmVlOWIwMCIsMjUwOiIwNmIyNjI5Ny1mZTBjLTQ3MzMtNWQ2Yi1mZmE1NDk4YWFjMDAiLDEwOiJhYjljMTg2YS1jNTJmLTQ2NGItMjkwNi1jYTU5ZDc2MGE0MDAiLDEzNzoiNDFkMDRkNDItZGEzYi00NDUzLTg1MDYtNjY4Y2MwNzI3OTAwIiwxMDA6IjAyYjUzZjZhLWUzZDQtNDc5ZS0xY2I0LTIxMTc4OTg3ZDEwMCIsOTAwMToiZjkyNmZmNDEtMjYwZC00MDI4LTYzNWUtOTE5MTNmYzI4ZTAwIiwzMjQ6ImIzMTBmMDdmLTRlZjctNDlmMy03MDczLTJhMGEzOTY4NTgwMCIsMzE0OiI1YTczYjNkZC1hZjc0LTQyNGUtY2FlMC0wZGU4NTllZTk0MDAiLDQ2ODk6IjM0ZTY4NzU0LWU1MzYtNDBkYS1jMTUzLTZlZjJlNzE4OGEwMCIsMTA4ODoiMzg5N2E2NmQtNDBiOS00ODMzLTE2MmYtYTJjOTA1MzFjOTAwIiwxMjg0OiIxNjEwMzhkYS00NGFlLTRlYzctMTIwOC0wZWE1Njk0NTRiMDAiLDEyODU6ImYxZDczYmI2LTU0NTAtNGUxOC0zOGY3LWZiNjQ4NDI2NGEwMCJ9LHBYPXtFVEg6e2ljb246IjY5MmVkNmJhLWU1NjktNDU5YS01NTZhLTc3NjQ3NjgyOWUwMCJ9LFdFVEg6e2ljb246IjY5MmVkNmJhLWU1NjktNDU5YS01NTZhLTc3NjQ3NjgyOWUwMCJ9LEFWQVg6e2ljb246IjMwYzQ2ZTUzLWU5ODktNDVmYi00NTQ5LWJlM2JkNGViM2IwMCJ9LEZUTTp7aWNvbjoiMDZiMjYyOTctZmUwYy00NzMzLTVkNmItZmZhNTQ5OGFhYzAwIn0sQk5COntpY29uOiI5MzU2NDE1Ny0yZThlLTRjZTctODFkZi1iMjY0ZGJlZTliMDAifSxNQVRJQzp7aWNvbjoiNDFkMDRkNDItZGEzYi00NDUzLTg1MDYtNjY4Y2MwNzI3OTAwIn0sT1A6e2ljb246ImFiOWMxODZhLWM1MmYtNDY0Yi0yOTA2LWNhNTlkNzYwYTQwMCJ9LHhEQUk6e2ljb246IjAyYjUzZjZhLWUzZDQtNDc5ZS0xY2I0LTIxMTc4OTg3ZDEwMCJ9LEVWTU9TOntpY29uOiJmOTI2ZmY0MS0yNjBkLTQwMjgtNjM1ZS05MTkxM2ZjMjhlMDAifSxNRVRJUzp7aWNvbjoiMzg5N2E2NmQtNDBiOS00ODMzLTE2MmYtYTJjOTA1MzFjOTAwIn0sSU9UWDp7aWNvbjoiMzRlNjg3NTQtZTUzNi00MGRhLWMxNTMtNmVmMmU3MTg4YTAwIn19LHBKPXtleHRlcm5hbFdhbGxldHMoKXtsZXR7aXNTdGFuZGFsb25lOmV9PXR1LnN0YXRlO2lmKGUpcmV0dXJuW107bGV0IHQ7cmV0dXJuIHRpLmNsaWVudCgpLmdldENvbm5lY3RvcnMoKS5maWx0ZXIoZT0+ImluamVjdGVkIiE9PWUuaWQpfSxtYW51YWxXYWxsZXRzKCl7dmFyIGUsdDtsZXR7bW9iaWxlV2FsbGV0czpuLGRlc2t0b3BXYWxsZXRzOnJ9PXRfLnN0YXRlLGk9bnVsbD09KGU9cEoucmVjZW50V2FsbGV0KCkpP3ZvaWQgMDplLmlkLG89dHMuaXNNb2JpbGUoKT9uOnIsYT1vPy5maWx0ZXIoZT0+aSE9PWUuaWQpO3JldHVybiBudWxsIT0odD10cy5pc01vYmlsZSgpP2E/Lm1hcCgoe2lkOmUsbmFtZTp0LGxpbmtzOm59KT0+KHtpZDplLG5hbWU6dCxtb2JpbGU6bixsaW5rczpufSkpOmE/Lm1hcCgoe2lkOmUsbmFtZTp0LGxpbmtzOm59KT0+KHtpZDplLG5hbWU6dCxkZXNrdG9wOm4sbGlua3M6bn0pKSk/dDpbXX0saW5zdGFsbGVkSW5qZWN0ZWRXYWxsZXRzKCl7bGV0e2lzU3RhbmRhbG9uZTplfT10dS5zdGF0ZTtpZihlfHwhdGkuY2xpZW50KCkuaXNJbmplY3RlZFByb3ZpZGVySW5zdGFsbGVkKCkpcmV0dXJuW107bGV0e25hbWVzcGFjZTp0fT10aS5jbGllbnQoKSx7aW5qZWN0ZWRXYWxsZXRzOm59PXQ2LnN0YXRlLHI9bi5maWx0ZXIoKHtpbmplY3RlZDplfSk9PiEhZS5zb21lKGU9PnRpLmNsaWVudCgpLnNhZmVDaGVja0luamVjdGVkUHJvdmlkZXIoZS5pbmplY3RlZF9pZCkmJmUubmFtZXNwYWNlPT09dCkpO3JldHVybiByLmxlbmd0aD4xJiYocj1yLmZpbHRlcigoe2luamVjdGVkOmV9KT0+ISFlLm1hcCgoe2luamVjdGVkX2lkOmV9KT0+ZSkuZXZlcnkoZT0+ImlzTWV0YU1hc2siIT09ZSkpKSxyLmxlbmd0aD9yOlt7bmFtZToiQnJvd3NlciIsaWQ6ImJyb3dzZXIiLGltYWdlX2lkOnZvaWQgMH1dfSxpbmplY3RlZFdhbGxldHMoKXtsZXR7aXNTdGFuZGFsb25lOmV9PXR1LnN0YXRlLHtleHBsb3JlckV4Y2x1ZGVkV2FsbGV0SWRzOnQsZXhwbG9yZXJSZWNvbW1lbmRlZFdhbGxldElkczpufT10Xy5zdGF0ZSxyPXRzLmlzTW9iaWxlKCk7aWYoZXx8IkFMTCI9PT10fHxyKXJldHVybltdO2xldHtuYW1lc3BhY2U6aX09dGkuY2xpZW50KCkse2luamVjdGVkV2FsbGV0czpvfT10Ni5zdGF0ZTtyZXR1cm4gby5maWx0ZXIoKHtpZDplLGluamVjdGVkOnJ9KT0+e2xldCBvPXRzLmlzQXJyYXkodCk/dDpbXSxhPXRzLmlzQXJyYXkobik/bjpbXTtyZXR1cm4hIXIuc29tZSh0PT50Lm5hbWVzcGFjZT09PWkmJiFvLmluY2x1ZGVzKGUpJiYhYS5pbmNsdWRlcyhlKSl9KX0scmVjZW50V2FsbGV0OigpPT5nZS5nZXRSZWNlbnRXYWxsZXQoKSxyZWNvbWVuZGVkV2FsbGV0cyhlPSExKXt2YXIgdDtsZXQgbj1wSi5pbnN0YWxsZWRJbmplY3RlZFdhbGxldHMoKS5tYXAoKHtpZDplfSk9PmUpLHI9ZXx8bnVsbD09KHQ9cEoucmVjZW50V2FsbGV0KCkpP3ZvaWQgMDp0LmlkLGk9Wy4uLm4scl0se3JlY29tZW5kZWRXYWxsZXRzOm99PXQ2LnN0YXRlO3JldHVybiBvLmZpbHRlcihlPT4haS5pbmNsdWRlcyhlLmlkKSl9fSxnZT17TU9CSUxFX0JSRUFLUE9JTlQ6NjAwLFczTV9SRUNFTlRfV0FMTEVUX0RBVEE6IlczTV9SRUNFTlRfV0FMTEVUX0RBVEEiLEVYUExPUkVSX1dBTExFVF9VUkw6Imh0dHBzOi8vZXhwbG9yZXIud2FsbGV0Y29ubmVjdC5jb20vP3R5cGU9d2FsbGV0IixyZWplY3RTdGFuZGFsb25lQnV0dG9uQ29tcG9uZW50KCl7bGV0e2lzU3RhbmRhbG9uZTplfT10dS5zdGF0ZTtpZihlKXRocm93IEVycm9yKCJXZWIzTW9kYWwgYnV0dG9uIGNvbXBvbmVudHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gc3RhbmRhbG9uZSBtb2RlLiIpfSxnZXRTaGFkb3dSb290RWxlbWVudChlLHQpe2xldCBuPWUucmVuZGVyUm9vdC5xdWVyeVNlbGVjdG9yKHQpO2lmKCFuKXRocm93IEVycm9yKGAke3R9IG5vdCBmb3VuZGApO3JldHVybiBufSxnZXRXYWxsZXRJY29uKHtpZDplLGltYWdlX2lkOnR9KXtsZXR7d2FsbGV0SW1hZ2VzOm59PXRfLnN0YXRlO3JldHVybiBudWxsIT1uJiZuW2VdP25bZV06dD90Ni5nZXRXYWxsZXRJbWFnZVVybCh0KToiIn0sZ2V0V2FsbGV0TmFtZTooZSx0PSExKT0+dD9lLnNwbGl0KCIgIilbMF06ZSxnZXRDaGFpbkljb24oZSl7dmFyIHQ7bGV0IG49cFFbZV0se3Byb2plY3RJZDpyLGNoYWluSW1hZ2VzOml9PXRfLnN0YXRlO3JldHVybiBudWxsIT0odD1pPy5bZV0pP3Q6ciYmbj90Ni5nZXRBc3NldEltYWdlVXJsKG4pOiIifSxnZXRUb2tlbkljb24oZSl7dmFyIHQsbjtsZXQgcj1udWxsPT0odD1wWFtlXSk/dm9pZCAwOnQuaWNvbix7cHJvamVjdElkOmksdG9rZW5JbWFnZXM6b309dF8uc3RhdGU7cmV0dXJuIG51bGwhPShuPW8/LltlXSk/bjppJiZyP3Q2LmdldEFzc2V0SW1hZ2VVcmwocik6IiJ9LGlzTW9iaWxlQW5pbWF0aW9uOigpPT53aW5kb3cuaW5uZXJXaWR0aDw9Z2UuTU9CSUxFX0JSRUFLUE9JTlQsYXN5bmMgcHJlbG9hZEltYWdlKGUpe2xldCB0PW5ldyBQcm9taXNlKCh0LG4pPT57bGV0IHI9bmV3IEltYWdlO3Iub25sb2FkPXQsci5vbmVycm9yPW4sci5zcmM9ZX0pO3JldHVybiBQcm9taXNlLnJhY2UoW3QsdHMud2FpdCgzZTMpXSl9LGdldEVycm9yTWVzc2FnZTplPT5lIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOiJVbmtub3duIEVycm9yIixkZWJvdW5jZShlLHQ9NTAwKXtsZXQgbjtyZXR1cm4oLi4ucik9PntuJiZjbGVhclRpbWVvdXQobiksbj1zZXRUaW1lb3V0KGZ1bmN0aW9uIHQoKXtlKC4uLnIpfSx0KX19LGhhbmRsZU1vYmlsZUxpbmtpbmcoZSl7dmFyIHQ7bGV0e3N0YW5kYWxvbmVVcmk6bn09dHUuc3RhdGUse3BhaXJpbmdVcmk6cn09dDUuc3RhdGUse21vYmlsZTppLG5hbWU6b309ZSxhPWk/Lm5hdGl2ZSxzPWk/LnVuaXZlcnNhbDtnZS5zZXRSZWNlbnRXYWxsZXQoZSk7bGV0IGw7dD1ufHxyLGw9IiIsYT9sPXRzLmZvcm1hdFVuaXZlcnNhbFVybChhLHQsbyk6cyYmKGw9dHMuZm9ybWF0TmF0aXZlVXJsKHMsdCxvKSksdHMub3BlbkhyZWYobCwiX3NlbGYiKX0saGFuZGxlQW5kcm9pZExpbmtpbmcoKXtsZXR7c3RhbmRhbG9uZVVyaTplfT10dS5zdGF0ZSx7cGFpcmluZ1VyaTp0fT10NS5zdGF0ZTtlPyh0cy5zZXRXYWxsZXRDb25uZWN0QW5kcm9pZERlZXBMaW5rKGUpLHRzLm9wZW5IcmVmKGUsIl9zZWxmIikpOih0cy5zZXRXYWxsZXRDb25uZWN0QW5kcm9pZERlZXBMaW5rKHQpLHRzLm9wZW5IcmVmKHQsIl9zZWxmIikpfSxhc3luYyBoYW5kbGVVcmlDb3B5KCl7bGV0e3N0YW5kYWxvbmVVcmk6ZX09dHUuc3RhdGUse3BhaXJpbmdVcmk6dH09dDUuc3RhdGU7ZT9hd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChlKTphd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0KSx0Ti5vcGVuVG9hc3QoIkxpbmsgY29waWVkIiwic3VjY2VzcyIpfSxhc3luYyBoYW5kbGVDb25uZWN0b3JDb25uZWN0aW9uKGUsdCl7dHJ5e2xldHtzZWxlY3RlZENoYWluOm59PXR1LnN0YXRlO2F3YWl0IHRpLmNsaWVudCgpLmNvbm5lY3RDb25uZWN0b3IoZSxuPy5pZCksdDcuY2xvc2UoKX1jYXRjaChyKXtjb25zb2xlLmVycm9yKHIpLHQ/dCgpOnROLm9wZW5Ub2FzdChnZS5nZXRFcnJvck1lc3NhZ2UociksImVycm9yIil9fSxnZXRDdXN0b21JbWFnZVVybHMoKXtsZXR7Y2hhaW5JbWFnZXM6ZSx3YWxsZXRJbWFnZXM6dH09dF8uc3RhdGUsbj1PYmplY3QudmFsdWVzKGU/P3t9KSxyPU9iamVjdC52YWx1ZXModD8/e30pO3JldHVybiBPYmplY3QudmFsdWVzKFsuLi5uLC4uLnJdKX0sdHJ1bmNhdGU6KGUsdD04KT0+ZS5sZW5ndGg8PXQ/ZTpgJHtlLnN1YnN0cmluZygwLDQpfS4uLiR7ZS5zdWJzdHJpbmcoZS5sZW5ndGgtNCl9YCxnZW5lcmF0ZUF2YXRhckNvbG9ycyhlKXt2YXIgdDtsZXQgbj1udWxsPT0odD1lLm1hdGNoKC8uezEsN30vZykpP3ZvaWQgMDp0LnNwbGljZSgwLDUpLHI9W107bj8uZm9yRWFjaChlPT57bGV0IHQ9MDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rPTEpdD1lLmNoYXJDb2RlQXQobikrKCh0PDw1KS10KSx0Jj10O2xldCBpPVswLDAsMF07Zm9yKGxldCBvPTA7bzwzO28rPTEpe2xldCBhPXQ+PjgqbyYyNTU7aVtvXT1hfXIucHVzaChgcmdiKCR7aVswXX0sICR7aVsxXX0sICR7aVsyXX0pYCl9KTtsZXQgaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCI6cm9vdCIpO2lmKGkpe2xldCBvPXsiLS13M20tY29sb3ItYXYtMSI6clswXSwiLS13M20tY29sb3ItYXYtMiI6clsxXSwiLS13M20tY29sb3ItYXYtMyI6clsyXSwiLS13M20tY29sb3ItYXYtNCI6clszXSwiLS13M20tY29sb3ItYXYtNSI6cls0XX07T2JqZWN0LmVudHJpZXMobykuZm9yRWFjaCgoW2UsdF0pPT5pLnN0eWxlLnNldFByb3BlcnR5KGUsdCkpfX0sc2V0UmVjZW50V2FsbGV0KGUpe2xldHt3YWxsZXRDb25uZWN0VmVyc2lvbjp0fT10dS5zdGF0ZTtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShnZS5XM01fUkVDRU5UX1dBTExFVF9EQVRBLEpTT04uc3RyaW5naWZ5KHtbdF06ZX0pKX0sZ2V0UmVjZW50V2FsbGV0KCl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZ2UuVzNNX1JFQ0VOVF9XQUxMRVRfREFUQSk7aWYoZSl7bGV0e3dhbGxldENvbm5lY3RWZXJzaW9uOnR9PXR1LnN0YXRlLG49SlNPTi5wYXJzZShlKTtpZihuW3RdKXJldHVybiBuW3RdfX0sY2FzZVNhZmVJbmNsdWRlczooZSx0KT0+ZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHQudG9VcHBlckNhc2UoKSksb3BlbldhbGxldEV4cGxvcmVyVXJsKCl7dHMub3BlbkhyZWYoZ2UuRVhQTE9SRVJfV0FMTEVUX1VSTCwiX2JsYW5rIil9LGdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3Jtcygpe2xldHtpZDplLGRlc2t0b3A6dCxtb2JpbGU6bixpbmplY3RlZDpyfT10cy5nZXRXYWxsZXRSb3V0ZXJEYXRhKCksaT1wSi5pbnN0YWxsZWRJbmplY3RlZFdhbGxldHMoKSxvPSEhKG51bGwhPXImJnIubGVuZ3RoKSxhPWkuc29tZSh0PT50LmlkPT09ZSkscz0hIShudWxsIT10JiZ0Lm5hdGl2ZSksbD0hIShudWxsIT10JiZ0LnVuaXZlcnNhbCksJD0hIShudWxsIT1uJiZuLm5hdGl2ZSl8fCEhKG51bGwhPW4mJm4udW5pdmVyc2FsKTtyZXR1cm57aXNJbmplY3RlZEluc3RhbGxlZDphLGlzSW5qZWN0ZWQ6byxpc0Rlc2t0b3A6cyxpc01vYmlsZTokLGlzV2ViOmx9fSxnb1RvQ29ubmVjdGluZ1ZpZXcoZSl7dGEuc2V0RGF0YSh7V2FsbGV0OmV9KTtsZXQgdD10cy5pc01vYmlsZSgpLHtpc0Rlc2t0b3A6bixpc1dlYjpyLGlzTW9iaWxlOmksaXNJbmplY3RlZEluc3RhbGxlZDpvfT1nZS5nZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKTt0P28/dGEucHVzaCgiSW5qZWN0ZWRDb25uZWN0aW5nIik6aT90YS5wdXNoKCJNb2JpbGVDb25uZWN0aW5nIik6cj90YS5wdXNoKCJXZWJDb25uZWN0aW5nIik6dGEucHVzaCgiSW5zdGFsbFdhbGxldCIpOm8/dGEucHVzaCgiSW5qZWN0ZWRDb25uZWN0aW5nIik6bj90YS5wdXNoKCJEZXNrdG9wQ29ubmVjdGluZyIpOnI/dGEucHVzaCgiV2ViQ29ubmVjdGluZyIpOmk/dGEucHVzaCgiTW9iaWxlUXJjb2RlQ29ubmVjdGluZyIpOnRhLnB1c2goIkluc3RhbGxXYWxsZXQiKX19LGd0PWFfYC53M20tcm91dGVye292ZXJmbG93OmhpZGRlbjt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19LnczbS1jb250ZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59YDt2YXIgZ249T2JqZWN0LmRlZmluZVByb3BlcnR5LGdyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZ2k9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP2dyKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmZ24odCxuLG8pLG99O2xldCBnbz1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnZpZXc9dGEuc3RhdGUudmlldyx0aGlzLnByZXZWaWV3PXRhLnN0YXRlLnZpZXcsdGhpcy51bnN1YnNjcmliZT12b2lkIDAsdGhpcy5vbGRIZWlnaHQ9IjBweCIsdGhpcy5yZXNpemVPYnNlcnZlcj12b2lkIDAsdGhpcy51bnN1YnNjcmliZT10YS5zdWJzY3JpYmUoZT0+e3RoaXMudmlldyE9PWUudmlldyYmdGhpcy5vbkNoYW5nZVJvdXRlKCl9KX1maXJzdFVwZGF0ZWQoKXt0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoW2VdKT0+e2xldCB0PWAke2UuY29udGVudFJlY3QuaGVpZ2h0fXB4YDsiMHB4IiE9PXRoaXMub2xkSGVpZ2h0JiZsVSh0aGlzLnJvdXRlckVsLHtoZWlnaHQ6W3RoaXMub2xkSGVpZ2h0LHRdfSx7ZHVyYXRpb246LjJ9KSx0aGlzLm9sZEhlaWdodD10fSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuY29udGVudEVsKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlLHQ7bnVsbD09KGU9dGhpcy51bnN1YnNjcmliZSl8fGUuY2FsbCh0aGlzKSxudWxsPT0odD10aGlzLnJlc2l6ZU9ic2VydmVyKXx8dC5kaXNjb25uZWN0KCl9Z2V0IHJvdXRlckVsKCl7cmV0dXJuIGdlLmdldFNoYWRvd1Jvb3RFbGVtZW50KHRoaXMsIi53M20tcm91dGVyIil9Z2V0IGNvbnRlbnRFbCgpe3JldHVybiBnZS5nZXRTaGFkb3dSb290RWxlbWVudCh0aGlzLCIudzNtLWNvbnRlbnQiKX12aWV3VGVtcGxhdGUoKXtzd2l0Y2godGhpcy52aWV3KXtjYXNlIkNvbm5lY3RXYWxsZXQiOnJldHVybiBhUmA8dzNtLWNvbm5lY3Qtd2FsbGV0LXZpZXc+PC93M20tY29ubmVjdC13YWxsZXQtdmlldz5gO2Nhc2UiU2VsZWN0TmV0d29yayI6cmV0dXJuIGFSYDx3M20tc2VsZWN0LW5ldHdvcmstdmlldz48L3czbS1zZWxlY3QtbmV0d29yay12aWV3PmA7Y2FzZSJJbmplY3RlZENvbm5lY3RpbmciOnJldHVybiBhUmA8dzNtLWluamVjdGVkLWNvbm5lY3Rpbmctdmlldz48L3czbS1pbmplY3RlZC1jb25uZWN0aW5nLXZpZXc+YDtjYXNlIkRlc2t0b3BDb25uZWN0aW5nIjpyZXR1cm4gYVJgPHczbS1kZXNrdG9wLWNvbm5lY3Rpbmctdmlldz48L3czbS1kZXNrdG9wLWNvbm5lY3Rpbmctdmlldz5gO2Nhc2UiTW9iaWxlQ29ubmVjdGluZyI6cmV0dXJuIGFSYDx3M20tbW9iaWxlLWNvbm5lY3Rpbmctdmlldz48L3czbS1tb2JpbGUtY29ubmVjdGluZy12aWV3PmA7Y2FzZSJXZWJDb25uZWN0aW5nIjpyZXR1cm4gYVJgPHczbS13ZWItY29ubmVjdGluZy12aWV3PjwvdzNtLXdlYi1jb25uZWN0aW5nLXZpZXc+YDtjYXNlIk1vYmlsZVFyY29kZUNvbm5lY3RpbmciOnJldHVybiBhUmA8dzNtLW1vYmlsZS1xci1jb25uZWN0aW5nLXZpZXc+PC93M20tbW9iaWxlLXFyLWNvbm5lY3Rpbmctdmlldz5gO2Nhc2UiR2V0V2FsbGV0IjpyZXR1cm4gYVJgPHczbS1nZXQtd2FsbGV0LXZpZXc+PC93M20tZ2V0LXdhbGxldC12aWV3PmA7Y2FzZSJXYWxsZXRFeHBsb3JlciI6cmV0dXJuIGFSYDx3M20td2FsbGV0LWV4cGxvcmVyLXZpZXc+PC93M20td2FsbGV0LWV4cGxvcmVyLXZpZXc+YDtjYXNlIlFyY29kZSI6cmV0dXJuIGFSYDx3M20tcXJjb2RlLXZpZXc+PC93M20tcXJjb2RlLXZpZXc+YDtjYXNlIkhlbHAiOnJldHVybiBhUmA8dzNtLWhlbHAtdmlldz48L3czbS1oZWxwLXZpZXc+YDtjYXNlIkFjY291bnQiOnJldHVybiBhUmA8dzNtLWFjY291bnQtdmlldz48L3czbS1hY2NvdW50LXZpZXc+YDtjYXNlIlN3aXRjaE5ldHdvcmsiOnJldHVybiBhUmA8dzNtLXN3aXRjaC1uZXR3b3JrLXZpZXc+PC93M20tc3dpdGNoLW5ldHdvcmstdmlldz5gO2Nhc2UiSW5zdGFsbFdhbGxldCI6cmV0dXJuIGFSYDx3M20taW5zdGFsbC13YWxsZXQtdmlldz48L3czbS1pbnN0YWxsLXdhbGxldC12aWV3PmA7ZGVmYXVsdDpyZXR1cm4gYVJgPGRpdj5Ob3QgRm91bmQ8L2Rpdj5gfX1hc3luYyBvbkNoYW5nZVJvdXRlKCl7YXdhaXQgbFUodGhpcy5yb3V0ZXJFbCx7b3BhY2l0eTpbMSwwXSxzY2FsZTpbMSwxLjAyXX0se2R1cmF0aW9uOi4xNSxkZWxheTouMX0pLmZpbmlzaGVkLHRoaXMudmlldz10YS5zdGF0ZS52aWV3LGxVKHRoaXMucm91dGVyRWwse29wYWNpdHk6WzAsMV0sc2NhbGU6Wy45OSwxXX0se2R1cmF0aW9uOi4zNyxkZWxheTouMDV9KX1yZW5kZXIoKXtyZXR1cm4gYVJgPGRpdiBjbGFzcz0idzNtLXJvdXRlciI+PGRpdiBjbGFzcz0idzNtLWNvbnRlbnQiPiR7dGhpcy52aWV3VGVtcGxhdGUoKX08L2Rpdj48L2Rpdj5gfX07Z28uc3R5bGVzPVtwdy5nbG9iYWxDc3MsZ3RdLGdpKFtzbCgpXSxnby5wcm90b3R5cGUsInZpZXciLDIpLGdpKFtzbCgpXSxnby5wcm90b3R5cGUsInByZXZWaWV3IiwyKSxnbz1naShbc2koInczbS1tb2RhbC1yb3V0ZXIiKV0sZ28pO2xldCBnYT1hX2BkaXZ7aGVpZ2h0OjM2cHg7d2lkdGg6bWF4LWNvbnRlbnQ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6OXB4IDE1cHggMTFweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTJweDtib3gtc2hhZG93OjAgNnB4IDE0cHggLTZweCByZ2JhKDEwLDE2LDMxLC4zKSwwIDEwcHggMzJweCAtNHB4IHJnYmEoMTAsMTYsMzEsLjE1KTt6LWluZGV4OjI7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxLjgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMS44KTtib3JkZXItcmFkaXVzOnZhcigtLXczbS1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9c3Zne21hcmdpbi1yaWdodDo1cHh9QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpe2RpdntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0zKX19LnczbS1zdWNjZXNzIHBhdGh7ZmlsbDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX0udzNtLWVycm9yIHBhdGh7ZmlsbDp2YXIoLS13M20tZXJyb3ItY29sb3IpfWA7dmFyIGdzPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxnbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGckPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9nbCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJmdzKHQsbixvKSxvfTtsZXQgZ2M9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5vcGVuPSExLHRoaXMudW5zdWJzY3JpYmU9dm9pZCAwLHRoaXMudGltZW91dD12b2lkIDAsdGhpcy51bnN1YnNjcmliZT10Ti5zdWJzY3JpYmUoZT0+e2Uub3Blbj8odGhpcy5vcGVuPSEwLHRoaXMudGltZW91dD1zZXRUaW1lb3V0KCgpPT50Ti5jbG9zZVRvYXN0KCksMjIwMCkpOih0aGlzLm9wZW49ITEsY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCkpfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTtudWxsPT0oZT10aGlzLnVuc3Vic2NyaWJlKXx8ZS5jYWxsKHRoaXMpLGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLHROLmNsb3NlVG9hc3QoKX1yZW5kZXIoKXtsZXR7bWVzc2FnZTplLHZhcmlhbnQ6dH09dE4uc3RhdGU7cmV0dXJuIHRoaXMub3Blbj9hUmA8ZGl2IGNsYXNzPSIke3NoKHsidzNtLXN1Y2Nlc3MiOiJzdWNjZXNzIj09PXQsInczbS1lcnJvciI6ImVycm9yIj09PXR9KX0iPiR7InN1Y2Nlc3MiPT09dD9wTi5DSEVDS01BUktfSUNPTjpudWxsfSAkeyJlcnJvciI9PT10P3BOLkNST1NTX0lDT046bnVsbH08dzNtLXRleHQgdmFyaWFudD0ic21hbGwtcmVndWxhciI+JHtlfTwvdzNtLXRleHQ+PC9kaXY+YDpudWxsfX07Z2Muc3R5bGVzPVtwdy5nbG9iYWxDc3MsZ2FdLGckKFtzbCgpXSxnYy5wcm90b3R5cGUsIm9wZW4iLDIpLGdjPWckKFtzaSgidzNtLW1vZGFsLXRvYXN0IildLGdjKTtsZXQgZ2g9YV9gYnV0dG9ue3BhZGRpbmc6NXB4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ob3Zlci1oaWdobGlnaHQtYm9yZGVyLXJhZGl1cyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo4MHB4O2hlaWdodDo5MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfXczbS1uZXR3b3JrLWltYWdle3dpZHRoOjU0cHg7aGVpZ2h0OjU5cHh9dzNtLXRleHR7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDo1cHh9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX0udzNtLXVuc3VwcG9ydGVke29wYWNpdHk6LjN9QG1lZGlhKGhvdmVyOmhvdmVyKXtidXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9fWA7dmFyIGd1PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxnZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGdfPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9nZCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJmd1KHQsbixvKSxvfTtsZXQgZ2Y9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5vbkNsaWNrPSgpPT5udWxsLHRoaXMubmFtZT0iIix0aGlzLmNoYWluSWQ9IiIsdGhpcy51bnN1cHBvcnRlZD0hMX1yZW5kZXIoKXtsZXQgZT17InczbS11bnN1cHBvcnRlZCI6dGhpcy51bnN1cHBvcnRlZH07cmV0dXJuIGFSYDxidXR0b24gQGNsaWNrPSIke3RoaXMub25DbGlja30iIGNsYXNzPSIke3NoKGUpfSI+PHczbS1uZXR3b3JrLWltYWdlIGNoYWluSWQ9IiR7dGhpcy5jaGFpbklkfSI+PC93M20tbmV0d29yay1pbWFnZT48dzNtLXRleHQgdmFyaWFudD0ieHNtYWxsLXJlZ3VsYXIiPiR7dGhpcy5uYW1lfTwvdzNtLXRleHQ+PC9idXR0b24+YH19O2dmLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLGdoXSxnXyhbc3MoKV0sZ2YucHJvdG90eXBlLCJvbkNsaWNrIiwyKSxnXyhbc3MoKV0sZ2YucHJvdG90eXBlLCJuYW1lIiwyKSxnXyhbc3MoKV0sZ2YucHJvdG90eXBlLCJjaGFpbklkIiwyKSxnXyhbc3MoKV0sZ2YucHJvdG90eXBlLCJ1bnN1cHBvcnRlZCIsMiksZ2Y9Z18oW3NpKCJ3M20tbmV0d29yay1idXR0b24iKV0sZ2YpO2xldCBncD1hX2BAa2V5ZnJhbWVzIGxvYWRpbmd7dG97c3Ryb2tlLWRhc2hvZmZzZXQ6MH19Omhvc3R7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDtwb3NpdGlvbjpyZWxhdGl2ZX1wYXRoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9c3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjB9I25ldHdvcmstcGxhY2Vob2xkZXItZmlsbHtmaWxsOnZhcigtLXczbS1jb2xvci1iZy0zKX0jbmV0d29yay1wbGFjZWhvbGRlci1kYXNoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9aW1hZ2V7Y2xpcC1wYXRoOnBhdGgoJ00xNy4wMzMgNC45NjRjMy44NTItMi4yNjIgNS43NzgtMy4zOTMgNy44NC0zLjc3YTExLjgwNyAxMS44MDcgMCAwIDEgNC4yNTQgMGMyLjA2Mi4zNzcgMy45ODggMS41MDggNy44NCAzLjc3bDYuMDY2IDMuNTYyYzMuODUyIDIuMjYzIDUuNzc3IDMuMzk0IDcuMTMgNS4wMjJhMTIuMjY4IDEyLjI2OCAwIDAgMSAyLjEyNyAzLjc0N2MuNzEgMi4wMDYuNzEgNC4yNjguNzEgOC43OTN2Ny4xMjRjMCA0LjUyNSAwIDYuNzg3LS43MSA4Ljc5M2ExMi4yNjggMTIuMjY4IDAgMCAxLTIuMTI2IDMuNzQ3Yy0xLjM1NCAxLjYyOC0zLjI4IDIuNzYtNy4xMzEgNS4wMjJsLTYuMDY2IDMuNTYyYy0zLjg1MiAyLjI2Mi01Ljc3OCAzLjM5My03Ljg0IDMuNzcxYTExLjgxNCAxMS44MTQgMCAwIDEtNC4yNTQgMGMtMi4wNjItLjM3OC0zLjk4OC0xLjUwOS03Ljg0LTMuNzdsLTYuMDY2LTMuNTYzYy0zLjg1Mi0yLjI2My01Ljc3OC0zLjM5NC03LjEzLTUuMDIyYTEyLjI2OCAxMi4yNjggMCAwIDEtMi4xMjctMy43NDdDMSA0MCAxIDM3LjczNyAxIDMzLjIxMnYtNy4xMjRjMC00LjUyNSAwLTYuNzg3LjcxLTguNzkzYTEyLjI2OCAxMi4yNjggMCAwIDEgMi4xMjctMy43NDdjMS4zNTItMS42MjggMy4yNzgtMi43NiA3LjEzLTUuMDIybDYuMDY2LTMuNTYyWicpfWA7dmFyIGcxPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxnMD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGdnPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9nMCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJmcxKHQsbixvKSxvfTtsZXQgZ209Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5jaGFpbklkPSIifXJlbmRlcigpe2xldCBlPWdlLmdldENoYWluSWNvbih0aGlzLmNoYWluSWQpO3JldHVybiBlP2FSYDxzdmcgd2lkdGg9IjU0IiBoZWlnaHQ9IjU5IiB2aWV3Qm94PSIwIDAgNTQgNTkiIGZpbGw9Im5vbmUiPjxpbWFnZSBocmVmPSIke2V9Ii8+PGltYWdlIGhyZWY9IiR7ZX0iIHdpZHRoPSI1NCIgaGVpZ2h0PSI1OSIvPjxwYXRoIGQ9Ik0xNy4yMiA1LjI5NWMzLjg3Ny0yLjI3NyA1LjczNy0zLjM2MyA3LjcyLTMuNzI2YTExLjQ0IDExLjQ0IDAgMCAxIDQuMTIgMGMxLjk4My4zNjMgMy44NDQgMS40NSA3LjcyIDMuNzI2bDYuMDY1IDMuNTYyYzMuODc2IDIuMjc2IDUuNzMxIDMuMzcyIDcuMDMyIDQuOTM4YTExLjg5NiAxMS44OTYgMCAwIDEgMi4wNiAzLjYzYy42ODMgMS45MjguNjg4IDQuMTEuNjg4IDguNjYzdjcuMTI0YzAgNC41NTMtLjAwNSA2LjczNS0uNjg4IDguNjY0YTExLjg5NiAxMS44OTYgMCAwIDEtMi4wNiAzLjYzYy0xLjMgMS41NjUtMy4xNTYgMi42Ni03LjAzMiA0LjkzN2wtNi4wNjUgMy41NjNjLTMuODc3IDIuMjc2LTUuNzM3IDMuMzYyLTcuNzIgMy43MjVhMTEuNDYgMTEuNDYgMCAwIDEtNC4xMiAwYy0xLjk4My0uMzYzLTMuODQ0LTEuNDQ5LTcuNzItMy43MjZsLTYuMDY1LTMuNTYyYy0zLjg3Ni0yLjI3Ni01LjczMS0zLjM3Mi03LjAzMi00LjkzOGExMS44ODUgMTEuODg1IDAgMCAxLTIuMDYtMy42M2MtLjY4Mi0xLjkyOC0uNjg4LTQuMTEtLjY4OC04LjY2M3YtNy4xMjRjMC00LjU1My4wMDYtNi43MzUuNjg4LTguNjY0YTExLjg4NSAxMS44ODUgMCAwIDEgMi4wNi0zLjYzYzEuMy0xLjU2NSAzLjE1Ni0yLjY2IDcuMDMyLTQuOTM3bDYuMDY1LTMuNTYyWiIvPjwvc3ZnPmA6YVJgJHtwTi5ORVRXT1JLX1BMQUNFSE9MREVSfWB9fTtmdW5jdGlvbiBnMyhlLHQsbil7cmV0dXJuIGUhPT10JiYoZS10PDA/dC1lOmUtdCk8PW4rLjF9Z20uc3R5bGVzPVtwdy5nbG9iYWxDc3MsZ3BdLGdnKFtzcygpXSxnbS5wcm90b3R5cGUsImNoYWluSWQiLDIpLGdtPWdnKFtzaSgidzNtLW5ldHdvcmstaW1hZ2UiKV0sZ20pO2xldCBndz17Z2VuZXJhdGUoZSx0LG4scil7bGV0IGk9ImxpZ2h0Ij09PXI/IiMxNDE0MTQiOiIjZmZmIixvPSJsaWdodCI9PT1yPyIjZmZmIjoiIzE0MTQxNCIsYT1bXSxzPWZ1bmN0aW9uIGUodCxuKXtsZXQgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChwXy5jcmVhdGUodCx7ZXJyb3JDb3JyZWN0aW9uTGV2ZWw6IlEifSkubW9kdWxlcy5kYXRhLDApLGk9TWF0aC5zcXJ0KHIubGVuZ3RoKTtyZXR1cm4gci5yZWR1Y2UoKGUsdCxuKT0+KG4laT09MD9lLnB1c2goW3RdKTplW2UubGVuZ3RoLTFdLnB1c2godCkpJiZlLFtdKX0oZSwiUSIpLGw9dC9zLmxlbmd0aCwkPVt7eDowLHk6MH0se3g6MSx5OjB9LHt4OjAseToxfV07JC5mb3JFYWNoKCh7eDplLHk6dH0pPT57bGV0IG49KHMubGVuZ3RoLTcpKmwqZSxyPShzLmxlbmd0aC03KSpsKnQ7Zm9yKGxldCBjPTA7YzwkLmxlbmd0aDtjKz0xKXtsZXQgaD1sKig3LTIqYyk7YS5wdXNoKGFVYDxyZWN0IGZpbGw9IiR7YyUyPT0wP2k6b30iIGhlaWdodD0iJHtofSIgcng9IiR7LjMyKmh9IiByeT0iJHsuMzIqaH0iIHdpZHRoPSIke2h9IiB4PSIke24rbCpjfSIgeT0iJHtyK2wqY30iPmApfX0pO2xldCBjPU1hdGguZmxvb3IoKG4rMjUpL2wpLGg9cy5sZW5ndGgvMi1jLzIsdT1zLmxlbmd0aC8yK2MvMi0xLGQ9W107cy5mb3JFYWNoKChlLHQpPT57ZS5mb3JFYWNoKChlLG4pPT57IXNbdF1bbl18fHQ8NyYmbjw3fHx0PnMubGVuZ3RoLTgmJm48N3x8dDw3JiZuPnMubGVuZ3RoLTh8fHQ+aCYmdDx1JiZuPmgmJm48dXx8ZC5wdXNoKFt0KmwrbC8yLG4qbCtsLzJdKX0pfSk7bGV0IF89e307cmV0dXJuIGQuZm9yRWFjaCgoW2UsdF0pPT57X1tlXT9fW2VdLnB1c2godCk6X1tlXT1bdF19KSxPYmplY3QuZW50cmllcyhfKS5tYXAoKFtlLHRdKT0+e2xldCBuPXQuZmlsdGVyKGU9PnQuZXZlcnkodD0+IWczKGUsdCxsKSkpO3JldHVybltOdW1iZXIoZSksbl19KS5mb3JFYWNoKChbZSx0XSk9Pnt0LmZvckVhY2godD0+e2EucHVzaChhVWA8Y2lyY2xlIGN4PSIke2V9IiBjeT0iJHt0fSIgZmlsbD0iJHtpfSIgcj0iJHtsLzIuNX0iPmApfSl9KSxPYmplY3QuZW50cmllcyhfKS5maWx0ZXIoKFtlLHRdKT0+dC5sZW5ndGg+MSkubWFwKChbZSx0XSk9PntsZXQgbj10LmZpbHRlcihlPT50LnNvbWUodD0+ZzMoZSx0LGwpKSk7cmV0dXJuW051bWJlcihlKSxuXX0pLm1hcCgoW2UsdF0pPT57dC5zb3J0KChlLHQpPT5lPHQ/LTE6MSk7bGV0IG49W107Zm9yKGxldCByIG9mIHQpe2xldCBpPW4uZmluZChlPT5lLnNvbWUoZT0+ZzMocixlLGwpKSk7aT9pLnB1c2gocik6bi5wdXNoKFtyXSl9cmV0dXJuW2Usbi5tYXAoZT0+W2VbMF0sZVtlLmxlbmd0aC0xXV0pXX0pLmZvckVhY2goKFtlLHRdKT0+e3QuZm9yRWFjaCgoW3Qsbl0pPT57YS5wdXNoKGFVYDxsaW5lIHgxPSIke2V9IiB4Mj0iJHtlfSIgeTE9IiR7dH0iIHkyPSIke259IiBzdHJva2U9IiR7aX0iIHN0cm9rZS13aWR0aD0iJHtsLzEuMjV9IiBzdHJva2UtbGluZWNhcD0icm91bmQiPmApfSl9KSxhfX0sZ3Y9YV9gQGtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfTEwMCV7b3BhY2l0eToxfX1kaXZ7cG9zaXRpb246cmVsYXRpdmU7dXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2FzcGVjdC1yYXRpbzoxLzE7YW5pbWF0aW9uOmZhZGVJbiBlYXNlIC4yc31zdmc6Zmlyc3QtY2hpbGQsdzNtLXdhbGxldC1pbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSl9dzNtLXdhbGxldC1pbWFnZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpfXczbS13YWxsZXQtaW1hZ2V7d2lkdGg6MjUlO2hlaWdodDoyNSU7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20td2FsbGV0LWljb24tYm9yZGVyLXJhZGl1cyl9c3ZnOmZpcnN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoLjkpfXN2ZzpmaXJzdC1jaGlsZCBwYXRoOmZpcnN0LWNoaWxke2ZpbGw6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9c3ZnOmZpcnN0LWNoaWxkIHBhdGg6bGFzdC1jaGlsZHtzdHJva2U6dmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWA7dmFyIGcyPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxnND1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGdiPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9nNCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJmcyKHQsbixvKSxvfTtsZXQgZzg9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy51cmk9IiIsdGhpcy5zaXplPTAsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLndhbGxldElkPXZvaWQgMCx0aGlzLmltYWdlVXJsPXZvaWQgMH1zdmdUZW1wbGF0ZSgpe3ZhciBlO2xldCB0PW51bGwhPShlPXRTLnN0YXRlLnRoZW1lTW9kZSk/ZToibGlnaHQiO3JldHVybiBhVWA8c3ZnIGhlaWdodD0iJHt0aGlzLnNpemV9IiB3aWR0aD0iJHt0aGlzLnNpemV9Ij4ke2d3LmdlbmVyYXRlKHRoaXMudXJpLHRoaXMuc2l6ZSx0aGlzLnNpemUvNCx0KX08L3N2Zz5gfXJlbmRlcigpe3JldHVybiBhUmA8ZGl2PiR7dGhpcy53YWxsZXRJZHx8dGhpcy5pbWFnZVVybD9hUmA8dzNtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD0iJHt0aGlzLndhbGxldElkfSIgaW1hZ2VJZD0iJHt0aGlzLmltYWdlSWR9IiBpbWFnZVVybD0iJHt0aGlzLmltYWdlVXJsfSI+PC93M20td2FsbGV0LWltYWdlPmA6cE4uV0FMTEVUX0NPTk5FQ1RfSUNPTl9DT0xPUkVEfSAke3RoaXMuc3ZnVGVtcGxhdGUoKX08dzNtLXRoZW1lLWNvbnRleHQ+PC93M20tdGhlbWUtY29udGV4dD48L2Rpdj5gfX07Zzguc3R5bGVzPVtwdy5nbG9iYWxDc3MsZ3ZdLGdiKFtzcygpXSxnOC5wcm90b3R5cGUsInVyaSIsMiksZ2IoW3NzKHt0eXBlOk51bWJlcn0pXSxnOC5wcm90b3R5cGUsInNpemUiLDIpLGdiKFtzcygpXSxnOC5wcm90b3R5cGUsImltYWdlSWQiLDIpLGdiKFtzcygpXSxnOC5wcm90b3R5cGUsIndhbGxldElkIiwyKSxnYihbc3MoKV0sZzgucHJvdG90eXBlLCJpbWFnZVVybCIsMiksZzg9Z2IoW3NpKCJ3M20tcXJjb2RlIildLGc4KTtsZXQgZzY9YV9gOmhvc3R7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjI4cHg7d2lkdGg6ODAlfWlucHV0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bGluZS1oZWlnaHQ6MjhweCFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20taW5wdXQtYm9yZGVyLXJhZGl1cyk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxzeXN0ZW0tdWksQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLFVidW50dSwnSGVsdmV0aWNhIE5ldWUnLHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOidjYXNlJyBvbjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE2cHg7bGV0dGVyLXNwYWNpbmc6LS4wM2VtO3BhZGRpbmc6MCAxMHB4IDAgMzRweDt0cmFuc2l0aW9uOi4ycyBhbGwgZWFzZTtjb2xvcjp0cmFuc3BhcmVudDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0zKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9aW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50fXN2Z3ttYXJnaW46MnB4IDRweCAwIDB9ZGl2e3RvcDowO2xlZnQ6Y2FsYyg1MCUgLSAxMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2l0aW9uOi4ycyBhbGwgZWFzZTtwb2ludGVyLWV2ZW50czpub25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6Y2FsYygxMDAlIC0gMnB4KTt3aWR0aDpmaXQtY29udGVudDtwb3NpdGlvbjpyZWxhdGl2ZX1pbnB1dDpmb2N1cy13aXRoaW4rZGl2LGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pK2Rpdnt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KTtsZWZ0OjB9dzNtLXRleHR7b3BhY2l0eToxO3RyYW5zaXRpb246LjJzIG9wYWNpdHkgZWFzZX1pbnB1dDpmb2N1cy13aXRoaW4rZGl2IHczbS10ZXh0LGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pK2RpdiB3M20tdGV4dHtvcGFjaXR5OjB9aW5wdXQ6Zm9jdXMtd2l0aGluLGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pe2NvbG9yOnZhcigtLXczbS1jb2xvci1mZy0xKX1pbnB1dDpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWFjY2VudC1jb2xvcil9cGF0aHtmaWxsOnZhcigtLXczbS1jb2xvci1mZy0yKX1gO3ZhciBneT1PYmplY3QuZGVmaW5lUHJvcGVydHksZzU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixneD0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/ZzUodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZneSh0LG4sbyksb307bGV0IGc3PWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMub25DaGFuZ2U9KCk9Pm51bGx9cmVuZGVyKCl7bGV0IGU9IlNlYXJjaCB3YWxsZXRzIjtyZXR1cm4gYVJgPGlucHV0IHR5cGU9InRleHQiIEBpbnB1dD0iJHt0aGlzLm9uQ2hhbmdlfSIgcGxhY2Vob2xkZXI9IiR7ZX0iPjxkaXY+JHtwTi5TRUFSQ0hfSUNPTn08dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+JHtlfTwvdzNtLXRleHQ+PC9kaXY+YH19O2c3LnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLGc2XSxneChbc3MoKV0sZzcucHJvdG90eXBlLCJvbkNoYW5nZSIsMiksZzc9Z3goW3NpKCJ3M20tc2VhcmNoLWlucHV0IildLGc3KTtsZXQgZ0U9YV9gQGtleWZyYW1lcyByb3RhdGV7MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgZGFzaHswJXtzdHJva2UtZGFzaGFycmF5OjEsMTUwO3N0cm9rZS1kYXNob2Zmc2V0OjB9NTAle3N0cm9rZS1kYXNoYXJyYXk6OTAsMTUwO3N0cm9rZS1kYXNob2Zmc2V0Oi0zNX0xMDAle3N0cm9rZS1kYXNoYXJyYXk6OTAsMTUwO3N0cm9rZS1kYXNob2Zmc2V0Oi0xMjR9fXN2Z3thbmltYXRpb246cm90YXRlIDJzIGxpbmVhciBpbmZpbml0ZTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9c3ZnIGNpcmNsZXtzdHJva2UtbGluZWNhcDpyb3VuZDthbmltYXRpb246ZGFzaCAxLjVzIGVhc2UgaW5maW5pdGU7c3Ryb2tlOnZhcigtLXczbS1hY2NlbnQtY29sb3IpfWA7dmFyIGdDPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxnRD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2xldCBnaz1jbGFzcyBleHRlbmRzIHNue3JlbmRlcigpe3JldHVybiBhUmA8c3ZnIHZpZXdCb3g9IjAgMCA1MCA1MCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48Y2lyY2xlIGN4PSIyNSIgY3k9IjI1IiByPSIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2U9IiNmZmYiLz48L3N2Zz5gfX07Z2suc3R5bGVzPVtwdy5nbG9iYWxDc3MsZ0VdLGdrPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/Z0QodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZnQyh0LG4sbyksb30pKFtzaSgidzNtLXNwaW5uZXIiKV0sZ2spO2xldCBnQT1hX2BzcGFue2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtZmFtaWx5OnZhcigtLXczbS1mb250LWZhbWlseSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOid0bnVtJyBvbiwnbG51bScgb24sJ2Nhc2UnIG9ufS53M20teHNtYWxsLWJvbGR7Zm9udC1mYW1pbHk6dmFyKC0tdzNtLXRleHQteHNtYWxsLWJvbGQtZm9udC1mYW1pbHkpO2ZvbnQtd2VpZ2h0OnZhcigtLXczbS10ZXh0LXhzbWFsbC1ib2xkLXdlaWdodCk7Zm9udC1zaXplOnZhcigtLXczbS10ZXh0LXhzbWFsbC1ib2xkLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXczbS10ZXh0LXhzbWFsbC1ib2xkLWxpbmUtaGVpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS13M20tdGV4dC14c21hbGwtYm9sZC1sZXR0ZXItc3BhY2luZyk7dGV4dC10cmFuc2Zvcm06dmFyKC0tdzNtLXRleHQteHNtYWxsLWJvbGQtdGV4dC10cmFuc2Zvcm0pfS53M20teHNtYWxsLXJlZ3VsYXJ7Zm9udC1mYW1pbHk6dmFyKC0tdzNtLXRleHQteHNtYWxsLXJlZ3VsYXItZm9udC1mYW1pbHkpO2ZvbnQtd2VpZ2h0OnZhcigtLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLXdlaWdodCk7Zm9udC1zaXplOnZhcigtLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLWxpbmUtaGVpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS13M20tdGV4dC14c21hbGwtcmVndWxhci1sZXR0ZXItc3BhY2luZyk7dGV4dC10cmFuc2Zvcm06dmFyKC0tdzNtLXRleHQteHNtYWxsLXJlZ3VsYXItdGV4dC10cmFuc2Zvcm0pfS53M20tc21hbGwtdGhpbntmb250LWZhbWlseTp2YXIoLS13M20tdGV4dC1zbWFsbC10aGluLWZvbnQtZmFtaWx5KTtmb250LXdlaWdodDp2YXIoLS13M20tdGV4dC1zbWFsbC10aGluLXdlaWdodCk7Zm9udC1zaXplOnZhcigtLXczbS10ZXh0LXNtYWxsLXRoaW4tc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tdzNtLXRleHQtc21hbGwtdGhpbi1saW5lLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdzNtLXRleHQtc21hbGwtdGhpbi1sZXR0ZXItc3BhY2luZyk7dGV4dC10cmFuc2Zvcm06dmFyKC0tdzNtLXRleHQtc21hbGwtdGhpbi10ZXh0LXRyYW5zZm9ybSl9LnczbS1zbWFsbC1yZWd1bGFye2ZvbnQtZmFtaWx5OnZhcigtLXczbS10ZXh0LXNtYWxsLXJlZ3VsYXItZm9udC1mYW1pbHkpO2ZvbnQtd2VpZ2h0OnZhcigtLXczbS10ZXh0LXNtYWxsLXJlZ3VsYXItd2VpZ2h0KTtmb250LXNpemU6dmFyKC0tdzNtLXRleHQtc21hbGwtcmVndWxhci1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS13M20tdGV4dC1zbWFsbC1yZWd1bGFyLWxpbmUtaGVpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS13M20tdGV4dC1zbWFsbC1yZWd1bGFyLWxldHRlci1zcGFjaW5nKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS13M20tdGV4dC1zbWFsbC1yZWd1bGFyLXRleHQtdHJhbnNmb3JtKX0udzNtLW1lZGl1bS1yZWd1bGFye2ZvbnQtZmFtaWx5OnZhcigtLXczbS10ZXh0LW1lZGl1bS1yZWd1bGFyLWZvbnQtZmFtaWx5KTtmb250LXdlaWdodDp2YXIoLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci13ZWlnaHQpO2ZvbnQtc2l6ZTp2YXIoLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci1saW5lLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdzNtLXRleHQtbWVkaXVtLXJlZ3VsYXItbGV0dGVyLXNwYWNpbmcpO3RleHQtdHJhbnNmb3JtOnZhcigtLXczbS10ZXh0LW1lZGl1bS1yZWd1bGFyLXRleHQtdHJhbnNmb3JtKX0udzNtLWJpZy1ib2xke2ZvbnQtZmFtaWx5OnZhcigtLXczbS10ZXh0LWJpZy1ib2xkLWZvbnQtZmFtaWx5KTtmb250LXdlaWdodDp2YXIoLS13M20tdGV4dC1iaWctYm9sZC13ZWlnaHQpO2ZvbnQtc2l6ZTp2YXIoLS13M20tdGV4dC1iaWctYm9sZC1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS13M20tdGV4dC1iaWctYm9sZC1saW5lLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdzNtLXRleHQtYmlnLWJvbGQtbGV0dGVyLXNwYWNpbmcpO3RleHQtdHJhbnNmb3JtOnZhcigtLXczbS10ZXh0LWJpZy1ib2xkLXRleHQtdHJhbnNmb3JtKX06aG9zdCgqKXtjb2xvcjp2YXIoLS13M20tY29sb3ItZmctMSl9LnczbS1jb2xvci1wcmltYXJ5e2NvbG9yOnZhcigtLXczbS1jb2xvci1mZy0xKX0udzNtLWNvbG9yLXNlY29uZGFyeXtjb2xvcjp2YXIoLS13M20tY29sb3ItZmctMil9LnczbS1jb2xvci10ZXJ0aWFyeXtjb2xvcjp2YXIoLS13M20tY29sb3ItZmctMyl9LnczbS1jb2xvci1pbnZlcnNle2NvbG9yOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcil9LnczbS1jb2xvci1hY2NudHtjb2xvcjp2YXIoLS13M20tYWNjZW50LWNvbG9yKX0udzNtLWNvbG9yLWVycm9ye2NvbG9yOnZhcigtLXczbS1lcnJvci1jb2xvcil9YDt2YXIgZ0k9T2JqZWN0LmRlZmluZVByb3BlcnR5LGdUPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZ1M9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP2dUKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmZ0kodCxuLG8pLG99O2xldCBnTD1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIix0aGlzLmNvbG9yPSJwcmltYXJ5In1yZW5kZXIoKXtsZXQgZT17InczbS1iaWctYm9sZCI6ImJpZy1ib2xkIj09PXRoaXMudmFyaWFudCwidzNtLW1lZGl1bS1yZWd1bGFyIjoibWVkaXVtLXJlZ3VsYXIiPT09dGhpcy52YXJpYW50LCJ3M20tc21hbGwtcmVndWxhciI6InNtYWxsLXJlZ3VsYXIiPT09dGhpcy52YXJpYW50LCJ3M20tc21hbGwtdGhpbiI6InNtYWxsLXRoaW4iPT09dGhpcy52YXJpYW50LCJ3M20teHNtYWxsLXJlZ3VsYXIiOiJ4c21hbGwtcmVndWxhciI9PT10aGlzLnZhcmlhbnQsInczbS14c21hbGwtYm9sZCI6InhzbWFsbC1ib2xkIj09PXRoaXMudmFyaWFudCwidzNtLWNvbG9yLXByaW1hcnkiOiJwcmltYXJ5Ij09PXRoaXMuY29sb3IsInczbS1jb2xvci1zZWNvbmRhcnkiOiJzZWNvbmRhcnkiPT09dGhpcy5jb2xvciwidzNtLWNvbG9yLXRlcnRpYXJ5IjoidGVydGlhcnkiPT09dGhpcy5jb2xvciwidzNtLWNvbG9yLWludmVyc2UiOiJpbnZlcnNlIj09PXRoaXMuY29sb3IsInczbS1jb2xvci1hY2NudCI6ImFjY2VudCI9PT10aGlzLmNvbG9yLCJ3M20tY29sb3ItZXJyb3IiOiJlcnJvciI9PT10aGlzLmNvbG9yfTtyZXR1cm4gYVJgPHNwYW4+PHNsb3QgY2xhc3M9IiR7c2goZSl9Ij48L3Nsb3Q+PC9zcGFuPmB9fTtnTC5zdHlsZXM9W3B3Lmdsb2JhbENzcyxnQV0sZ1MoW3NzKCldLGdMLnByb3RvdHlwZSwidmFyaWFudCIsMiksZ1MoW3NzKCldLGdMLnByb3RvdHlwZSwiY29sb3IiLDIpLGdMPWdTKFtzaSgidzNtLXRleHQiKV0sZ0wpO2xldCBnTj1hX2BkaXZ7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6NTAlfWRpdjo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1vdmVybGF5KX1kaXYgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyfXN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfSN0b2tlbi1wbGFjZWhvbGRlci1maWxse2ZpbGw6dmFyKC0tdzNtLWNvbG9yLWJnLTMpfSN0b2tlbi1wbGFjZWhvbGRlci1kYXNoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YDt2YXIgZ089T2JqZWN0LmRlZmluZVByb3BlcnR5LGdNPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZ1A9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP2dNKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmZ08odCxuLG8pLG99O2xldCBnOT1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnN5bWJvbD12b2lkIDB9cmVuZGVyKCl7dmFyIGU7bGV0IHQ9Z2UuZ2V0VG9rZW5JY29uKG51bGwhPShlPXRoaXMuc3ltYm9sKT9lOiIiKTtyZXR1cm4gdD9hUmA8ZGl2PjxpbWcgc3JjPSIke3R9IiBhbHQ9IiR7dGhpcy5pZH0iPjwvZGl2PmA6cE4uVE9LRU5fUExBQ0VIT0xERVJ9fTtnOS5zdHlsZXM9W3B3Lmdsb2JhbENzcyxnTl0sZ1AoW3NzKCldLGc5LnByb3RvdHlwZSwic3ltYm9sIiwyKSxnOT1nUChbc2koInczbS10b2tlbi1pbWFnZSIpXSxnOSk7bGV0IGdSPWFfYGJ1dHRvbnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ob3Zlci1oaWdobGlnaHQtYm9yZGVyLXJhZGl1cyk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19YnV0dG9uPmRpdnt3aWR0aDo4MHB4O3BhZGRpbmc6NXB4IDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXJ9dzNtLXRleHR7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dGV4dC1hbGlnbjpjZW50ZXJ9dzNtLXdhbGxldC1pbWFnZXtoZWlnaHQ6NjBweDt3aWR0aDo2MHB4O3RyYW5zaXRpb246YWxsIC4ycyBlYXNlO2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXMpO21hcmdpbi1ib3R0b206NXB4fS53M20tc3VibGFiZWx7bWFyZ2luLXRvcDoycHh9YDt2YXIgZ1U9T2JqZWN0LmRlZmluZVByb3BlcnR5LGdCPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZ1c9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP2dCKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmZ1UodCxuLG8pLG99O2xldCBnRj1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm9uQ2xpY2s9KCk9Pm51bGwsdGhpcy5uYW1lPSIiLHRoaXMud2FsbGV0SWQ9IiIsdGhpcy5sYWJlbD12b2lkIDAsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLmluc3RhbGxlZD0hMSx0aGlzLnJlY2VudD0hMX1zdWJsYWJlbFRlbXBsYXRlKCl7cmV0dXJuIHRoaXMucmVjZW50P2FSYDx3M20tdGV4dCBjbGFzcz0idzNtLXN1YmxhYmVsIiB2YXJpYW50PSJ4c21hbGwtYm9sZCIgY29sb3I9InRlcnRpYXJ5Ij5SRUNFTlQ8L3czbS10ZXh0PmA6dGhpcy5pbnN0YWxsZWQ/YVJgPHczbS10ZXh0IGNsYXNzPSJ3M20tc3VibGFiZWwiIHZhcmlhbnQ9InhzbWFsbC1ib2xkIiBjb2xvcj0idGVydGlhcnkiPklOU1RBTExFRDwvdzNtLXRleHQ+YDpudWxsfWhhbmRsZUNsaWNrKCl7dGMuY2xpY2soe25hbWU6IldBTExFVF9CVVRUT04iLHdhbGxldElkOnRoaXMud2FsbGV0SWR9KSx0aGlzLm9uQ2xpY2soKX1yZW5kZXIoKXt2YXIgZTtyZXR1cm4gYVJgPGJ1dHRvbiBAY2xpY2s9IiR7dGhpcy5oYW5kbGVDbGljay5iaW5kKHRoaXMpfSI+PGRpdj48dzNtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD0iJHt0aGlzLndhbGxldElkfSIgaW1hZ2VJZD0iJHt0aGlzLmltYWdlSWR9Ij48L3czbS13YWxsZXQtaW1hZ2U+PHczbS10ZXh0IHZhcmlhbnQ9InhzbWFsbC1yZWd1bGFyIj4ke251bGwhPShlPXRoaXMubGFiZWwpP2U6Z2UuZ2V0V2FsbGV0TmFtZSh0aGlzLm5hbWUsITApfTwvdzNtLXRleHQ+JHt0aGlzLnN1YmxhYmVsVGVtcGxhdGUoKX08L2Rpdj48L2J1dHRvbj5gfX07Z0Yuc3R5bGVzPVtwdy5nbG9iYWxDc3MsZ1JdLGdXKFtzcygpXSxnRi5wcm90b3R5cGUsIm9uQ2xpY2siLDIpLGdXKFtzcygpXSxnRi5wcm90b3R5cGUsIm5hbWUiLDIpLGdXKFtzcygpXSxnRi5wcm90b3R5cGUsIndhbGxldElkIiwyKSxnVyhbc3MoKV0sZ0YucHJvdG90eXBlLCJsYWJlbCIsMiksZ1coW3NzKCldLGdGLnByb3RvdHlwZSwiaW1hZ2VJZCIsMiksZ1coW3NzKCldLGdGLnByb3RvdHlwZSwiaW5zdGFsbGVkIiwyKSxnVyhbc3MoKV0sZ0YucHJvdG90eXBlLCJyZWNlbnQiLDIpLGdGPWdXKFtzaSgidzNtLXdhbGxldC1idXR0b24iKV0sZ0YpO2xldCBnej1hX2A6aG9zdHtkaXNwbGF5OmJsb2NrfWRpdntvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czppbmhlcml0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9c3Zne3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9ZGl2OjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1vdmVybGF5KX1kaXYgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyfSN3YWxsZXQtcGxhY2Vob2xkZXItZmlsbHtmaWxsOnZhcigtLXczbS1jb2xvci1iZy0zKX0jd2FsbGV0LXBsYWNlaG9sZGVyLWRhc2h7c3Ryb2tlOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1gO3ZhciBnSD1PYmplY3QuZGVmaW5lUHJvcGVydHksZ2o9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixnWj0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/Z2oodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZnSCh0LG4sbyksb307bGV0IGdZPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMud2FsbGV0SWQ9IiIsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLmltYWdlVXJsPXZvaWQgMH1yZW5kZXIoKXt2YXIgZTtsZXQgdD1udWxsIT0oZT10aGlzLmltYWdlVXJsKSYmZS5sZW5ndGg/dGhpcy5pbWFnZVVybDpnZS5nZXRXYWxsZXRJY29uKHtpZDp0aGlzLndhbGxldElkLGltYWdlX2lkOnRoaXMuaW1hZ2VJZH0pO3JldHVybiBhUmAke3QubGVuZ3RoP2FSYDxkaXY+PGltZyBzcmM9IiR7dH0iIGFsdD0iJHt0aGlzLmlkfSI+PC9kaXY+YDpwTi5XQUxMRVRfUExBQ0VIT0xERVJ9YH19O2dZLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLGd6XSxnWihbc3MoKV0sZ1kucHJvdG90eXBlLCJ3YWxsZXRJZCIsMiksZ1ooW3NzKCldLGdZLnByb3RvdHlwZSwiaW1hZ2VJZCIsMiksZ1ooW3NzKCldLGdZLnByb3RvdHlwZSwiaW1hZ2VVcmwiLDIpLGdZPWdaKFtzaSgidzNtLXdhbGxldC1pbWFnZSIpXSxnWSk7dmFyIGdWPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxnRz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2xldCBnSz1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnVud2F0Y2hBY2NvdW50PXZvaWQgMCx0cC5nZXRBY2NvdW50KCksdGhpcy5mZXRjaFByb2ZpbGUoKSx0aGlzLmZldGNoQmFsYW5jZSgpLHRoaXMudW53YXRjaEFjY291bnQ9dGkuY2xpZW50KCkud2F0Y2hBY2NvdW50KGU9PntsZXR7YWRkcmVzczp0LGlzQ29ubmVjdGVkOm59PXRwLnN0YXRlO2UuaXNDb25uZWN0ZWQmJmUuYWRkcmVzcyE9PXQmJih0aGlzLmZldGNoUHJvZmlsZShlLmFkZHJlc3MpLHRoaXMuZmV0Y2hCYWxhbmNlKGUuYWRkcmVzcyksdHAuc2V0QWRkcmVzcyhlLmFkZHJlc3MpKSxlLmlzQ29ubmVjdGVkfHx0cC5yZXNldEFjY291bnQoKSxuIT09ZS5pc0Nvbm5lY3RlZCYmdDcuY2xvc2UoKSwhbiYmZS5pc0Nvbm5lY3RlZD90Yy50cmFjayh7bmFtZToiQUNDT1VOVF9DT05ORUNURUQifSk6biYmIWUuaXNDb25uZWN0ZWQmJnRjLnRyYWNrKHtuYW1lOiJBQ0NPVU5UX0RJU0NPTk5FQ1RFRCJ9KSx0cC5zZXRJc0Nvbm5lY3RlZChlLmlzQ29ubmVjdGVkKX0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bndhdGNoQWNjb3VudCl8fGUuY2FsbCh0aGlzKX1hc3luYyBmZXRjaFByb2ZpbGUoZSl7dmFyIHQ7bGV0IG49bnVsbD09KHQ9dHUuc3RhdGUuY2hhaW5zKT92b2lkIDA6dC5maW5kKGU9PjE9PT1lLmlkKTtpZih0Xy5zdGF0ZS5lbmFibGVBY2NvdW50VmlldyYmbil0cnl7YXdhaXQgdHAuZmV0Y2hQcm9maWxlKGdlLnByZWxvYWRJbWFnZSxlKX1jYXRjaChyKXtjb25zb2xlLmVycm9yKHIpLHROLm9wZW5Ub2FzdChnZS5nZXRFcnJvck1lc3NhZ2UociksImVycm9yIil9fWFzeW5jIGZldGNoQmFsYW5jZShlKXtpZih0Xy5zdGF0ZS5lbmFibGVBY2NvdW50Vmlldyl0cnl7YXdhaXQgdHAuZmV0Y2hCYWxhbmNlKGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCksdE4ub3BlblRvYXN0KGdlLmdldEVycm9yTWVzc2FnZSh0KSwiZXJyb3IiKX19fTtnSz0oKGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP2dHKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmZ1YodCxuLG8pLG99KShbc2koInczbS1hY2NvdW50LWNvbnRleHQiKV0sZ0spO3ZhciBncT1PYmplY3QuZGVmaW5lUHJvcGVydHksZ1E9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixnWD0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/Z1EodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZncSh0LG4sbyksb307bGV0IGdKPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMucHJlbG9hZD0hMCx0aGlzLnByZWxvYWREYXRhKCl9YXN5bmMgbG9hZEltYWdlcyhlKXt0cnl7bnVsbCE9ZSYmZS5sZW5ndGgmJmF3YWl0IFByb21pc2UuYWxsKGUubWFwKGFzeW5jIGU9PmdlLnByZWxvYWRJbWFnZShlKSkpfWNhdGNoe2NvbnNvbGUuaW5mbygiVW5zdWNjZXNzZnVsIGF0dGVtcHQgYXQgcHJlbG9hZGluZyBzb21lIGltYWdlcyIsZSl9fWFzeW5jIHByZWxvYWRMaXN0aW5ncygpe3ZhciBlO2lmKHRfLnN0YXRlLmVuYWJsZUV4cGxvcmVyKXtsZXR7Y2hhaW5zOnR9PXR1LnN0YXRlO2F3YWl0IFByb21pc2UuYWxsKFt0Ni5nZXRSZWNvbWVuZGVkV2FsbGV0cygpLHQ2LmdldEluamVjdGVkV2FsbGV0cygpXSksdHUuc2V0SXNEYXRhTG9hZGVkKCEwKTtsZXR7cmVjb21lbmRlZFdhbGxldHM6bn09dDYuc3RhdGUscj1wSi5pbnN0YWxsZWRJbmplY3RlZFdhbGxldHMoKSxpPW51bGwhPShlPXQ/Lm1hcChlPT5nZS5nZXRDaGFpbkljb24oZS5pZCkpKT9lOltdLG89bi5tYXAoZT0+Z2UuZ2V0V2FsbGV0SWNvbihlKSksYT1yLm1hcChlPT5nZS5nZXRXYWxsZXRJY29uKGUpKTthd2FpdCB0aGlzLmxvYWRJbWFnZXMoWy4uLmksLi4ubywuLi5hXSl9ZWxzZSB0dS5zZXRJc0RhdGFMb2FkZWQoITApfWFzeW5jIHByZWxvYWRDdXN0b21JbWFnZXMoKXtsZXQgZT1nZS5nZXRDdXN0b21JbWFnZVVybHMoKTthd2FpdCB0aGlzLmxvYWRJbWFnZXMoZSl9YXN5bmMgcHJlbG9hZERhdGEoKXt0cnl7dGhpcy5wcmVsb2FkJiYodGhpcy5wcmVsb2FkPSExLGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnByZWxvYWRMaXN0aW5ncygpLHRoaXMucHJlbG9hZEN1c3RvbUltYWdlcygpXSkpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSksdE4ub3BlblRvYXN0KCJGYWlsZWQgcHJlbG9hZGluZyIsImVycm9yIil9fX07Z1goW3NsKCldLGdKLnByb3RvdHlwZSwicHJlbG9hZCIsMiksZ0o9Z1goW3NpKCJ3M20tZXhwbG9yZXItY29udGV4dCIpXSxnSik7dmFyIG1lPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxtdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG1uPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9tdCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJm1lKHQsbixvKSxvfTtsZXQgbXI9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5hY3RpdmVDaGFpbklkPXZvaWQgMCx0aGlzLnVud2F0Y2hOZXR3b3JrPXZvaWQgMDtsZXQgZT10dS5nZXRTZWxlY3RlZENoYWluKCk7dGhpcy5hY3RpdmVDaGFpbklkPWU/LmlkLHRoaXMudW53YXRjaE5ldHdvcms9dGkuY2xpZW50KCkud2F0Y2hOZXR3b3JrKGU9PntsZXQgdD1lLmNoYWluO3QmJnRoaXMuYWN0aXZlQ2hhaW5JZCE9PXQuaWQmJih0dS5zZXRTZWxlY3RlZENoYWluKHQpLHRoaXMuYWN0aXZlQ2hhaW5JZD10LmlkLHRwLnJlc2V0QmFsYW5jZSgpLHRoaXMuZmV0Y2hCYWxhbmNlKCkpfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTtudWxsPT0oZT10aGlzLnVud2F0Y2hOZXR3b3JrKXx8ZS5jYWxsKHRoaXMpfWFzeW5jIGZldGNoQmFsYW5jZSgpe2lmKHRfLnN0YXRlLmVuYWJsZUFjY291bnRWaWV3KXRyeXthd2FpdCB0cC5mZXRjaEJhbGFuY2UoKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpLHROLm9wZW5Ub2FzdChnZS5nZXRFcnJvck1lc3NhZ2UoZSksImVycm9yIil9fX07bW4oW3NsKCldLG1yLnByb3RvdHlwZSwiYWN0aXZlQ2hhaW5JZCIsMiksbXI9bW4oW3NpKCJ3M20tbmV0d29yay1jb250ZXh0IildLG1yKTt2YXIgbWk9T2JqZWN0LmRlZmluZVByb3BlcnR5LG1vPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IG1hPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudW5zdWJzY3JpYmVUaGVtZT12b2lkIDAscHcuc2V0VGhlbWUoKSx0aGlzLnVuc3Vic2NyaWJlVGhlbWU9dFMuc3Vic2NyaWJlKHB3LnNldFRoZW1lKSx0aGlzLnByZWxvYWRUaGVtZUltYWdlcygpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bnN1YnNjcmliZVRoZW1lKXx8ZS5jYWxsKHRoaXMpfWFzeW5jIHByZWxvYWRUaGVtZUltYWdlcygpe3RyeXtsZXR7dGhlbWVWYXJpYWJsZXM6ZX09dFMuc3RhdGUsdD1bZT8uWyItLXczbS1iYWNrZ3JvdW5kLWltYWdlLXVybCJdLGU/LlsiLS13M20tbG9nby1pbWFnZS11cmwiXV0uZmlsdGVyKEJvb2xlYW4pO3QubGVuZ3RoJiZhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChhc3luYyBlPT5nZS5wcmVsb2FkSW1hZ2UoZSkpKX1jYXRjaHtjb25zb2xlLmluZm8oIlVuc3VjY2Vzc2Z1bCBhdHRlbXB0IGF0IHByZWxvYWRpbmcgc29tZSBpbWFnZXMiKX19fTttYT0oKGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP21vKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmbWkodCxuLG8pLG99KShbc2koInczbS10aGVtZS1jb250ZXh0IildLG1hKTt2YXIgbXM9T2JqZWN0LmRlZmluZVByb3BlcnR5LG1sPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IG0kPTE4ZTQsbWM9MWUzLG1oPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudW53YXRjaE9wdGlvbnM9dm9pZCAwLHRoaXMudW53YXRjaEFjY291bnQ9dm9pZCAwLHRoaXMudGltZW91dD12b2lkIDAsdGhpcy5pc0dlbmVyYXRlZD0hMSx0aGlzLnNlbGVjdGVkQ2hhaW5JZD1udWxsPT0oUz10dS5zdGF0ZS5zZWxlY3RlZENoYWluKT92b2lkIDA6Uy5pZCx0aGlzLmlzQWNjb3VudENvbm5lY3RlZD10cC5zdGF0ZS5pc0Nvbm5lY3RlZCx0aGlzLmxhc3RSZXRyeT1EYXRlLm5vdygpLHRoaXMudW53YXRjaE9wdGlvbnM9dHUuc3Vic2NyaWJlKGU9Pnt2YXIgdCxuOyhudWxsPT0odD1lLnNlbGVjdGVkQ2hhaW4pP3ZvaWQgMDp0LmlkKSE9PXRoaXMuc2VsZWN0ZWRDaGFpbklkJiYodGhpcy5zZWxlY3RlZENoYWluSWQ9bnVsbD09KG49ZS5zZWxlY3RlZENoYWluKT92b2lkIDA6bi5pZCx0aGlzLmNvbm5lY3RBbmRXYWl0KCkpfSksdGhpcy51bndhdGNoQWNjb3VudD10cC5zdWJzY3JpYmUoZT0+e3RoaXMuaXNBY2NvdW50Q29ubmVjdGVkPT09ZS5pc0Nvbm5lY3RlZCYmdGhpcy5pc0dlbmVyYXRlZHx8KHRoaXMuaXNBY2NvdW50Q29ubmVjdGVkPWUuaXNDb25uZWN0ZWQsc2V0VGltZW91dCh0aGlzLmNvbm5lY3RBbmRXYWl0LmJpbmQodGhpcyksMCkpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdGhpcy5vblZpc2liaWxpdHlDaGFuZ2UuYmluZCh0aGlzKSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZSx0O251bGw9PShlPXRoaXMudW53YXRjaE9wdGlvbnMpfHxlLmNhbGwodGhpcyksbnVsbD09KHQ9dGhpcy51bndhdGNoQWNjb3VudCl8fHQuY2FsbCh0aGlzKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLm9uVmlzaWJpbGl0eUNoYW5nZSl9YXN5bmMgY29ubmVjdEFuZFdhaXQoKXtpZihjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSwhdGhpcy5pc0FjY291bnRDb25uZWN0ZWQpe3RoaXMuaXNHZW5lcmF0ZWQ9ITAsdGhpcy50aW1lb3V0PXNldFRpbWVvdXQodGhpcy5jb25uZWN0QW5kV2FpdC5iaW5kKHRoaXMpLG0kKTt0cnl7bGV0e3N0YW5kYWxvbmVVcmk6ZSxzZWxlY3RlZENoYWluOnR9PXR1LnN0YXRlO2U/dDUuc2V0UGFpcmluZ1VyaShlKTphd2FpdCB0aS5jbGllbnQoKS5jb25uZWN0V2FsbGV0Q29ubmVjdChlPT50NS5zZXRQYWlyaW5nVXJpKGUpLHQ/LmlkKX1jYXRjaChuKXtjb25zb2xlLmVycm9yKG4pLHQ1LnNldFBhaXJpbmdFcnJvcighMCksdE4ub3BlblRvYXN0KCJDb25uZWN0aW9uIHJlcXVlc3QgZGVjbGluZWQiLCJlcnJvciIpLERhdGUubm93KCktdGhpcy5sYXN0UmV0cnk+PW1jJiYodGhpcy5sYXN0UmV0cnk9RGF0ZS5ub3coKSx0aGlzLmNvbm5lY3RBbmRXYWl0KCkpfX19b25WaXNpYmlsaXR5Q2hhbmdlKCl7IWRvY3VtZW50LmhpZGRlbiYmdHMuaXNNb2JpbGUoKSYmc2V0VGltZW91dCh0aGlzLmNvbm5lY3RBbmRXYWl0LmJpbmQodGhpcyksbWMpfX07bWg9KChlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9tbCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJm1zKHQsbixvKSxvfSkoW3NpKCJ3M20td2MtY29ubmVjdGlvbi1jb250ZXh0IildLG1oKTtsZXQgbXU9YV9gOmhvc3R7YWxsOmluaXRpYWx9ZGl2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpO2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtwYWRkaW5nOjRweCA0cHggNHB4IDhweH1kaXYgYnV0dG9ue2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXNlY29uZGFyeS1idXR0b24tYm9yZGVyLXJhZGl1cyk7cGFkZGluZzo0cHggOHB4O3BhZGRpbmctbGVmdDo0cHg7aGVpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6MTBweDtjb2xvcjp2YXIoLS13M20tYWNjZW50LWZpbGwtY29sb3IpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9LnczbS1uby1hdmF0YXJ7cGFkZGluZy1sZWZ0OjhweH1idXR0b246OmFmdGVye2NvbnRlbnQ6Jyc7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOmluaGVyaXQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWJ1dHRvbjpob3Zlcjo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9dzNtLWF2YXRhcnttYXJnaW4tcmlnaHQ6NnB4fXczbS1idXR0b24tYmlnIHczbS1hdmF0YXJ7bWFyZ2luLWxlZnQ6LTVweH1gO3ZhciBtZD1PYmplY3QuZGVmaW5lUHJvcGVydHksbV89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixtZj0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/bV8odCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZtZCh0LG4sbyksb307bGV0IG1wPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuYmFsYW5jZT0iaGlkZSIsdGhpcy5hdmF0YXI9InNob3ciLGdlLnJlamVjdFN0YW5kYWxvbmVCdXR0b25Db21wb25lbnQoKX1vbk9wZW4oKXtsZXR7aXNTdGFuZGFsb25lOmV9PXR1LnN0YXRlO2V8fCh0Yy5jbGljayh7bmFtZToiQUNDT1VOVF9CVVRUT04ifSksdDcub3Blbih7cm91dGU6IkFjY291bnQifSkpfWFjY291bnRUZW1wbGF0ZSgpe2xldCBlPSJzaG93Ij09PXRoaXMuYXZhdGFyO3JldHVybiBhUmAke2U/YVJgPHczbS1hdmF0YXI+PC93M20tYXZhdGFyPmA6bnVsbH08dzNtLWFkZHJlc3MtdGV4dD48L3czbS1hZGRyZXNzLXRleHQ+YH1yZW5kZXIoKXtsZXQgZT0ic2hvdyI9PT10aGlzLmJhbGFuY2UsdD17InczbS1uby1hdmF0YXIiOiJoaWRlIj09PXRoaXMuYXZhdGFyfTtyZXR1cm4gZT9hUmA8ZGl2Pjx3M20tYmFsYW5jZT48L3czbS1iYWxhbmNlPjxidXR0b24gQGNsaWNrPSIke3RoaXMub25PcGVufSIgY2xhc3M9IiR7c2godCl9Ij4ke3RoaXMuYWNjb3VudFRlbXBsYXRlKCl9PC9idXR0b24+PC9kaXY+YDphUmA8dzNtLWJ1dHRvbi1iaWcgQGNsaWNrPSIke3RoaXMub25PcGVufSI+JHt0aGlzLmFjY291bnRUZW1wbGF0ZSgpfTwvdzNtLWJ1dHRvbi1iaWc+YH19O21wLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLG11XSxtZihbc3MoKV0sbXAucHJvdG90eXBlLCJiYWxhbmNlIiwyKSxtZihbc3MoKV0sbXAucHJvdG90eXBlLCJhdmF0YXIiLDIpLG1wPW1mKFtzaSgidzNtLWFjY291bnQtYnV0dG9uIildLG1wKTtsZXQgbTE9YV9gYnV0dG9ue2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOnZhcigtLXczbS1idXR0b24taG92ZXItaGlnaGxpZ2h0LWJvcmRlci1yYWRpdXMpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4O3dpZHRoOjEwMHB4fWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9QG1lZGlhKGhvdmVyOmhvdmVyKXtidXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9fWJ1dHRvbjpkaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfXczbS1uZXR3b3JrLWltYWdle3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9dzNtLXRleHR7bWFyZ2luLXRvcDo0cHh9YDt2YXIgbTA9T2JqZWN0LmRlZmluZVByb3BlcnR5LG1nPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsbW09KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP21nKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmbTAodCxuLG8pLG99O2xldCBtMz1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmNoYWluSWQ9MCx0aGlzLmxhYmVsPSIiLHRoaXMudW5zdWJzY3JpYmVOZXR3b3JrPXZvaWQgMDtsZXR7c2VsZWN0ZWRDaGFpbjplfT10dS5zdGF0ZTt0aGlzLmNoYWluSWQ9ZT8uaWQsdGhpcy5sYWJlbD1lPy5uYW1lLHRoaXMudW5zdWJzY3JpYmVOZXR3b3JrPXR1LnN1YnNjcmliZSgoe3NlbGVjdGVkQ2hhaW46ZX0pPT57dGhpcy5jaGFpbklkPWU/LmlkLHRoaXMubGFiZWw9ZT8ubmFtZX0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bnN1YnNjcmliZU5ldHdvcmspfHxlLmNhbGwodGhpcyl9b25DbGljaygpe3RhLnB1c2goIlNlbGVjdE5ldHdvcmsiKX1yZW5kZXIoKXtsZXR7Y2hhaW5zOmUsc2VsZWN0ZWRDaGFpbjp0fT10dS5zdGF0ZSxuPWU/Lm1hcChlPT5lLmlkKSxyPXQmJm4/LmluY2x1ZGVzKHQuaWQpLGk9ZSYmZS5sZW5ndGg8PTEmJnI7cmV0dXJuIGFSYDxidXR0b24gQGNsaWNrPSIke3RoaXMub25DbGlja30iID9kaXNhYmxlZD0iJHtpfSI+PHczbS1uZXR3b3JrLWltYWdlIGNoYWluSWQ9IiR7dGhpcy5jaGFpbklkfSI+PC93M20tbmV0d29yay1pbWFnZT48dzNtLXRleHQgdmFyaWFudD0ieHNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJhY2NlbnQiPiR7dGhpcy5sYWJlbH08L3czbS10ZXh0PjwvYnV0dG9uPmB9fTttMy5zdHlsZXM9W3B3Lmdsb2JhbENzcyxtMV0sbW0oW3NsKCldLG0zLnByb3RvdHlwZSwiY2hhaW5JZCIsMiksbW0oW3NsKCldLG0zLnByb3RvdHlwZSwibGFiZWwiLDIpLG0zPW1tKFtzaSgidzNtLWFjY291bnQtbmV0d29yay1idXR0b24iKV0sbTMpO2xldCBtdz1hX2BAa2V5ZnJhbWVzIHNsaWRlezAle2JhY2tncm91bmQtcG9zaXRpb246MCAwfTEwMCV7YmFja2dyb3VuZC1wb3NpdGlvbjoyMDBweCAwfX13M20tdGV4dHtwYWRkaW5nOjFweCAwfS53M20tbG9hZGluZ3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsdmFyKC0tdzNtLWNvbG9yLWZnLTEpIDM2LjMzJSx2YXIoLS13M20tY29sb3ItZmctMykgNDIuMDclLHZhcigtLXczbS1jb2xvci1mZy0xKSA4My4zJSk7YmFja2dyb3VuZC1zaXplOjIwMHB4IDEwMCU7YmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudDthbmltYXRpb24tbmFtZTpzbGlkZTthbmltYXRpb24tZHVyYXRpb246MS41czthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfWA7dmFyIG12PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxtMj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG00PShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9tMih0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJm12KHQsbixvKSxvfTtsZXQgbWI9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5hZGRyZXNzPXZvaWQgMCx0aGlzLm5hbWU9dm9pZCAwLHRoaXMubG9hZGluZz0hMCx0aGlzLnZhcmlhbnQ9ImJ1dHRvbiIsdGhpcy51bnN1YnNjcmliZUFjY291bnQ9dm9pZCAwLHRoaXMuYWRkcmVzcz10cC5zdGF0ZS5hZGRyZXNzLHRoaXMubmFtZT10cC5zdGF0ZS5wcm9maWxlTmFtZSx0aGlzLmxvYWRpbmc9ISF0cC5zdGF0ZS5wcm9maWxlTG9hZGluZyx0aGlzLnVuc3Vic2NyaWJlQWNjb3VudD10cC5zdWJzY3JpYmUoKHthZGRyZXNzOmUscHJvZmlsZU5hbWU6dCxwcm9maWxlTG9hZGluZzpufSk9Pnt0aGlzLmFkZHJlc3M9ZSx0aGlzLm5hbWU9dCx0aGlzLmxvYWRpbmc9ISFufSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTtudWxsPT0oZT10aGlzLnVuc3Vic2NyaWJlQWNjb3VudCl8fGUuY2FsbCh0aGlzKX1yZW5kZXIoKXt2YXIgZTtsZXQgdD0iYnV0dG9uIj09PXRoaXMudmFyaWFudCxuPXsidzNtLWxvYWRpbmciOnRoaXMubG9hZGluZ307cmV0dXJuIGFSYDx3M20tdGV4dCBjbGFzcz0iJHtzaChuKX0iIHZhcmlhbnQ9IiR7dD8ibWVkaXVtLXJlZ3VsYXIiOiJiaWctYm9sZCJ9IiBjb2xvcj0iJHt0PyJpbnZlcnNlIjoicHJpbWFyeSJ9Ij4ke3RoaXMubmFtZT90aGlzLm5hbWU6Z2UudHJ1bmNhdGUobnVsbCE9KGU9dGhpcy5hZGRyZXNzKT9lOiIiKX08L3czbS10ZXh0PmB9fTttYi5zdHlsZXM9W3B3Lmdsb2JhbENzcyxtd10sbTQoW3NsKCldLG1iLnByb3RvdHlwZSwiYWRkcmVzcyIsMiksbTQoW3NsKCldLG1iLnByb3RvdHlwZSwibmFtZSIsMiksbTQoW3NsKCldLG1iLnByb3RvdHlwZSwibG9hZGluZyIsMiksbTQoW3NzKCldLG1iLnByb3RvdHlwZSwidmFyaWFudCIsMiksbWI9bTQoW3NpKCJ3M20tYWRkcmVzcy10ZXh0IildLG1iKTtsZXQgbTg9e29uQ29ubmVjdGluZyhlKXtnZS5nb1RvQ29ubmVjdGluZ1ZpZXcoZSl9LG9uRXh0ZXJuYWwoZSl7Z2UuaGFuZGxlQ29ubmVjdG9yQ29ubmVjdGlvbihlKX0sbWFudWFsV2FsbGV0c1RlbXBsYXRlKCl7cmV0dXJuIHBKLm1hbnVhbFdhbGxldHMoKS5tYXAoZT0+YVJgPHczbS13YWxsZXQtYnV0dG9uIHdhbGxldElkPSIke2UuaWR9IiBuYW1lPSIke2UubmFtZX0iIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uQ29ubmVjdGluZyhlKX0iPjwvdzNtLXdhbGxldC1idXR0b24+YCl9LHJlY29tZW5kZWRXYWxsZXRzVGVtcGxhdGUoZT0hMSl7cmV0dXJuIHBKLnJlY29tZW5kZWRXYWxsZXRzKGUpLm1hcChlPT5hUmA8dzNtLXdhbGxldC1idXR0b24gd2FsbGV0SWQ9IiR7ZS5pZH0iIGltYWdlSWQ9IiR7ZS5pbWFnZV9pZH0iIG5hbWU9IiR7ZS5uYW1lfSIgLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25Db25uZWN0aW5nKGUpfSI+PC93M20td2FsbGV0LWJ1dHRvbj5gKX0sZXh0ZXJuYWxXYWxsZXRzVGVtcGxhdGUoKXtyZXR1cm4gcEouZXh0ZXJuYWxXYWxsZXRzKCkubWFwKGU9PmFSYDx3M20td2FsbGV0LWJ1dHRvbiBuYW1lPSIke2UubmFtZX0iIHdhbGxldElkPSIke2UuaWR9IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkV4dGVybmFsKGUuaWQpfSI+PC93M20td2FsbGV0LWJ1dHRvbj5gKX0scmVjZW50V2FsbGV0VGVtcGxhdGUoKXtsZXQgZT1wSi5yZWNlbnRXYWxsZXQoKTtpZihlKXJldHVybiBhUmA8dzNtLXdhbGxldC1idXR0b24gbmFtZT0iJHtlLm5hbWV9IiB3YWxsZXRJZD0iJHtlLmlkfSIgaW1hZ2VJZD0iJHtlLmltYWdlX2lkfSIgLnJlY2VudD0iJHshMH0iIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uQ29ubmVjdGluZyhlKX0iPjwvdzNtLXdhbGxldC1idXR0b24+YH0saW5zdGFsbGVkSW5qZWN0ZWRXYWxsZXRzVGVtcGxhdGUoKXtyZXR1cm4gcEouaW5zdGFsbGVkSW5qZWN0ZWRXYWxsZXRzKCkubWFwKGU9PmFSYDx3M20td2FsbGV0LWJ1dHRvbiAuaW5zdGFsbGVkPSIkeyEwfSIgbmFtZT0iJHtlLm5hbWV9IiB3YWxsZXRJZD0iJHtlLmlkfSIgaW1hZ2VJZD0iJHtlLmltYWdlX2lkfSIgLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25Db25uZWN0aW5nKGUpfSI+PC93M20td2FsbGV0LWJ1dHRvbj5gKX0saW5qZWN0ZWRXYWxsZXRzVGVtcGxhdGUoKXtyZXR1cm4gcEouaW5qZWN0ZWRXYWxsZXRzKCkubWFwKGU9PmFSYDx3M20td2FsbGV0LWJ1dHRvbiBuYW1lPSIke2UubmFtZX0iIHdhbGxldElkPSIke2UuaWR9IiBpbWFnZUlkPSIke2UuaW1hZ2VfaWR9IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkNvbm5lY3RpbmcoZSl9Ij48L3czbS13YWxsZXQtYnV0dG9uPmApfX0sbTY9YV9gQGtleWZyYW1lcyBzY3JvbGx7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZChjYWxjKC03MHB4ICogOSksMCwwKX19LnczbS1zbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3cteDpoaWRkZW47cGFkZGluZzoxMHB4IDA7bWFyZ2luOjAgLTIwcHg7d2lkdGg6Y2FsYygxMDAlICsgNDBweCl9LnczbS10cmFja3tkaXNwbGF5OmZsZXg7d2lkdGg6Y2FsYyg3MHB4ICogMTgpO2FuaW1hdGlvbjpzY3JvbGwgMjBzIGxpbmVhciBpbmZpbml0ZTtvcGFjaXR5Oi43fS53M20tdHJhY2sgc3Zne21hcmdpbjowIDVweH13M20td2FsbGV0LWltYWdle3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luOjAgNXB4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXMpfS53M20tZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDgwcHgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS53M20tdGl0bGV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjEwcHh9LnczbS10aXRsZSBzdmd7bWFyZ2luLXJpZ2h0OjZweH0udzNtLXRpdGxlIHBhdGh7ZmlsbDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX13M20tbW9kYWwtZm9vdGVyIC53M20tdGl0bGV7cGFkZGluZzowIDEwcHh9dzNtLWJ1dHRvbi1iaWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMTdweCB2YXIoLS13M20tY29sb3ItYmctMSkpfXczbS1pbmZvLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO3BhZGRpbmc6NXB4IDB9dzNtLWluZm8tZm9vdGVyIHczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206MTVweH0jd2FsbGV0LXBsYWNlaG9sZGVyLWZpbGx7ZmlsbDp2YXIoLS13M20tY29sb3ItYmctMyl9I3dhbGxldC1wbGFjZWhvbGRlci1kYXNoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YDt2YXIgbXk9T2JqZWN0LmRlZmluZVByb3BlcnR5LG01PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IG14PWNsYXNzIGV4dGVuZHMgc257b25Hb1RvUXJjb2RlKCl7dGEucHVzaCgiUXJjb2RlIil9b25HZXRXYWxsZXQoKXt0YS5wdXNoKCJHZXRXYWxsZXQiKX1yZW5kZXIoKXtsZXR7cmVjb21lbmRlZFdhbGxldHM6ZX09dDYuc3RhdGUsdD1bLi4uZSwuLi5lXSxuPW04LmV4dGVybmFsV2FsbGV0c1RlbXBsYXRlKCkscj1tOC5pbnN0YWxsZWRJbmplY3RlZFdhbGxldHNUZW1wbGF0ZSgpLGk9Wy4uLnIsLi4ubl0ubGVuZ3RoPjAsbz0yKnRzLlJFQ09NTUVOREVEX1dBTExFVF9BTU9VTlQ7cmV0dXJuIGFSYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSJDb25uZWN0IHlvdXIgd2FsbGV0IiAub25BY3Rpb249IiR7dGhpcy5vbkdvVG9RcmNvZGV9IiAuYWN0aW9uSWNvbj0iJHtwTi5RUkNPREVfSUNPTn0iPjwvdzNtLW1vZGFsLWhlYWRlcj48dzNtLW1vZGFsLWNvbnRlbnQ+PGRpdiBjbGFzcz0idzNtLXRpdGxlIj4ke3BOLk1PQklMRV9JQ09OfTx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC1yZWd1bGFyIiBjb2xvcj0iYWNjZW50Ij5XYWxsZXRDb25uZWN0PC93M20tdGV4dD48L2Rpdj48ZGl2IGNsYXNzPSJ3M20tc2xpZGVyIj48ZGl2IGNsYXNzPSJ3M20tdHJhY2siPiR7Wy4uLkFycmF5KG8pXS5tYXAoKGUsbik9PntsZXQgcj10W24ldC5sZW5ndGhdO3JldHVybiByP2FSYDx3M20td2FsbGV0LWltYWdlIHdhbGxldElkPSIke3IuaWR9IiBpbWFnZUlkPSIke3IuaW1hZ2VfaWR9Ij48L3czbS13YWxsZXQtaW1hZ2U+YDpwTi5XQUxMRVRfUExBQ0VIT0xERVJ9KX08L2Rpdj48dzNtLWJ1dHRvbi1iaWcgQGNsaWNrPSIke2dlLmhhbmRsZUFuZHJvaWRMaW5raW5nfSI+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIiBjb2xvcj0iaW52ZXJzZSI+U2VsZWN0IFdhbGxldDwvdzNtLXRleHQ+PC93M20tYnV0dG9uLWJpZz48L2Rpdj48L3czbS1tb2RhbC1jb250ZW50PiR7aT9hUmA8dzNtLW1vZGFsLWZvb3Rlcj48ZGl2IGNsYXNzPSJ3M20tdGl0bGUiPiR7cE4uV0FMTEVUX0lDT059PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJhY2NlbnQiPk90aGVyPC93M20tdGV4dD48L2Rpdj48ZGl2IGNsYXNzPSJ3M20tZ3JpZCI+JHtyfSAke259PC9kaXY+PC93M20tbW9kYWwtZm9vdGVyPmA6bnVsbH08dzNtLWluZm8tZm9vdGVyPjx3M20tdGV4dCBjb2xvcj0ic2Vjb25kYXJ5IiB2YXJpYW50PSJzbWFsbC10aGluIj4ke2BDaG9vc2UgV2FsbGV0Q29ubmVjdCB0byBzZWUgc3VwcG9ydGVkIGFwcHMgb24geW91ciBkZXZpY2Uke2k/Iiwgb3Igc2VsZWN0IGZyb20gb3RoZXIgb3B0aW9ucyI6IiJ9YH08L3czbS10ZXh0Pjx3M20tYnV0dG9uIHZhcmlhbnQ9Im91dGxpbmUiIC5pY29uUmlnaHQ9IiR7cE4uQVJST1dfVVBfUklHSFRfSUNPTn0iIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uR2V0V2FsbGV0KCl9Ij5JIGRvbid0IGhhdmUgYSB3YWxsZXQ8L3czbS1idXR0b24+PC93M20taW5mby1mb290ZXI+YH19O214LnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLG02XSxteD0oKGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP201KHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmbXkodCxuLG8pLG99KShbc2koInczbS1hbmRyb2lkLXdhbGxldC1zZWxlY3Rpb24iKV0sbXgpO2xldCBtNz1hX2BAa2V5ZnJhbWVzIHNsaWRlezAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MHB4KX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMHB4KX19LnczbS1wbGFjZWhvbGRlcixpbWd7Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1hdi0xKTtiYWNrZ3JvdW5kLWltYWdlOnJhZGlhbC1ncmFkaWVudChhdCA2NiUgNzclLHZhcigtLXczbS1jb2xvci1hdi0yKSAwLHRyYW5zcGFyZW50IDUwJSkscmFkaWFsLWdyYWRpZW50KGF0IDI5JSA5NyUsdmFyKC0tdzNtLWNvbG9yLWF2LTMpIDAsdHJhbnNwYXJlbnQgNTAlKSxyYWRpYWwtZ3JhZGllbnQoYXQgOTklIDg2JSx2YXIoLS13M20tY29sb3ItYXYtNCkgMCx0cmFuc3BhcmVudCA1MCUpLHJhZGlhbC1ncmFkaWVudChhdCAyOSUgODglLHZhcigtLXczbS1jb2xvci1hdi01KSAwLHRyYW5zcGFyZW50IDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnczbS1sb2FkZXJ7d2lkdGg6NTBweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDI1NSwyNTUsMjU1LC40KSAzMCUsdHJhbnNwYXJlbnQgMTAwJSk7YW5pbWF0aW9uLW5hbWU6c2xpZGU7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNXM7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwcHgpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLWRlbGF5Oi41NXN9LnczbS1zbWFsbHt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS53M20tbWVkaXVte3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHh9YDt2YXIgbUU9T2JqZWN0LmRlZmluZVByb3BlcnR5LG1DPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsbUQ9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP21DKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmbUUodCxuLG8pLG99O2xldCBtaz1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmFkZHJlc3M9dm9pZCAwLHRoaXMuYXZhdGFyPXZvaWQgMCx0aGlzLmxvYWRpbmc9ITAsdGhpcy5zaXplPSJzbWFsbCIsdGhpcy51bnN1YnNjcmliZUFjY291bnQ9dm9pZCAwLHRoaXMuYWRkcmVzcz10cC5zdGF0ZS5hZGRyZXNzLHRoaXMuYXZhdGFyPXRwLnN0YXRlLnByb2ZpbGVBdmF0YXIsdGhpcy5sb2FkaW5nPSEhdHAuc3RhdGUucHJvZmlsZUxvYWRpbmcsdGhpcy51bnN1YnNjcmliZUFjY291bnQ9dHAuc3Vic2NyaWJlKCh7YWRkcmVzczplLHByb2ZpbGVBdmF0YXI6dCxwcm9maWxlTG9hZGluZzpufSk9Pnt0aGlzLmFkZHJlc3M9ZSx0aGlzLmF2YXRhcj10LHRoaXMubG9hZGluZz0hIW59KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlO251bGw9PShlPXRoaXMudW5zdWJzY3JpYmVBY2NvdW50KXx8ZS5jYWxsKHRoaXMpfXJlbmRlcigpe2xldCBlPXsidzNtLXBsYWNlaG9sZGVyIjohMCwidzNtLXNtYWxsIjoic21hbGwiPT09dGhpcy5zaXplLCJ3M20tbWVkaXVtIjoibWVkaXVtIj09PXRoaXMuc2l6ZX07cmV0dXJuIHRoaXMuYXZhdGFyP2FSYDxpbWcgY2xhc3M9IiR7c2goZSl9IiBzcmM9IiR7dGhpcy5hdmF0YXJ9Ij5gOnRoaXMuYWRkcmVzcz8oZ2UuZ2VuZXJhdGVBdmF0YXJDb2xvcnModGhpcy5hZGRyZXNzKSxhUmA8ZGl2IGNsYXNzPSIke3NoKGUpfSI+JHt0aGlzLmxvYWRpbmc/YVJgPGRpdiBjbGFzcz0idzNtLWxvYWRlciI+PC9kaXY+YDpudWxsfTwvZGl2PmApOm51bGx9fTttay5zdHlsZXM9W3B3Lmdsb2JhbENzcyxtN10sbUQoW3NsKCldLG1rLnByb3RvdHlwZSwiYWRkcmVzcyIsMiksbUQoW3NsKCldLG1rLnByb3RvdHlwZSwiYXZhdGFyIiwyKSxtRChbc2woKV0sbWsucHJvdG90eXBlLCJsb2FkaW5nIiwyKSxtRChbc3MoKV0sbWsucHJvdG90eXBlLCJzaXplIiwyKSxtaz1tRChbc2koInczbS1hdmF0YXIiKV0sbWspO2xldCBtQT1hX2BkaXZ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn13M20tdG9rZW4taW1hZ2V7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDttYXJnaW4tcmlnaHQ6NnB4fWA7dmFyIG1JPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxtVD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG1TPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9tVCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJm1JKHQsbixvKSxvfTtsZXQgbUw9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3ZhciBlLHQ7c3VwZXIoKSx0aGlzLnN5bWJvbD12b2lkIDAsdGhpcy5hbW91bnQ9dm9pZCAwLHRoaXMudW5zdWJzY3JpYmVBY2NvdW50PXZvaWQgMCx0aGlzLnN5bWJvbD1udWxsPT0oZT10cC5zdGF0ZS5iYWxhbmNlKT92b2lkIDA6ZS5zeW1ib2wsdGhpcy5hbW91bnQ9bnVsbD09KHQ9dHAuc3RhdGUuYmFsYW5jZSk/dm9pZCAwOnQuYW1vdW50LHRoaXMudW5zdWJzY3JpYmVBY2NvdW50PXRwLnN1YnNjcmliZSgoe2JhbGFuY2U6ZX0pPT57dGhpcy5zeW1ib2w9ZT8uc3ltYm9sLHRoaXMuYW1vdW50PWU/LmFtb3VudH0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bnN1YnNjcmliZUFjY291bnQpfHxlLmNhbGwodGhpcyl9cmVuZGVyKCl7bGV0IGU9Il8uXyI7cmV0dXJuIjAuMCI9PT10aGlzLmFtb3VudD9lPTA6InN0cmluZyI9PXR5cGVvZiB0aGlzLmFtb3VudCYmdGhpcy5hbW91bnQubGVuZ3RoPjY/ZT1wYXJzZUZsb2F0KHRoaXMuYW1vdW50KS50b0ZpeGVkKDMpOiJzdHJpbmciPT10eXBlb2YgdGhpcy5hbW91bnQmJihlPXBhcnNlRmxvYXQodGhpcy5hbW91bnQpKSxhUmA8ZGl2Pjx3M20tdG9rZW4taW1hZ2Ugc3ltYm9sPSIke3RoaXMuc3ltYm9sfSI+PC93M20tdG9rZW4taW1hZ2U+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIiBjb2xvcj0icHJpbWFyeSI+JHtlfSAke3RoaXMuc3ltYm9sfTwvdzNtLXRleHQ+PC9kaXY+YH19O21MLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLG1BXSxtUyhbc2woKV0sbUwucHJvdG90eXBlLCJzeW1ib2wiLDIpLG1TKFtzbCgpXSxtTC5wcm90b3R5cGUsImFtb3VudCIsMiksbUw9bVMoW3NpKCJ3M20tYmFsYW5jZSIpXSxtTCk7bGV0IG1OPWFfYDpob3N0e2FsbDppbml0aWFsfXN2Z3t3aWR0aDoyOHB4O2hlaWdodDoyMHB4O21hcmdpbjotMXB4IDNweCAwIC01cHh9c3ZnIHBhdGh7ZmlsbDp2YXIoLS13M20tYWNjZW50LWZpbGwtY29sb3IpfWJ1dHRvbjpkaXNhYmxlZCBzdmcgcGF0aHtmaWxsOnZhcigtLXczbS1jb2xvci1mZy0zKX13M20tc3Bpbm5lcnttYXJnaW46MCAxMHB4IDAgMH1gO3ZhciBtTz1PYmplY3QuZGVmaW5lUHJvcGVydHksbU09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixtUD0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/bU0odCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZtTyh0LG4sbyksb307bGV0IG05PWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMubG9hZGluZz0hMSx0aGlzLmxhYmVsPSJDb25uZWN0IFdhbGxldCIsdGhpcy5pY29uPSJzaG93Iix0aGlzLm1vZGFsVW5zdWI9dm9pZCAwLGdlLnJlamVjdFN0YW5kYWxvbmVCdXR0b25Db21wb25lbnQoKSx0aGlzLm1vZGFsVW5zdWI9dDcuc3Vic2NyaWJlKGU9PntlLm9wZW4mJih0aGlzLmxvYWRpbmc9ITApLGUub3Blbnx8KHRoaXMubG9hZGluZz0hMSl9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlO251bGw9PShlPXRoaXMubW9kYWxVbnN1Yil8fGUuY2FsbCh0aGlzKX1pY29uVGVtcGxhdGUoKXtyZXR1cm4ic2hvdyI9PT10aGlzLmljb24/cE4uV0FMTEVUX0NPTk5FQ1RfSUNPTjpudWxsfW9uQ2xpY2soKXt0cC5zdGF0ZS5pc0Nvbm5lY3RlZD90aGlzLm9uRGlzY29ubmVjdCgpOnRoaXMub25Db25uZWN0KCl9YXN5bmMgb25Db25uZWN0KCl7dGhpcy5sb2FkaW5nPSEwLHRjLmNsaWNrKHtuYW1lOiJDT05ORUNUX0JVVFRPTiJ9KSxhd2FpdCB0Ny5vcGVuKCksdDcuc3RhdGUub3Blbnx8KHRoaXMubG9hZGluZz0hMSl9YXN5bmMgb25EaXNjb25uZWN0KCl7dGMuY2xpY2soe25hbWU6IkRJU0NPTk5FQ1RfQlVUVE9OIn0pLGF3YWl0IHRpLmNsaWVudCgpLmRpc2Nvbm5lY3QoKX1yZW5kZXIoKXtyZXR1cm4gYVJgPHczbS1idXR0b24tYmlnIC5kaXNhYmxlZD0iJHt0aGlzLmxvYWRpbmd9IiBAY2xpY2s9IiR7dGhpcy5vbkNsaWNrfSI+JHt0aGlzLmxvYWRpbmc/YVJgPHczbS1zcGlubmVyPjwvdzNtLXNwaW5uZXI+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIiBjb2xvcj0iYWNjZW50Ij5Db25uZWN0aW5nLi4uPC93M20tdGV4dD5gOmFSYCR7dGhpcy5pY29uVGVtcGxhdGUoKX08dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiIGNvbG9yPSJpbnZlcnNlIj4ke3RoaXMubGFiZWx9PC93M20tdGV4dD5gfTwvdzNtLWJ1dHRvbi1iaWc+YH19O205LnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLG1OXSxtUChbc2woKV0sbTkucHJvdG90eXBlLCJsb2FkaW5nIiwyKSxtUChbc3MoKV0sbTkucHJvdG90eXBlLCJsYWJlbCIsMiksbVAoW3NzKCldLG05LnByb3RvdHlwZSwiaWNvbiIsMiksbTk9bVAoW3NpKCJ3M20tY29ubmVjdC1idXR0b24iKV0sbTkpO2xldCBtUj1hX2BAa2V5ZnJhbWVzIGxvYWRpbmd7dG97c3Ryb2tlLWRhc2hvZmZzZXQ6MH19QGtleWZyYW1lcyBzaGFrZXsxMCUsOTAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMXB4LDAsMCl9MjAlLDgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMXB4LDAsMCl9MzAlLDUwJSw3MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0ycHgsMCwwKX00MCUsNjAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgycHgsMCwwKX19Omhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXJ9ZGl2e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjExMHB4O2hlaWdodDoxMTBweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjQwcHggMCAyMHB4IDA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX1zdmd7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTEwcHg7aGVpZ2h0OjExMHB4O2ZpbGw6bm9uZTtzdHJva2U6dHJhbnNwYXJlbnQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLXdpZHRoOjJweDt0b3A6MDtsZWZ0OjB9dXNle3N0cm9rZTp2YXIoLS13M20tYWNjZW50LWNvbG9yKTthbmltYXRpb246bG9hZGluZyAxcyBsaW5lYXIgaW5maW5pdGV9dzNtLXdhbGxldC1pbWFnZXtib3JkZXItcmFkaXVzOnZhcigtLXczbS13YWxsZXQtaWNvbi1sYXJnZS1ib3JkZXItcmFkaXVzKTt3aWR0aDo5MHB4O2hlaWdodDo5MHB4fXczbS10ZXh0e21hcmdpbi1ib3R0b206NDBweH0udzNtLWVycm9yIHN2Z3tzdHJva2U6dmFyKC0tdzNtLWVycm9yLWNvbG9yKX0udzNtLWVycm9yIHVzZXtkaXNwbGF5Om5vbmV9LnczbS1lcnJvcnthbmltYXRpb246c2hha2UgLjRzIGN1YmljLWJlemllciguMzYsLjA3LC4xOSwuOTcpIGJvdGh9LnczbS1zdGFsZSBzdmcsLnczbS1zdGFsZSB1c2V7ZGlzcGxheTpub25lfWA7dmFyIG1VPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxtQj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG1XPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9tQih0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJm1VKHQsbixvKSxvfTtsZXQgbUY9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy53YWxsZXRJZD12b2lkIDAsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLmlzRXJyb3I9ITEsdGhpcy5pc1N0YWxlPSExLHRoaXMubGFiZWw9IiJ9c3ZnTG9hZGVyVGVtcGxhdGUoKXt2YXIgZSx0O2xldCBuPW51bGwhPSh0PW51bGw9PShlPXRTLnN0YXRlLnRoZW1lVmFyaWFibGVzKT92b2lkIDA6ZVsiLS13M20td2FsbGV0LWljb24tbGFyZ2UtYm9yZGVyLXJhZGl1cyJdKT90OnB3LmdldFByZXNldCgiLS13M20td2FsbGV0LWljb24tbGFyZ2UtYm9yZGVyLXJhZGl1cyIpLHI9MDtyPW4uaW5jbHVkZXMoIiUiKT8uODgqcGFyc2VJbnQobiwxMCk6cGFyc2VJbnQobiwxMCkscio9MS4xNztsZXQgaT0zMTctMS41NypyLG89NDI1LTEuOCpyO3JldHVybiBhUmA8c3ZnIHZpZXdCb3g9IjAgMCAxMTAgMTEwIiB3aWR0aD0iMTEwIiBoZWlnaHQ9IjExMCI+PHJlY3QgaWQ9InczbS1sb2FkZXIiIHg9IjIiIHk9IjIiIHdpZHRoPSIxMDYiIGhlaWdodD0iMTA2IiByeD0iJHtyfSIvPjx1c2UgeGxpbms6aHJlZj0iI3czbS1sb2FkZXIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwNiAke2l9IiBzdHJva2UtZGFzaG9mZnNldD0iJHtvfSI+PC91c2U+PC9zdmc+YH1yZW5kZXIoKXtsZXQgZT17InczbS1lcnJvciI6dGhpcy5pc0Vycm9yLCJ3M20tc3RhbGUiOnRoaXMuaXNTdGFsZX07cmV0dXJuIGFSYDxkaXYgY2xhc3M9IiR7c2goZSl9Ij4ke3RoaXMuc3ZnTG9hZGVyVGVtcGxhdGUoKX08dzNtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD0iJHt0aGlzLndhbGxldElkfSIgaW1hZ2VJZD0iJHt0aGlzLmltYWdlSWR9Ij48L3czbS13YWxsZXQtaW1hZ2U+PC9kaXY+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIiBjb2xvcj0iJHt0aGlzLmlzRXJyb3I/ImVycm9yIjoicHJpbWFyeSJ9Ij4ke3RoaXMuaXNFcnJvcj8iQ29ubmVjdGlvbiBkZWNsaW5lZCI6dGhpcy5sYWJlbH08L3czbS10ZXh0PmB9fTttRi5zdHlsZXM9W3B3Lmdsb2JhbENzcyxtUl0sbVcoW3NzKCldLG1GLnByb3RvdHlwZSwid2FsbGV0SWQiLDIpLG1XKFtzcygpXSxtRi5wcm90b3R5cGUsImltYWdlSWQiLDIpLG1XKFtzcygpXSxtRi5wcm90b3R5cGUsImlzRXJyb3IiLDIpLG1XKFtzcygpXSxtRi5wcm90b3R5cGUsImlzU3RhbGUiLDIpLG1XKFtzcygpXSxtRi5wcm90b3R5cGUsImxhYmVsIiwyKSxtRj1tVyhbc2koInczbS1jb25uZWN0b3Itd2FpdGluZyIpXSxtRik7dmFyIG16PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxtSD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG1qPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj9tSCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJm16KHQsbixvKSxvfTtsZXQgbVo9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5pc0Nvbm5lY3RlZD0hMSx0aGlzLmxhYmVsPSJDb25uZWN0IFdhbGxldCIsdGhpcy5pY29uPSJzaG93Iix0aGlzLmF2YXRhcj0ic2hvdyIsdGhpcy5iYWxhbmNlPSJoaWRlIix0aGlzLnVuc3Vic2NyaWJlQWNjb3VudD12b2lkIDAsZ2UucmVqZWN0U3RhbmRhbG9uZUJ1dHRvbkNvbXBvbmVudCgpLHRoaXMuaXNDb25uZWN0ZWQ9dHAuc3RhdGUuaXNDb25uZWN0ZWQsdGhpcy51bnN1YnNjcmliZUFjY291bnQ9dHAuc3Vic2NyaWJlKCh7aXNDb25uZWN0ZWQ6ZX0pPT57dGhpcy5pc0Nvbm5lY3RlZD1lfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTtudWxsPT0oZT10aGlzLnVuc3Vic2NyaWJlQWNjb3VudCl8fGUuY2FsbCh0aGlzKX1yZW5kZXIoKXtsZXR7ZW5hYmxlQWNjb3VudFZpZXc6ZX09dF8uc3RhdGUsdD10aGlzLmJhbGFuY2Usbj10aGlzLmxhYmVsLHI9dGhpcy5pY29uLGk9dGhpcy5hdmF0YXI7cmV0dXJuIHRoaXMuaXNDb25uZWN0ZWQmJmU/YVJgPHczbS1hY2NvdW50LWJ1dHRvbiBiYWxhbmNlPSIke3R9IiBhdmF0YXI9IiR7aX0iPjwvdzNtLWFjY291bnQtYnV0dG9uPmA6YVJgPHczbS1jb25uZWN0LWJ1dHRvbiBsYWJlbD0iJHt0aGlzLmlzQ29ubmVjdGVkPyJEaXNjb25uZWN0IjpufSIgaWNvbj0iJHtyfSI+PC93M20tY29ubmVjdC1idXR0b24+YH19O21qKFtzbCgpXSxtWi5wcm90b3R5cGUsImlzQ29ubmVjdGVkIiwyKSxtaihbc3MoKV0sbVoucHJvdG90eXBlLCJsYWJlbCIsMiksbWooW3NzKCldLG1aLnByb3RvdHlwZSwiaWNvbiIsMiksbWooW3NzKCldLG1aLnByb3RvdHlwZSwiYXZhdGFyIiwyKSxtaihbc3MoKV0sbVoucHJvdG90eXBlLCJiYWxhbmNlIiwyKSxtWj1taihbc2koInczbS1jb3JlLWJ1dHRvbiIpXSxtWik7bGV0IG1ZPWFfYC53M20tZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDgwcHgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS53M20tZGVza3RvcC10aXRsZSwudzNtLW1vYmlsZS10aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS53M20tbW9iaWxlLXRpdGxle2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tdG9wOi0xMHB4fS53M20tZGVza3RvcC10aXRsZXttYXJnaW4tYm90dG9tOjEwcHg7cGFkZGluZzowIDEwcHh9LnczbS1zdWJ0aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS53M20tc3VidGl0bGU6bGFzdC1jaGlsZCBwYXRoe2ZpbGw6dmFyKC0tdzNtLWNvbG9yLWZnLTMpfS53M20tZGVza3RvcC10aXRsZSBzdmcsLnczbS1tb2JpbGUtdGl0bGUgc3Zne21hcmdpbi1yaWdodDo2cHh9LnczbS1kZXNrdG9wLXRpdGxlIHBhdGgsLnczbS1tb2JpbGUtdGl0bGUgcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtY29sb3IpfWA7dmFyIG1WPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxtRz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2xldCBtSz1jbGFzcyBleHRlbmRzIHNue3JlbmRlcigpe2xldHtpc1N0YW5kYWxvbmU6ZX09dHUuc3RhdGUse2V4cGxvcmVyRXhjbHVkZWRXYWxsZXRJZHM6dCxlbmFibGVFeHBsb3JlcjpufT10Xy5zdGF0ZSxyPW04Lm1hbnVhbFdhbGxldHNUZW1wbGF0ZSgpLGk9bTgucmVjb21lbmRlZFdhbGxldHNUZW1wbGF0ZSgpLG89bTguZXh0ZXJuYWxXYWxsZXRzVGVtcGxhdGUoKSxhPW04LnJlY2VudFdhbGxldFRlbXBsYXRlKCkscz1tOC5pbnN0YWxsZWRJbmplY3RlZFdhbGxldHNUZW1wbGF0ZSgpLGw9W2EsLi4uciwuLi5pXTtlfHwobD1bLi4ucyxhLC4uLm8sLi4uciwuLi5pXSksbD1sLmZpbHRlcihCb29sZWFuKTtsZXQgJD1sLmxlbmd0aD40fHwiQUxMIiE9PXQmJm4sYz1bXTtjPSQ/bC5zbGljZSgwLDMpOmw7bGV0IGg9ISFjLmxlbmd0aDtyZXR1cm4gYVJgPHczbS1tb2RhbC1oZWFkZXIgLmJvcmRlcj0iJHshMH0iIHRpdGxlPSJDb25uZWN0IHlvdXIgd2FsbGV0IiAub25BY3Rpb249IiR7Z2UuaGFuZGxlVXJpQ29weX0iIC5hY3Rpb25JY29uPSIke3BOLkNPUFlfSUNPTn0iPjwvdzNtLW1vZGFsLWhlYWRlcj48dzNtLW1vZGFsLWNvbnRlbnQ+PGRpdiBjbGFzcz0idzNtLW1vYmlsZS10aXRsZSI+PGRpdiBjbGFzcz0idzNtLXN1YnRpdGxlIj4ke3BOLk1PQklMRV9JQ09OfTx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC1yZWd1bGFyIiBjb2xvcj0iYWNjZW50Ij5Nb2JpbGU8L3czbS10ZXh0PjwvZGl2PjxkaXYgY2xhc3M9InczbS1zdWJ0aXRsZSI+JHtwTi5TQ0FOX0lDT059PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJzZWNvbmRhcnkiPlNjYW4gd2l0aCB5b3VyIHdhbGxldDwvdzNtLXRleHQ+PC9kaXY+PC9kaXY+PHczbS13YWxsZXRjb25uZWN0LXFyPjwvdzNtLXdhbGxldGNvbm5lY3QtcXI+PC93M20tbW9kYWwtY29udGVudD4ke2g/YVJgPHczbS1tb2RhbC1mb290ZXI+PGRpdiBjbGFzcz0idzNtLWRlc2t0b3AtdGl0bGUiPiR7cE4uREVTS1RPUF9JQ09OfTx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC1yZWd1bGFyIiBjb2xvcj0iYWNjZW50Ij5EZXNrdG9wPC93M20tdGV4dD48L2Rpdj48ZGl2IGNsYXNzPSJ3M20tZ3JpZCI+JHtjfSAkeyQ/YVJgPHczbS12aWV3LWFsbC13YWxsZXRzLWJ1dHRvbj48L3czbS12aWV3LWFsbC13YWxsZXRzLWJ1dHRvbj5gOm51bGx9PC9kaXY+PC93M20tbW9kYWwtZm9vdGVyPmA6bnVsbH1gfX07bUsuc3R5bGVzPVtwdy5nbG9iYWxDc3MsbVldLG1LPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/bUcodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZtVih0LG4sbyksb30pKFtzaSgidzNtLWRlc2t0b3Atd2FsbGV0LXNlbGVjdGlvbiIpXSxtSyk7bGV0IG1xPWFfYGRpdntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0yKTtwYWRkaW5nOjEwcHggMjBweCAxNXB4IDIwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLWJnLTMpO3RleHQtYWxpZ246Y2VudGVyfWF7Y29sb3I6dmFyKC0tdzNtLWFjY2VudC1jb2xvcik7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtkaXNwbGF5OmlubGluZX1hOmFjdGl2ZXtvcGFjaXR5Oi44fUBtZWRpYShob3Zlcjpob3Zlcil7YTpob3ZlcntvcGFjaXR5Oi44fX1gO3ZhciBtUT1PYmplY3QuZGVmaW5lUHJvcGVydHksbVg9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtsZXQgbUo9Y2xhc3MgZXh0ZW5kcyBzbntyZW5kZXIoKXtsZXR7dGVybXNPZlNlcnZpY2VVcmw6ZSxwcml2YWN5UG9saWN5VXJsOnR9PXRfLnN0YXRlO3JldHVybiBlPz90P2FSYDxkaXY+PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJzZWNvbmRhcnkiPkJ5IGNvbm5lY3RpbmcgeW91ciB3YWxsZXQgdG8gdGhpcyBhcHAsIHlvdSBhZ3JlZSB0byB0aGUgYXBwJ3MgJHtlP2FSYDxhIGhyZWY9IiR7ZX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPlRlcm1zIG9mIFNlcnZpY2U8L2E+YDpudWxsfSAke2UmJnQ/ImFuZCI6bnVsbH0gJHt0P2FSYDxhIGhyZWY9IiR7dH0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPlByaXZhY3kgUG9saWN5PC9hPmA6bnVsbH08L3czbS10ZXh0PjwvZGl2PmA6bnVsbH19O21KLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLG1xXSxtSj0oKGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP21YKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmbVEodCxuLG8pLG99KShbc2koInczbS1sZWdhbC1ub3RpY2UiKV0sbUopO2xldCB3ZT1hX2BkaXZ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCw4MHB4KTttYXJnaW46MCAtMTBweDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtyb3ctZ2FwOjEwcHh9YDt2YXIgd3Q9T2JqZWN0LmRlZmluZVByb3BlcnR5LHduPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IHdyPWNsYXNzIGV4dGVuZHMgc257b25RcmNvZGUoKXt0YS5wdXNoKCJRcmNvZGUiKX1yZW5kZXIoKXtsZXR7aXNTdGFuZGFsb25lOmV9PXR1LnN0YXRlLHtleHBsb3JlckV4Y2x1ZGVkV2FsbGV0SWRzOnQsZW5hYmxlRXhwbG9yZXI6bn09dF8uc3RhdGUscj1tOC5tYW51YWxXYWxsZXRzVGVtcGxhdGUoKSxpPW04LnJlY29tZW5kZWRXYWxsZXRzVGVtcGxhdGUoKSxvPW04LmV4dGVybmFsV2FsbGV0c1RlbXBsYXRlKCksYT1tOC5yZWNlbnRXYWxsZXRUZW1wbGF0ZSgpLHM9bTguaW5zdGFsbGVkSW5qZWN0ZWRXYWxsZXRzVGVtcGxhdGUoKSxsPVthLC4uLnIsLi4uaV07ZXx8KGw9Wy4uLnMsYSwuLi5vLC4uLnIsLi4uaV0pLGw9bC5maWx0ZXIoQm9vbGVhbik7bGV0ICQ9bC5sZW5ndGg+OHx8IkFMTCIhPT10JiZuLGM9W107Yz0kP2wuc2xpY2UoMCw3KTpsO2xldCBoPSEhYy5sZW5ndGg7cmV0dXJuIGFSYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSJDb25uZWN0IHlvdXIgd2FsbGV0IiAub25BY3Rpb249IiR7dGhpcy5vblFyY29kZX0iIC5hY3Rpb25JY29uPSIke3BOLlFSQ09ERV9JQ09OfSI+PC93M20tbW9kYWwtaGVhZGVyPiR7aD9hUmA8dzNtLW1vZGFsLWNvbnRlbnQ+PGRpdj4ke2N9ICR7JD9hUmA8dzNtLXZpZXctYWxsLXdhbGxldHMtYnV0dG9uPjwvdzNtLXZpZXctYWxsLXdhbGxldHMtYnV0dG9uPmA6bnVsbH08L2Rpdj48L3czbS1tb2RhbC1jb250ZW50PmA6bnVsbH1gfX07d3Iuc3R5bGVzPVtwdy5nbG9iYWxDc3Msd2VdLHdyPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/d24odCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ3dCh0LG4sbyksb30pKFtzaSgidzNtLW1vYmlsZS13YWxsZXQtc2VsZWN0aW9uIildLHdyKTtsZXQgd2k9YV9gOmhvc3R7YWxsOmluaXRpYWx9LnczbS1vdmVybGF5e3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6dmFyKC0tdzNtLXotaW5kZXgpO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zKTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZX1AbWVkaWEobWF4LWhlaWdodDo3MjBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey53M20tb3ZlcmxheXtvdmVyZmxvdzpzY3JvbGw7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjIwcHggMH19LnczbS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30udzNtLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6MzYwcHg7d2lkdGg6MTAwJTtvdXRsaW5lOjA7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20tYmFja2dyb3VuZC1ib3JkZXItcmFkaXVzKSB2YXIoLS13M20tYmFja2dyb3VuZC1ib3JkZXItcmFkaXVzKSB2YXIoLS13M20tY29udGFpbmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLXczbS1jb250YWluZXItYm9yZGVyLXJhZGl1cyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7b3ZlcmZsb3c6aGlkZGVufS53M20tY2FyZHt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzowIDZweCAxNHB4IC02cHggcmdiYSgxMCwxNiwzMSwuMTIpLDAgMTBweCAzMnB4IC00cHggcmdiYSgxMCwxNiwzMSwuMSksMCAwIDAgMXB4IHZhcigtLXczbS1jb2xvci1vdmVybGF5KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0xKTtjb2xvcjp2YXIoLS13M20tY29sb3ItZmctMSl9QG1lZGlhKG1heC13aWR0aDo2MDBweCl7LnczbS1jb250YWluZXJ7bWF4LXdpZHRoOjQ0MHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cykgdmFyKC0tdzNtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cykgMCAwfS53M20tY2FyZHtib3JkZXItcmFkaXVzOnZhcigtLXczbS1jb250YWluZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tdzNtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzKSAwIDB9LnczbS1vdmVybGF5e2FsaWduLWl0ZW1zOmZsZXgtZW5kfX1AbWVkaWEobWF4LXdpZHRoOjQ0MHB4KXsudzNtLWNvbnRhaW5lcntib3JkZXI6MH19YDt2YXIgd289T2JqZWN0LmRlZmluZVByb3BlcnR5LHdhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isd3M9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3dhKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmd28odCxuLG8pLG99O2xldCB3bD1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLm9wZW49ITEsdGhpcy5hY3RpdmU9ITEsdGhpcy51bnN1YnNjcmliZU1vZGFsPXZvaWQgMCx0aGlzLmFib3J0Q29udHJvbGxlcj12b2lkIDAsdGhpcy51bnN1YnNjcmliZU1vZGFsPXQ3LnN1YnNjcmliZShlPT57ZS5vcGVuP3RoaXMub25PcGVuTW9kYWxFdmVudCgpOnRoaXMub25DbG9zZU1vZGFsRXZlbnQoKX0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bnN1YnNjcmliZU1vZGFsKXx8ZS5jYWxsKHRoaXMpfWdldCBvdmVybGF5RWwoKXtyZXR1cm4gZ2UuZ2V0U2hhZG93Um9vdEVsZW1lbnQodGhpcywiLnczbS1vdmVybGF5Iil9Z2V0IGNvbnRhaW5lckVsKCl7cmV0dXJuIGdlLmdldFNoYWRvd1Jvb3RFbGVtZW50KHRoaXMsIi53M20tY29udGFpbmVyIil9dG9nZ2xlQm9keVNjcm9sbChlKXtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJib2R5Iikpe2lmKGUpe2xldCB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3M20tc3R5bGVzIik7dD8ucmVtb3ZlKCl9ZWxzZSBkb2N1bWVudC5oZWFkLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPHN0eWxlIGlkPSJ3M20tc3R5bGVzIj5odG1sLGJvZHl7dG91Y2gtYWN0aW9uOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbjt9PC9zdHlsZT4nKX19b25DbG9zZU1vZGFsKGUpe2UudGFyZ2V0PT09ZS5jdXJyZW50VGFyZ2V0JiZ0Ny5jbG9zZSgpfW9uT3Blbk1vZGFsRXZlbnQoKXt0aGlzLnRvZ2dsZUJvZHlTY3JvbGwoITEpLHRoaXMuYWRkS2V5Ym9hcmRFdmVudHMoKSx0aGlzLm9wZW49ITAsc2V0VGltZW91dChhc3luYygpPT57bGV0IGU9Z2UuaXNNb2JpbGVBbmltYXRpb24oKT97eTpbIjUwdmgiLCIwdmgiXX06e3NjYWxlOlsuOTgsMV19O2F3YWl0IFByb21pc2UuYWxsKFtsVSh0aGlzLm92ZXJsYXlFbCx7b3BhY2l0eTpbMCwxXX0se2RlbGF5Oi4xLGR1cmF0aW9uOi4yfSkuZmluaXNoZWQsbFUodGhpcy5jb250YWluZXJFbCxlLHtkZWxheTouMSxkdXJhdGlvbjouMn0pLmZpbmlzaGVkXSksdGhpcy5hY3RpdmU9ITB9LDApfWFzeW5jIG9uQ2xvc2VNb2RhbEV2ZW50KCl7dGhpcy50b2dnbGVCb2R5U2Nyb2xsKCEwKSx0aGlzLnJlbW92ZUtleWJvYXJkRXZlbnRzKCk7bGV0IGU9Z2UuaXNNb2JpbGVBbmltYXRpb24oKT97eTpbIjB2aCIsIjUwdmgiXX06e3NjYWxlOlsxLC45OF19O2F3YWl0IFByb21pc2UuYWxsKFtsVSh0aGlzLm92ZXJsYXlFbCx7b3BhY2l0eTpbMSwwXX0se2R1cmF0aW9uOi4yfSkuZmluaXNoZWQsbFUodGhpcy5jb250YWluZXJFbCxlLHtkdXJhdGlvbjouMn0pLmZpbmlzaGVkXSksdGhpcy5jb250YWluZXJFbC5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIiksdGhpcy5hY3RpdmU9ITEsdGhpcy5vcGVuPSExfWFkZEtleWJvYXJkRXZlbnRzKCl7dGhpcy5hYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZT0+e3ZhciB0OyJFc2NhcGUiPT09ZS5rZXk/dDcuY2xvc2UoKToiVGFiIj09PWUua2V5JiYobnVsbCE9KHQ9ZS50YXJnZXQpJiZ0LnRhZ05hbWUuaW5jbHVkZXMoIlczTS0iKXx8dGhpcy5jb250YWluZXJFbC5mb2N1cygpKX0sdGhpcy5hYm9ydENvbnRyb2xsZXIpLHRoaXMuY29udGFpbmVyRWwuZm9jdXMoKX1yZW1vdmVLZXlib2FyZEV2ZW50cygpe3ZhciBlO251bGw9PShlPXRoaXMuYWJvcnRDb250cm9sbGVyKXx8ZS5hYm9ydCgpLHRoaXMuYWJvcnRDb250cm9sbGVyPXZvaWQgMH1tYW5hZ2VkTW9kYWxDb250ZXh0VGVtcGxhdGUoKXtsZXR7aXNTdGFuZGFsb25lOmV9PXR1LnN0YXRlO3JldHVybiBlP251bGw6YVJgPHczbS13Yy1jb25uZWN0aW9uLWNvbnRleHQ+PC93M20td2MtY29ubmVjdGlvbi1jb250ZXh0Pjx3M20tYWNjb3VudC1jb250ZXh0PjwvdzNtLWFjY291bnQtY29udGV4dD48dzNtLW5ldHdvcmstY29udGV4dD48L3czbS1uZXR3b3JrLWNvbnRleHQ+YH1yZW5kZXIoKXtsZXQgZT17InczbS1vdmVybGF5IjohMCwidzNtLWFjdGl2ZSI6dGhpcy5hY3RpdmV9O3JldHVybiBhUmA8dzNtLWV4cGxvcmVyLWNvbnRleHQ+PC93M20tZXhwbG9yZXItY29udGV4dD48dzNtLXRoZW1lLWNvbnRleHQ+PC93M20tdGhlbWUtY29udGV4dD4ke3RoaXMubWFuYWdlZE1vZGFsQ29udGV4dFRlbXBsYXRlKCl9PGRpdiBpZD0idzNtLW1vZGFsIiBjbGFzcz0iJHtzaChlKX0iIEBjbGljaz0iJHt0aGlzLm9uQ2xvc2VNb2RhbH0iIHJvbGU9ImFsZXJ0ZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIj48ZGl2IGNsYXNzPSJ3M20tY29udGFpbmVyIiB0YWJpbmRleD0iMCI+JHt0aGlzLm9wZW4/YVJgPHczbS1tb2RhbC1iYWNrY2FyZD48L3czbS1tb2RhbC1iYWNrY2FyZD48ZGl2IGNsYXNzPSJ3M20tY2FyZCI+PHczbS1tb2RhbC1yb3V0ZXI+PC93M20tbW9kYWwtcm91dGVyPjx3M20tbW9kYWwtdG9hc3Q+PC93M20tbW9kYWwtdG9hc3Q+PC9kaXY+YDpudWxsfTwvZGl2PjwvZGl2PmB9fTt3bC5zdHlsZXM9W3B3Lmdsb2JhbENzcyx3aV0sd3MoW3NsKCldLHdsLnByb3RvdHlwZSwib3BlbiIsMiksd3MoW3NsKCldLHdsLnByb3RvdHlwZSwiYWN0aXZlIiwyKSx3bD13cyhbc2koInczbS1tb2RhbCIpXSx3bCk7bGV0IHckPWFfYDpob3N0e2FsbDppbml0aWFsfXczbS1uZXR3b3JrLWltYWdle21hcmdpbi1sZWZ0Oi02cHg7bWFyZ2luLXJpZ2h0OjZweDt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fWA7dmFyIHdjPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx3aD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHd1PShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj93aCh0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJndjKHQsbixvKSxvfTtsZXQgd2Q9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5jaGFpbklkPSIiLHRoaXMubGFiZWw9IiIsdGhpcy53cm9uZ05ldHdvcms9ITEsdGhpcy51bnN1YnNjcmliZU5ldHdvcms9dm9pZCAwLGdlLnJlamVjdFN0YW5kYWxvbmVCdXR0b25Db21wb25lbnQoKTtsZXR7c2VsZWN0ZWRDaGFpbjplfT10dS5zdGF0ZTt0aGlzLm9uU2V0Q2hhaW5EYXRhKGUpLHRoaXMudW5zdWJzY3JpYmVOZXR3b3JrPXR1LnN1YnNjcmliZSgoe3NlbGVjdGVkQ2hhaW46ZX0pPT57dGhpcy5vblNldENoYWluRGF0YShlKX0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bnN1YnNjcmliZU5ldHdvcmspfHxlLmNhbGwodGhpcyl9b25TZXRDaGFpbkRhdGEoZSl7aWYoZSl7bGV0e2NoYWluczp0fT10dS5zdGF0ZSxuPXQ/Lm1hcChlPT5lLmlkKTt0aGlzLmNoYWluSWQ9ZS5pZC50b1N0cmluZygpLHRoaXMud3JvbmdOZXR3b3JrPSEobnVsbCE9biYmbi5pbmNsdWRlcyhlLmlkKSksdGhpcy5sYWJlbD10aGlzLndyb25nTmV0d29yaz8iV3JvbmcgTmV0d29yayI6ZS5uYW1lfX1vbkNsaWNrKCl7dGMuY2xpY2soe25hbWU6Ik5FVFdPUktfQlVUVE9OIn0pLHQ3Lm9wZW4oe3JvdXRlOiJTZWxlY3ROZXR3b3JrIn0pfXJlbmRlcigpe3ZhciBlO2xldHtjaGFpbnM6dH09dHUuc3RhdGUsbj10JiZ0Lmxlbmd0aD4xO3JldHVybiBhUmA8dzNtLWJ1dHRvbi1iaWcgQGNsaWNrPSIke3RoaXMub25DbGlja30iID9kaXNhYmxlZD0iJHshbn0iPjx3M20tbmV0d29yay1pbWFnZSBjaGFpbklkPSIke3RoaXMuY2hhaW5JZH0iPjwvdzNtLW5ldHdvcmstaW1hZ2U+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIiBjb2xvcj0iaW52ZXJzZSI+JHtudWxsIT0oZT10aGlzLmxhYmVsKSYmZS5sZW5ndGg/dGhpcy5sYWJlbDoiU2VsZWN0IE5ldHdvcmsifTwvdzNtLXRleHQ+PC93M20tYnV0dG9uLWJpZz5gfX07d2Quc3R5bGVzPVtwdy5nbG9iYWxDc3MsdyRdLHd1KFtzbCgpXSx3ZC5wcm90b3R5cGUsImNoYWluSWQiLDIpLHd1KFtzbCgpXSx3ZC5wcm90b3R5cGUsImxhYmVsIiwyKSx3dShbc2woKV0sd2QucHJvdG90eXBlLCJ3cm9uZ05ldHdvcmsiLDIpLHdkPXd1KFtzaSgidzNtLW5ldHdvcmstc3dpdGNoIildLHdkKTtsZXQgd189YV9gQGtleWZyYW1lcyBsb2FkaW5ne3Rve3N0cm9rZS1kYXNob2Zmc2V0OjB9fUBrZXlmcmFtZXMgc2hha2V7MTAlLDkwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTFweCwwLDApfTIwJSw4MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDFweCwwLDApfTMwJSw1MCUsNzAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMnB4LDAsMCl9NDAlLDYwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMnB4LDAsMCl9fTpob3N0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyfWRpdntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMTBweDtoZWlnaHQ6MTEwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo0MHB4IDAgMjBweCAwO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9c3Zne3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoxMTBweDtmaWxsOm5vbmU7c3Ryb2tlOnRyYW5zcGFyZW50O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS13aWR0aDoxcHg7dG9wOjA7bGVmdDowfXVzZXtzdHJva2U6dmFyKC0tdzNtLWFjY2VudC1jb2xvcik7YW5pbWF0aW9uOmxvYWRpbmcgMXMgbGluZWFyIGluZmluaXRlfXczbS1uZXR3b3JrLWltYWdle3dpZHRoOjkycHg7aGVpZ2h0OjkycHh9dzNtLXRleHR7bWFyZ2luLWJvdHRvbTo0MHB4fS53M20tZXJyb3Igc3Zne3N0cm9rZTp2YXIoLS13M20tZXJyb3ItY29sb3IpfS53M20tZXJyb3IgdXNle2Rpc3BsYXk6bm9uZX0udzNtLWVycm9ye2FuaW1hdGlvbjpzaGFrZSAuNHMgY3ViaWMtYmV6aWVyKC4zNiwuMDcsLjE5LC45NykgYm90aH1gO3ZhciB3Zj1PYmplY3QuZGVmaW5lUHJvcGVydHksd3A9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix3MT0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/d3AodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ3Zih0LG4sbyksb307bGV0IHcwPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY2hhaW5JZD12b2lkIDAsdGhpcy5pc0Vycm9yPSExLHRoaXMubGFiZWw9IiJ9c3ZnTG9hZGVyVGVtcGxhdGUoKXtyZXR1cm4gYVJgPHN2ZyB3aWR0aD0iNTQiIGhlaWdodD0iNTkiIHZpZXdCb3g9IjAgMCA1NCA1OSIgZmlsbD0ibm9uZSIgY2xhc3M9InczbS1sb2FkZXIiPjxwYXRoIGlkPSJ3M20tbG9hZGVyLXBhdGgiIGQ9Ik0xNy4yMiA1LjI5NWMzLjg3Ny0yLjI3NyA1LjczNy0zLjM2MyA3LjcyLTMuNzI2YTExLjQ0IDExLjQ0IDAgMCAxIDQuMTIgMGMxLjk4My4zNjMgMy44NDQgMS40NSA3LjcyIDMuNzI2bDYuMDY1IDMuNTYyYzMuODc2IDIuMjc2IDUuNzMxIDMuMzcyIDcuMDMyIDQuOTM4YTExLjg5NiAxMS44OTYgMCAwIDEgMi4wNiAzLjYzYy42ODMgMS45MjguNjg4IDQuMTEuNjg4IDguNjYzdjcuMTI0YzAgNC41NTMtLjAwNSA2LjczNS0uNjg4IDguNjY0YTExLjg5NiAxMS44OTYgMCAwIDEtMi4wNiAzLjYzYy0xLjMgMS41NjUtMy4xNTYgMi42Ni03LjAzMiA0LjkzN2wtNi4wNjUgMy41NjNjLTMuODc3IDIuMjc2LTUuNzM3IDMuMzYyLTcuNzIgMy43MjVhMTEuNDYgMTEuNDYgMCAwIDEtNC4xMiAwYy0xLjk4My0uMzYzLTMuODQ0LTEuNDQ5LTcuNzItMy43MjZsLTYuMDY1LTMuNTYyYy0zLjg3Ni0yLjI3Ni01LjczMS0zLjM3Mi03LjAzMi00LjkzOGExMS44ODUgMTEuODg1IDAgMCAxLTIuMDYtMy42M2MtLjY4Mi0xLjkyOC0uNjg4LTQuMTEtLjY4OC04LjY2M3YtNy4xMjRjMC00LjU1My4wMDYtNi43MzUuNjg4LTguNjY0YTExLjg4NSAxMS44ODUgMCAwIDEgMi4wNi0zLjYzYzEuMy0xLjU2NSAzLjE1Ni0yLjY2IDcuMDMyLTQuOTM3bDYuMDY1LTMuNTYyWiIvPjx1c2UgeGxpbms6aHJlZj0iI3czbS1sb2FkZXItcGF0aCIgc3Ryb2tlLWRhc2hhcnJheT0iNTQgMTE4IiBzdHJva2UtZGFzaG9mZnNldD0iMTcyIj48L3VzZT48L3N2Zz5gfXJlbmRlcigpe2xldCBlPXsidzNtLWVycm9yIjp0aGlzLmlzRXJyb3J9O3JldHVybiBhUmA8ZGl2IGNsYXNzPSIke3NoKGUpfSI+JHt0aGlzLnN2Z0xvYWRlclRlbXBsYXRlKCl9PHczbS1uZXR3b3JrLWltYWdlIGNoYWluSWQ9IiR7dGhpcy5jaGFpbklkfSI+PC93M20tbmV0d29yay1pbWFnZT48L2Rpdj48dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiIGNvbG9yPSIke3RoaXMuaXNFcnJvcj8iZXJyb3IiOiJwcmltYXJ5In0iPiR7dGhpcy5pc0Vycm9yPyJTd2l0Y2ggZGVjbGluZWQiOnRoaXMubGFiZWx9PC93M20tdGV4dD5gfX07dzAuc3R5bGVzPVtwdy5nbG9iYWxDc3Msd19dLHcxKFtzcygpXSx3MC5wcm90b3R5cGUsImNoYWluSWQiLDIpLHcxKFtzcygpXSx3MC5wcm90b3R5cGUsImlzRXJyb3IiLDIpLHcxKFtzcygpXSx3MC5wcm90b3R5cGUsImxhYmVsIiwyKSx3MD13MShbc2koInczbS1uZXR3b3JrLXdhaXRpbmciKV0sdzApO2xldCB3Zz1hX2BkaXZ7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6MTVweH1zbG90e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDVweH13M20tYnV0dG9ue21hcmdpbjowIDVweH1gO3ZhciB3bT1PYmplY3QuZGVmaW5lUHJvcGVydHksdzM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix3dz0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/dzModCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ3bSh0LG4sbyksb307bGV0IHd2PWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuaXNNb2JpbGU9ITEsdGhpcy5pc0luamVjdGVkPSExLHRoaXMuaXNJbmplY3RlZEluc3RhbGxlZD0hMSx0aGlzLmlzRGVza3RvcD0hMSx0aGlzLmlzV2ViPSExLHRoaXMuaXNSZXRyeT0hMX1vbk1vYmlsZSgpe3RzLmlzTW9iaWxlKCk/dGEucmVwbGFjZSgiTW9iaWxlQ29ubmVjdGluZyIpOnRhLnJlcGxhY2UoIk1vYmlsZVFyY29kZUNvbm5lY3RpbmciKX1vbkluamVjdGVkKCl7dGhpcy5pc0luamVjdGVkSW5zdGFsbGVkP3RhLnJlcGxhY2UoIkluamVjdGVkQ29ubmVjdGluZyIpOnRhLnJlcGxhY2UoIkluc3RhbGxXYWxsZXQiKX1vbkRlc2t0b3AoKXt0YS5yZXBsYWNlKCJEZXNrdG9wQ29ubmVjdGluZyIpfW9uV2ViKCl7dGEucmVwbGFjZSgiV2ViQ29ubmVjdGluZyIpfXJlbmRlcigpe2xldHtpc1N0YW5kYWxvbmU6ZX09dHUuc3RhdGU7cmV0dXJuIGFSYDxkaXY+JHt0aGlzLmlzUmV0cnk/YVJgPHNsb3Q+PC9zbG90PmA6bnVsbH0gJHt0aGlzLmlzTW9iaWxlP2FSYDx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub25Nb2JpbGV9IiAuaWNvbkxlZnQ9IiR7cE4uTU9CSUxFX0lDT059IiB2YXJpYW50PSJvdXRsaW5lIj5Nb2JpbGU8L3czbS1idXR0b24+YDpudWxsfSAke3RoaXMuaXNJbmplY3RlZCYmIWU/YVJgPHczbS1idXR0b24gLm9uQ2xpY2s9IiR7dGhpcy5vbkluamVjdGVkfSIgLmljb25MZWZ0PSIke3BOLldBTExFVF9JQ09OfSIgdmFyaWFudD0ib3V0bGluZSI+QnJvd3NlcjwvdzNtLWJ1dHRvbj5gOm51bGx9ICR7dGhpcy5pc0Rlc2t0b3A/YVJgPHczbS1idXR0b24gLm9uQ2xpY2s9IiR7dGhpcy5vbkRlc2t0b3B9IiAuaWNvbkxlZnQ9IiR7cE4uREVTS1RPUF9JQ09OfSIgdmFyaWFudD0ib3V0bGluZSI+RGVza3RvcDwvdzNtLWJ1dHRvbj5gOm51bGx9ICR7dGhpcy5pc1dlYj9hUmA8dzNtLWJ1dHRvbiAub25DbGljaz0iJHt0aGlzLm9uV2VifSIgLmljb25MZWZ0PSIke3BOLkdMT0JFX0lDT059IiB2YXJpYW50PSJvdXRsaW5lIj5XZWI8L3czbS1idXR0b24+YDpudWxsfTwvZGl2PmB9fTt3di5zdHlsZXM9W3B3Lmdsb2JhbENzcyx3Z10sd3coW3NzKCldLHd2LnByb3RvdHlwZSwiaXNNb2JpbGUiLDIpLHd3KFtzcygpXSx3di5wcm90b3R5cGUsImlzSW5qZWN0ZWQiLDIpLHd3KFtzcygpXSx3di5wcm90b3R5cGUsImlzSW5qZWN0ZWRJbnN0YWxsZWQiLDIpLHd3KFtzcygpXSx3di5wcm90b3R5cGUsImlzRGVza3RvcCIsMiksd3coW3NzKCldLHd2LnByb3RvdHlwZSwiaXNXZWIiLDIpLHd3KFtzcygpXSx3di5wcm90b3R5cGUsImlzUmV0cnkiLDIpLHd2PXd3KFtzaSgidzNtLXBsYXRmb3JtLXNlbGVjdGlvbiIpXSx3dik7bGV0IHcyPWFfYGJ1dHRvbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6NXB4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20tYnV0dG9uLWhvdmVyLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzKTtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udzNtLWljb25ze3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6N3B4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXMpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjVweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0yKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19LnczbS1pY29ucyBpbWd7d2lkdGg6MjFweDtoZWlnaHQ6MjFweDtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXczbS13YWxsZXQtaWNvbi1ib3JkZXItcmFkaXVzKS8gMik7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9LnczbS1pY29ucyBzdmd7d2lkdGg6MjFweDtoZWlnaHQ6MjFweH0udzNtLWljb25zIGltZzpudGgtY2hpbGQoMSksLnczbS1pY29ucyBpbWc6bnRoLWNoaWxkKDIpLC53M20taWNvbnMgc3ZnOm50aC1jaGlsZCgxKSwudzNtLWljb25zIHN2ZzpudGgtY2hpbGQoMil7bWFyZ2luLWJvdHRvbTo0cHh9dzNtLXRleHR7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0jd2FsbGV0LXBsYWNlaG9sZGVyLWZpbGx7ZmlsbDp2YXIoLS13M20tY29sb3ItYmctMyl9I3dhbGxldC1wbGFjZWhvbGRlci1kYXNoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YDt2YXIgdzQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LHdiPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IHc4PWNsYXNzIGV4dGVuZHMgc257b25DbGljaygpe3RhLnB1c2goIldhbGxldEV4cGxvcmVyIil9cmVuZGVyKCl7bGV0e3JlY29tZW5kZWRXYWxsZXRzOmV9PXQ2LnN0YXRlLHQ9cEoubWFudWFsV2FsbGV0cygpLG49Wy4uLmUsLi4udF0ucmV2ZXJzZSgpLnNsaWNlKDAsNCk7cmV0dXJuIGFSYDxidXR0b24gQGNsaWNrPSIke3RoaXMub25DbGlja30iPjxkaXYgY2xhc3M9InczbS1pY29ucyI+JHtuLm1hcChlPT57bGV0IHQ9Z2UuZ2V0V2FsbGV0SWNvbihlKTtpZih0KXJldHVybiBhUmA8aW1nIHNyYz0iJHt0fSI+YDtsZXQgbj1nZS5nZXRXYWxsZXRJY29uKHtpZDplLmlkfSk7cmV0dXJuIG4/YVJgPGltZyBzcmM9IiR7bn0iPmA6cE4uV0FMTEVUX1BMQUNFSE9MREVSfSl9ICR7Wy4uLkFycmF5KDQtbi5sZW5ndGgpXS5tYXAoKCk9PnBOLldBTExFVF9QTEFDRUhPTERFUil9PC9kaXY+PHczbS10ZXh0IHZhcmlhbnQ9InhzbWFsbC1yZWd1bGFyIj5WaWV3IEFsbDwvdzNtLXRleHQ+PC9idXR0b24+YH19O3c4LnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHcyXSx3OD0oKGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3diKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmdzQodCxuLG8pLG99KShbc2koInczbS12aWV3LWFsbC13YWxsZXRzLWJ1dHRvbiIpXSx3OCk7bGV0IHc2PWFfYC53M20tcXItY29udGFpbmVye3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2FzcGVjdC1yYXRpbzoxLzF9YDt2YXIgd3k9T2JqZWN0LmRlZmluZVByb3BlcnR5LHc1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isd3g9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3c1KHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmd3kodCxuLG8pLG99O2xldCB3Nz1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLndhbGxldElkPSIiLHRoaXMuaW1hZ2VJZD0iIix0aGlzLnVyaT0iIix0aGlzLnVud2F0Y2hXY0Nvbm5lY3Rpb249dm9pZCAwLHNldFRpbWVvdXQoKCk9PntsZXR7cGFpcmluZ1VyaTplfT10NS5zdGF0ZSx7c3RhbmRhbG9uZVVyaTp0fT10dS5zdGF0ZTt0aGlzLnVyaT10Pz9lfSwwKSx0aGlzLnVud2F0Y2hXY0Nvbm5lY3Rpb249dDUuc3Vic2NyaWJlKGU9PntlLnBhaXJpbmdVcmkmJih0aGlzLnVyaT1lLnBhaXJpbmdVcmkpfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTtudWxsPT0oZT10aGlzLnVud2F0Y2hXY0Nvbm5lY3Rpb24pfHxlLmNhbGwodGhpcyl9Z2V0IG92ZXJsYXlFbCgpe3JldHVybiBnZS5nZXRTaGFkb3dSb290RWxlbWVudCh0aGlzLCIudzNtLXFyLWNvbnRhaW5lciIpfXJlbmRlcigpe3JldHVybiBhUmA8ZGl2IGNsYXNzPSJ3M20tcXItY29udGFpbmVyIj4ke3RoaXMudXJpP2FSYDx3M20tcXJjb2RlIHNpemU9IiR7dGhpcy5vdmVybGF5RWwub2Zmc2V0V2lkdGh9IiB1cmk9IiR7dGhpcy51cml9IiB3YWxsZXRJZD0iJHt0aGlzLndhbGxldElkfSIgaW1hZ2VJZD0iJHt0aGlzLmltYWdlSWR9Ij48L3czbS1xcmNvZGU+YDphUmA8dzNtLXNwaW5uZXI+PC93M20tc3Bpbm5lcj5gfTwvZGl2PmB9fTt3Ny5zdHlsZXM9W3B3Lmdsb2JhbENzcyx3Nl0sd3goW3NzKCldLHc3LnByb3RvdHlwZSwid2FsbGV0SWQiLDIpLHd4KFtzcygpXSx3Ny5wcm90b3R5cGUsImltYWdlSWQiLDIpLHd4KFtzbCgpXSx3Ny5wcm90b3R5cGUsInVyaSIsMiksdzc9d3goW3NpKCJ3M20td2FsbGV0Y29ubmVjdC1xciIpXSx3Nyk7bGV0IHdFPWFfYC53M20tcHJvZmlsZXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nLXRvcDoyMHB4fS53M20tY29ubmVjdGlvbi1iYWRnZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0yKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7cGFkZGluZzo2cHggMTBweCA2cHggMjZweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjI4cHh9LnczbS1jb25uZWN0aW9uLWJhZGdlOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2xlZnQ6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1zdWNjZXNzLWNvbG9yKTtib3JkZXItcmFkaXVzOjUwJTt0b3A6NTAlO21hcmdpbi10b3A6LTVweDtib3gtc2hhZG93OjAgMXB4IDRweCAxcHggdmFyKC0tdzNtLXN1Y2Nlc3MtY29sb3IpLGluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9LnczbS1mb290ZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufXczbS1hZGRyZXNzLXRleHR7bWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6YmxvY2t9LnczbS1iYWxhbmNle2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1iZy0yKTtwYWRkaW5nOjExcHggMjBweH1gO3ZhciB3Qz1PYmplY3QuZGVmaW5lUHJvcGVydHksd0Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtsZXQgd2s9Y2xhc3MgZXh0ZW5kcyBzbnthc3luYyBvbkRpc2Nvbm5lY3QoKXthd2FpdCB0aS5jbGllbnQoKS5kaXNjb25uZWN0KCl9YXN5bmMgb25Db3B5QWRkcmVzcygpe3ZhciBlO2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KG51bGwhPShlPXRwLnN0YXRlLmFkZHJlc3MpP2U6IiIpLHROLm9wZW5Ub2FzdCgiQWRkcmVzcyBjb3BpZWQiLCJzdWNjZXNzIil9cmVuZGVyKCl7cmV0dXJuIGFSYDx3M20tbW9kYWwtY29udGVudD48ZGl2IGNsYXNzPSJ3M20tcHJvZmlsZSI+PGRpdiBjbGFzcz0idzNtLWluZm8iPjx3M20tYXZhdGFyIHNpemU9Im1lZGl1bSI+PC93M20tYXZhdGFyPjx3M20tYWRkcmVzcy10ZXh0IHZhcmlhbnQ9Im1vZGFsIj48L3czbS1hZGRyZXNzLXRleHQ+PC9kaXY+PGRpdiBjbGFzcz0idzNtLWNvbm5lY3Rpb24tYmFkZ2UiPjx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC1yZWd1bGFyIiBjb2xvcj0ic2Vjb25kYXJ5Ij5Db25uZWN0ZWQ8L3czbS10ZXh0PjwvZGl2PjwvZGl2PjwvdzNtLW1vZGFsLWNvbnRlbnQ+PGRpdiBjbGFzcz0idzNtLWJhbGFuY2UiPjx3M20tYmFsYW5jZT48L3czbS1iYWxhbmNlPjwvZGl2Pjx3M20tbW9kYWwtZm9vdGVyPjxkaXYgY2xhc3M9InczbS1mb290ZXIiPjx3M20tYWNjb3VudC1uZXR3b3JrLWJ1dHRvbj48L3czbS1hY2NvdW50LW5ldHdvcmstYnV0dG9uPjx3M20tYm94LWJ1dHRvbiBsYWJlbD0iQ29weSBBZGRyZXNzIiAub25DbGljaz0iJHt0aGlzLm9uQ29weUFkZHJlc3N9IiAuaWNvbj0iJHtwTi5BQ0NPVU5UX0NPUFl9Ij48L3czbS1ib3gtYnV0dG9uPjx3M20tYm94LWJ1dHRvbiBsYWJlbD0iRGlzY29ubmVjdCIgLm9uQ2xpY2s9IiR7dGhpcy5vbkRpc2Nvbm5lY3R9IiAuaWNvbj0iJHtwTi5BQ0NPVU5UX0RJU0NPTk5FQ1R9Ij48L3czbS1ib3gtYnV0dG9uPjwvZGl2PjwvdzNtLW1vZGFsLWZvb3Rlcj5gfX07d2suc3R5bGVzPVtwdy5nbG9iYWxDc3Msd0VdLHdrPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/d0QodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ3Qyh0LG4sbyksb30pKFtzaSgidzNtLWFjY291bnQtdmlldyIpXSx3ayk7dmFyIHdBPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx3ST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2xldCB3VD1jbGFzcyBleHRlbmRzIHNue3ZpZXdUZW1wbGF0ZSgpe3JldHVybiB0cy5pc0FuZHJvaWQoKT9hUmA8dzNtLWFuZHJvaWQtd2FsbGV0LXNlbGVjdGlvbj48L3czbS1hbmRyb2lkLXdhbGxldC1zZWxlY3Rpb24+YDp0cy5pc01vYmlsZSgpP2FSYDx3M20tbW9iaWxlLXdhbGxldC1zZWxlY3Rpb24+PC93M20tbW9iaWxlLXdhbGxldC1zZWxlY3Rpb24+YDphUmA8dzNtLWRlc2t0b3Atd2FsbGV0LXNlbGVjdGlvbj48L3czbS1kZXNrdG9wLXdhbGxldC1zZWxlY3Rpb24+YH1yZW5kZXIoKXtyZXR1cm4gYVJgJHt0aGlzLnZpZXdUZW1wbGF0ZSgpfTx3M20tbGVnYWwtbm90aWNlPjwvdzNtLWxlZ2FsLW5vdGljZT5gfX07d1Quc3R5bGVzPVtwdy5nbG9iYWxDc3NdLHdUPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/d0kodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ3QSh0LG4sbyksb30pKFtzaSgidzNtLWNvbm5lY3Qtd2FsbGV0LXZpZXciKV0sd1QpO2xldCB3Uz1hX2B3M20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfWA7dmFyIHdMPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx3Tj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHdPPShlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj93Tih0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJndMKHQsbixvKSxvfTtsZXQgd009Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5pc0Vycm9yPSExLHRoaXMudW53YXRjaENvbm5lY3Rpb249dm9pZCAwLHRoaXMub3BlbkRlc2t0b3BBcHAoKSx0aGlzLnVud2F0Y2hDb25uZWN0aW9uPXQ1LnN1YnNjcmliZShlPT57dGhpcy5pc0Vycm9yPWUucGFpcmluZ0Vycm9yfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTtudWxsPT0oZT10aGlzLnVud2F0Y2hDb25uZWN0aW9uKXx8ZS5jYWxsKHRoaXMpfW9uRm9ybWF0QW5kUmVkaXJlY3QoZSl7bGV0e2Rlc2t0b3A6dCxuYW1lOm59PXRzLmdldFdhbGxldFJvdXRlckRhdGEoKSxyPXQ/Lm5hdGl2ZTtpZihyKXtsZXQgaT10cy5mb3JtYXROYXRpdmVVcmwocixlLG4pO3RzLm9wZW5IcmVmKGksIl9zZWxmIil9fW9wZW5EZXNrdG9wQXBwKCl7dDUuc2V0UGFpcmluZ0Vycm9yKCExKTtsZXR7c3RhbmRhbG9uZVVyaTplfT10dS5zdGF0ZSx7cGFpcmluZ1VyaTp0fT10NS5zdGF0ZSxuPXRzLmdldFdhbGxldFJvdXRlckRhdGEoKTtnZS5zZXRSZWNlbnRXYWxsZXQobiksZT90aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QoZSk6dGhpcy5vbkZvcm1hdEFuZFJlZGlyZWN0KHQpfXJlbmRlcigpe2xldHtuYW1lOmUsaWQ6dCxpbWFnZV9pZDpufT10cy5nZXRXYWxsZXRSb3V0ZXJEYXRhKCkse2lzTW9iaWxlOnIsaXNJbmplY3RlZDppLGlzV2ViOm99PWdlLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpO3JldHVybiBhUmA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iJHtlfSIgLm9uQWN0aW9uPSIke2dlLmhhbmRsZVVyaUNvcHl9IiAuYWN0aW9uSWNvbj0iJHtwTi5DT1BZX0lDT059Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50Pjx3M20tY29ubmVjdG9yLXdhaXRpbmcgd2FsbGV0SWQ9IiR7dH0iIGltYWdlSWQ9IiR7bn0iIGxhYmVsPSIke2BDb250aW51ZSBpbiAke2V9Li4uYH0iIC5pc0Vycm9yPSIke3RoaXMuaXNFcnJvcn0iPjwvdzNtLWNvbm5lY3Rvci13YWl0aW5nPjwvdzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+JHtgQ29ubmVjdGlvbiBjYW4gY29udGludWUgbG9hZGluZyBpZiAke2V9IGlzIG5vdCBpbnN0YWxsZWQgb24geW91ciBkZXZpY2VgfTwvdzNtLXRleHQ+PHczbS1wbGF0Zm9ybS1zZWxlY3Rpb24gLmlzTW9iaWxlPSIke3J9IiAuaXNJbmplY3RlZD0iJHtpfSIgLmlzV2ViPSIke299IiAuaXNSZXRyeT0iJHshMH0iPjx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub3BlbkRlc2t0b3BBcHAuYmluZCh0aGlzKX0iIC5pY29uUmlnaHQ9IiR7cE4uUkVUUllfSUNPTn0iPlJldHJ5PC93M20tYnV0dG9uPjwvdzNtLXBsYXRmb3JtLXNlbGVjdGlvbj48L3czbS1pbmZvLWZvb3Rlcj5gfX07d00uc3R5bGVzPVtwdy5nbG9iYWxDc3Msd1NdLHdPKFtzbCgpXSx3TS5wcm90b3R5cGUsImlzRXJyb3IiLDIpLHdNPXdPKFtzaSgidzNtLWRlc2t0b3AtY29ubmVjdGluZy12aWV3IildLHdNKTtsZXQgd1A9YV9gLnczbS1pbmZvLXRleHR7bWFyZ2luOjVweCAwIDE1cHg7bWF4LXdpZHRoOjMyMHB4O3RleHQtYWxpZ246Y2VudGVyfS53M20td2FsbGV0LWl0ZW17bWFyZ2luOjAgLTIwcHggMCAwO3BhZGRpbmctcmlnaHQ6MjBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1iZy0yKX0udzNtLXdhbGxldC1pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTotMjBweDtib3JkZXItYm90dG9tOjB9LnczbS13YWxsZXQtY29udGVudHttYXJnaW4tbGVmdDoyMHB4O2hlaWdodDo2MHB4O2Rpc3BsYXk6ZmxleDtmbGV4OjE7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS53M20tZm9vdGVyLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyMHB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLWJnLTIpfXczbS13YWxsZXQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6MTBweH1gO3ZhciB3OT1PYmplY3QuZGVmaW5lUHJvcGVydHksd1I9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtsZXQgd1U9Y2xhc3MgZXh0ZW5kcyBzbntvbkdldChlKXt0cy5vcGVuSHJlZihlLCJfYmxhbmsiKX1yZW5kZXIoKXtsZXQgZT10Ni5zdGF0ZS5yZWNvbWVuZGVkV2FsbGV0cy5zbGljZSgwLDUpLHQ9cEoubWFudWFsV2FsbGV0cygpLnNsaWNlKDAsNSksbj1lLmxlbmd0aCxyPXQubGVuZ3RoO3JldHVybiBhUmA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iR2V0IGEgd2FsbGV0Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50PiR7bj9lLm1hcChlPT5hUmA8ZGl2IGNsYXNzPSJ3M20td2FsbGV0LWl0ZW0iPjx3M20td2FsbGV0LWltYWdlIHdhbGxldElkPSIke2UuaWR9IiBpbWFnZUlkPSIke2UuaW1hZ2VfaWR9Ij48L3czbS13YWxsZXQtaW1hZ2U+PGRpdiBjbGFzcz0idzNtLXdhbGxldC1jb250ZW50Ij48dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiPiR7ZS5uYW1lfTwvdzNtLXRleHQ+PHczbS1idXR0b24gLmljb25SaWdodD0iJHtwTi5BUlJPV19SSUdIVF9JQ09OfSIgLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25HZXQoZS5ob21lcGFnZSl9Ij5HZXQ8L3czbS1idXR0b24+PC9kaXY+PC9kaXY+YCk6bnVsbH0gJHtyP3QubWFwKGU9PmFSYDxkaXYgY2xhc3M9InczbS13YWxsZXQtaXRlbSI+PHczbS13YWxsZXQtaW1hZ2Ugd2FsbGV0SWQ9IiR7ZS5pZH0iPjwvdzNtLXdhbGxldC1pbWFnZT48ZGl2IGNsYXNzPSJ3M20td2FsbGV0LWNvbnRlbnQiPjx3M20tdGV4dCB2YXJpYW50PSJtZWRpdW0tcmVndWxhciI+JHtlLm5hbWV9PC93M20tdGV4dD48dzNtLWJ1dHRvbiAuaWNvblJpZ2h0PSIke3BOLkFSUk9XX1JJR0hUX0lDT059IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkdldChlLmxpbmtzLnVuaXZlcnNhbCl9Ij5HZXQ8L3czbS1idXR0b24+PC9kaXY+PC9kaXY+YCk6bnVsbH08L3czbS1tb2RhbC1jb250ZW50PjxkaXYgY2xhc3M9InczbS1mb290ZXItYWN0aW9ucyI+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIj5Ob3Qgd2hhdCB5b3UncmUgbG9va2luZyBmb3I/PC93M20tdGV4dD48dzNtLXRleHQgdmFyaWFudD0ic21hbGwtdGhpbiIgY29sb3I9InNlY29uZGFyeSIgY2xhc3M9InczbS1pbmZvLXRleHQiPldpdGggaHVuZHJlZHMgb2Ygd2FsbGV0cyBvdXQgdGhlcmUsIHRoZXJlJ3Mgc29tZXRoaW5nIGZvciBldmVyeW9uZTwvdzNtLXRleHQ+PHczbS1idXR0b24gLm9uQ2xpY2s9IiR7Z2Uub3BlbldhbGxldEV4cGxvcmVyVXJsfSIgLmljb25SaWdodD0iJHtwTi5BUlJPV19VUF9SSUdIVF9JQ09OfSI+RXhwbG9yZSBXYWxsZXRzPC93M20tYnV0dG9uPjwvZGl2PmB9fTt3VS5zdHlsZXM9W3B3Lmdsb2JhbENzcyx3UF0sd1U9KChlLHQsbixyKT0+e2Zvcih2YXIgaSxvPXI+MT92b2lkIDA6cj93Uih0LG4pOnQsYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShpPWVbYV0pJiYobz0ocj9pKHQsbixvKTppKG8pKXx8byk7cmV0dXJuIHImJm8mJnc5KHQsbixvKSxvfSkoW3NpKCJ3M20tZ2V0LXdhbGxldC12aWV3IildLHdVKTtsZXQgd0I9YV9gLnczbS1mb290ZXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udzNtLWZvb3Rlci1hY3Rpb25zIHczbS1idXR0b257bWFyZ2luOjAgNXB4fS53M20taW5mby1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjIwcHh9LnczbS1pbmZvLWNvbnRhaW5lcjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0udzNtLWluZm8tdGV4dHttYXJnaW4tdG9wOjVweDt0ZXh0LWFsaWduOmNlbnRlcn0udzNtLWltYWdlcyBzdmd7bWFyZ2luOjAgMnB4IDVweDt3aWR0aDo1NXB4O2hlaWdodDo1NXB4fS5oZWxwLWltZy1oaWdobGlnaHR7c3Ryb2tlOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1gO3ZhciB3Vz1PYmplY3QuZGVmaW5lUHJvcGVydHksd0Y9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtsZXQgd3o9Y2xhc3MgZXh0ZW5kcyBzbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5sZWFyblVybD0iaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vd2FsbGV0cy8ifW9uR2V0KCl7dF8uc3RhdGUuZW5hYmxlRXhwbG9yZXI/dGEucHVzaCgiR2V0V2FsbGV0Iik6Z2Uub3BlbldhbGxldEV4cGxvcmVyVXJsKCl9b25MZWFybk1vcmUoKXt0cy5vcGVuSHJlZih0aGlzLmxlYXJuVXJsLCJfYmxhbmsiKX1yZW5kZXIoKXtyZXR1cm4gYVJgPHczbS1tb2RhbC1oZWFkZXIgdGl0bGU9IldoYXQgaXMgYSB3YWxsZXQ/Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50PjxkaXYgY2xhc3M9InczbS1pbmZvLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idzNtLWltYWdlcyI+JHtwTi5IRUxQX0NIQVJUX0lNR30gJHtwTi5IRUxQX1BBSU5USU5HX0lNR30gJHtwTi5IRUxQX0VUSF9JTUd9PC9kaXY+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIj5BIGhvbWUgZm9yIHlvdXIgZGlnaXRhbCBhc3NldHM8L3czbS10ZXh0Pjx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC10aGluIiBjb2xvcj0ic2Vjb25kYXJ5IiBjbGFzcz0idzNtLWluZm8tdGV4dCI+QSB3YWxsZXQgbGV0cyB5b3Ugc3RvcmUsIHNlbmQgYW5kIHJlY2VpdmUgZGlnaXRhbCBhc3NldHMgbGlrZSBjcnlwdG9jdXJyZW5jaWVzIGFuZCBORlRzLjwvdzNtLXRleHQ+PC9kaXY+PGRpdiBjbGFzcz0idzNtLWluZm8tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ3M20taW1hZ2VzIj4ke3BOLkhFTFBfS0VZX0lNR30gJHtwTi5IRUxQX1VTRVJfSU1HfSAke3BOLkhFTFBfTE9DS19JTUd9PC9kaXY+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIj5PbmUgbG9naW4gZm9yIGFsbCBvZiB3ZWIzPC93M20tdGV4dD48dzNtLXRleHQgdmFyaWFudD0ic21hbGwtdGhpbiIgY29sb3I9InNlY29uZGFyeSIgY2xhc3M9InczbS1pbmZvLXRleHQiPkxvZyBpbiB0byBhbnkgYXBwIGJ5IGNvbm5lY3RpbmcgeW91ciB3YWxsZXQuIFNheSBnb29kYnllIHRvIGNvdW50bGVzcyBwYXNzd29yZHMhPC93M20tdGV4dD48L2Rpdj48ZGl2IGNsYXNzPSJ3M20taW5mby1jb250YWluZXIiPjxkaXYgY2xhc3M9InczbS1pbWFnZXMiPiR7cE4uSEVMUF9DT01QQVNfSU1HfSAke3BOLkhFTFBfTk9VTl9JTUd9ICR7cE4uSEVMUF9EQU9fSU1HfTwvZGl2Pjx3M20tdGV4dCB2YXJpYW50PSJtZWRpdW0tcmVndWxhciI+WW91ciBnYXRld2F5IHRvIGEgbmV3IHdlYjwvdzNtLXRleHQ+PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXRoaW4iIGNvbG9yPSJzZWNvbmRhcnkiIGNsYXNzPSJ3M20taW5mby10ZXh0Ij5XaXRoIHlvdXIgd2FsbGV0LCB5b3UgY2FuIGV4cGxvcmUgYW5kIGludGVyYWN0IHdpdGggRGVGaSwgTkZUcywgREFPcywgYW5kIG11Y2ggbW9yZS48L3czbS10ZXh0PjwvZGl2PjxkaXYgY2xhc3M9InczbS1mb290ZXItYWN0aW9ucyI+PHczbS1idXR0b24gLm9uQ2xpY2s9IiR7dGhpcy5vbkdldC5iaW5kKHRoaXMpfSIgLmljb25MZWZ0PSIke3BOLldBTExFVF9JQ09OfSI+R2V0IGEgV2FsbGV0PC93M20tYnV0dG9uPjx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub25MZWFybk1vcmUuYmluZCh0aGlzKX0iIC5pY29uUmlnaHQ9IiR7cE4uQVJST1dfVVBfUklHSFRfSUNPTn0iPkxlYXJuIE1vcmU8L3czbS1idXR0b24+PC9kaXY+PC93M20tbW9kYWwtY29udGVudD5gfX07d3ouc3R5bGVzPVtwdy5nbG9iYWxDc3Msd0JdLHd6PSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/d0YodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ3Vyh0LG4sbyksb30pKFtzaSgidzNtLWhlbHAtdmlldyIpXSx3eik7bGV0IHdIPWFfYHczbS1pbmZvLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO3BhZGRpbmc6NXB4IDB9dzNtLXRleHR7dGV4dC1hbGlnbjpjZW50ZXJ9YDt2YXIgd2o9T2JqZWN0LmRlZmluZVByb3BlcnR5LHdaPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isd1k9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3daKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmd2oodCxuLG8pLG99O2xldCB3Vj1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmlzRXJyb3I9ITEsdGhpcy5jb25uZWN0b3I9dGkuY2xpZW50KCkuZ2V0Q29ubmVjdG9yQnlJZCgiaW5qZWN0ZWQiKSx0aGlzLm9wZW5JbmplY3RlZEFwcCgpfWFzeW5jIG9wZW5JbmplY3RlZEFwcCgpe2xldHtyZWFkeTplfT10aGlzLmNvbm5lY3RvcjtlJiYodGhpcy5pc0Vycm9yPSExLGF3YWl0IGdlLmhhbmRsZUNvbm5lY3RvckNvbm5lY3Rpb24oImluamVjdGVkIiwoKT0+e3RoaXMuaXNFcnJvcj0hMH0pKX1yZW5kZXIoKXtsZXR7bmFtZTplLGlkOnQsaW1hZ2VfaWQ6bn09dHMuZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHtpc01vYmlsZTpyLGlzRGVza3RvcDppLGlzV2ViOm99PWdlLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpO3JldHVybiBhUmA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iJHtlfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLWNvbm5lY3Rvci13YWl0aW5nIHdhbGxldElkPSIke3R9IiBpbWFnZUlkPSIke259IiBsYWJlbD0iJHtgQ29udGludWUgaW4gJHtlfS4uLmB9IiAuaXNFcnJvcj0iJHt0aGlzLmlzRXJyb3J9Ij48L3czbS1jb25uZWN0b3Itd2FpdGluZz48L3czbS1tb2RhbC1jb250ZW50Pjx3M20taW5mby1mb290ZXI+PHczbS10ZXh0IGNvbG9yPSJzZWNvbmRhcnkiIHZhcmlhbnQ9InNtYWxsLXRoaW4iPkNvbm5lY3Rpb24gY2FuIGJlIGRlY2xpbmVkIGlmIG11bHRpcGxlIHdhbGxldHMgYXJlIGluc3RhbGxlZCBvciBwcmV2aW91cyByZXF1ZXN0IGlzIHN0aWxsIGFjdGl2ZTwvdzNtLXRleHQ+PHczbS1wbGF0Zm9ybS1zZWxlY3Rpb24gLmlzTW9iaWxlPSIke3J9IiAuaXNEZXNrdG9wPSIke2l9IiAuaXNXZWI9IiR7b30iIC5pc1JldHJ5PSIkeyEwfSI+PHczbS1idXR0b24gLm9uQ2xpY2s9IiR7dGhpcy5vcGVuSW5qZWN0ZWRBcHAuYmluZCh0aGlzKX0iIC5kaXNhYmxlZD0iJHshdGhpcy5pc0Vycm9yfSIgLmljb25SaWdodD0iJHtwTi5SRVRSWV9JQ09OfSI+UmV0cnk8L3czbS1idXR0b24+PC93M20tcGxhdGZvcm0tc2VsZWN0aW9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTt3Vi5zdHlsZXM9W3B3Lmdsb2JhbENzcyx3SF0sd1koW3NsKCldLHdWLnByb3RvdHlwZSwiaXNFcnJvciIsMiksd1Y9d1koW3NpKCJ3M20taW5qZWN0ZWQtY29ubmVjdGluZy12aWV3IildLHdWKTtsZXQgd0c9YV9gdzNtLWluZm8tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7cGFkZGluZzo1cHggMH13M20tdGV4dHt0ZXh0LWFsaWduOmNlbnRlcn13M20tYnV0dG9ue21hcmdpbi10b3A6MTVweH1gO3ZhciB3Sz1PYmplY3QuZGVmaW5lUHJvcGVydHksd3E9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtsZXQgd1E9Y2xhc3MgZXh0ZW5kcyBzbntvbkluc3RhbGwoZSl7ZSYmdHMub3BlbkhyZWYoZSwiX2JsYW5rIil9cmVuZGVyKCl7bGV0e25hbWU6ZSxpZDp0LGltYWdlX2lkOm4saG9tZXBhZ2U6cn09dHMuZ2V0V2FsbGV0Um91dGVyRGF0YSgpO3JldHVybiBhUmA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iJHtlfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLWNvbm5lY3Rvci13YWl0aW5nIHdhbGxldElkPSIke3R9IiBpbWFnZUlkPSIke259IiBsYWJlbD0iTm90IERldGVjdGVkIiAuaXNTdGFsZT0iJHshMH0iPjwvdzNtLWNvbm5lY3Rvci13YWl0aW5nPjwvdzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+JHtgRG93bmxvYWQgJHtlfSB0byBjb250aW51ZS4gSWYgbXVsdGlwbGUgYnJvd3NlciBleHRlbnNpb25zIGFyZSBpbnN0YWxsZWQsIGRpc2FibGUgbm9uICR7ZX0gb25lcyBhbmQgdHJ5IGFnYWluYH08L3czbS10ZXh0Pjx3M20tYnV0dG9uIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uSW5zdGFsbChyKX0iIC5pY29uTGVmdD0iJHtwTi5BUlJPV19ET1dOX0lDT059Ij5Eb3dubG9hZDwvdzNtLWJ1dHRvbj48L3czbS1pbmZvLWZvb3Rlcj5gfX07d1Euc3R5bGVzPVtwdy5nbG9iYWxDc3Msd0ddLHdRPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/d3EodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ3Syh0LG4sbyksb30pKFtzaSgidzNtLWluc3RhbGwtd2FsbGV0LXZpZXciKV0sd1EpO2xldCB3WD1hX2B3M20td2FsbGV0LWltYWdle2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXdhbGxldC1pY29uLWxhcmdlLWJvcmRlci1yYWRpdXMpO3dpZHRoOjk2cHg7aGVpZ2h0Ojk2cHg7bWFyZ2luLWJvdHRvbToyMHB4fXczbS1pbmZvLWZvb3RlcntkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJX0udzNtLWFwcC1zdG9yZXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udzNtLWFwcC1zdG9yZSB3M20td2FsbGV0LWltYWdle21hcmdpbi1yaWdodDoxMHB4O21hcmdpbi1ib3R0b206MDt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXdhbGxldC1pY29uLXNtYWxsLWJvcmRlci1yYWRpdXMpfS53M20tYXBwLXN0b3JlIGRpdntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS53M20tYXBwLXN0b3JlIHczbS1idXR0b257bWFyZ2luLXJpZ2h0Oi0xMHB4fS53M20tbm90ZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4IDB9LnczbS1ub3RlIHczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfXczbS1wbGF0Zm9ybS1zZWxlY3Rpb24gZGl2e2Rpc3BsYXk6ZmxleH13M20tcGxhdGZvcm0tc2VsZWN0aW9uIHczbS1idXR0b246bnRoLWNoaWxkKDIpe21hcmdpbi1sZWZ0OjEwcHh9YDt2YXIgd0o9T2JqZWN0LmRlZmluZVByb3BlcnR5LHZlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsdnQ9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3ZlKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmd0oodCxuLG8pLG99O2xldCB2bj1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmlzRXJyb3I9ITEsdGhpcy51bndhdGNoQ29ubmVjdGlvbj12b2lkIDAsdGhpcy5vcGVuTW9iaWxlQXBwKCksdGhpcy51bndhdGNoQ29ubmVjdGlvbj10NS5zdWJzY3JpYmUoZT0+e3RoaXMuaXNFcnJvcj1lLnBhaXJpbmdFcnJvcn0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7bnVsbD09KGU9dGhpcy51bndhdGNoQ29ubmVjdGlvbil8fGUuY2FsbCh0aGlzKX1vbkZvcm1hdEFuZFJlZGlyZWN0KGUsdD0hMSl7bGV0e21vYmlsZTpuLG5hbWU6cn09dHMuZ2V0V2FsbGV0Um91dGVyRGF0YSgpLGk9bj8ubmF0aXZlLG89bj8udW5pdmVyc2FsO2lmKGkmJiF0KXtsZXQgYT10cy5mb3JtYXROYXRpdmVVcmwoaSxlLHIpO3RzLm9wZW5IcmVmKGEsIl9zZWxmIil9ZWxzZSBpZihvKXtsZXQgcz10cy5mb3JtYXRVbml2ZXJzYWxVcmwobyxlLHIpO3RzLm9wZW5IcmVmKHMsIl9zZWxmIil9fW9wZW5Nb2JpbGVBcHAoZT0hMSl7dDUuc2V0UGFpcmluZ0Vycm9yKCExKTtsZXR7c3RhbmRhbG9uZVVyaTp0fT10dS5zdGF0ZSx7cGFpcmluZ1VyaTpufT10NS5zdGF0ZSxyPXRzLmdldFdhbGxldFJvdXRlckRhdGEoKTtnZS5zZXRSZWNlbnRXYWxsZXQociksdD90aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QodCxlKTp0aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QobixlKX1vbkdvVG9BcHBTdG9yZShlKXtlJiZ0cy5vcGVuSHJlZihlLCJfYmxhbmsiKX1yZW5kZXIoKXtsZXR7bmFtZTplLGlkOnQsaW1hZ2VfaWQ6bixhcHA6cixtb2JpbGU6aX09dHMuZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHtpc1dlYjpvfT1nZS5nZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKSxhPXI/LmlvcyxzPWk/LnVuaXZlcnNhbDtyZXR1cm4gYVJgPHczbS1tb2RhbC1oZWFkZXIgdGl0bGU9IiR7ZX0iPjwvdzNtLW1vZGFsLWhlYWRlcj48dzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1jb25uZWN0b3Itd2FpdGluZyB3YWxsZXRJZD0iJHt0fSIgaW1hZ2VJZD0iJHtufSIgbGFiZWw9IlRhcCAnT3BlbicgdG8gY29udGludWXigKYiIC5pc0Vycm9yPSIke3RoaXMuaXNFcnJvcn0iPjwvdzNtLWNvbm5lY3Rvci13YWl0aW5nPjwvdzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1pbmZvLWZvb3RlciBjbGFzcz0idzNtLW5vdGUiPjx3M20tdGV4dCBjb2xvcj0ic2Vjb25kYXJ5IiB2YXJpYW50PSJzbWFsbC10aGluIj5Zb3UgY2FuIHJlbG9hZCB0aGUgd2Vic2l0ZSB0byB0cnkgYWdhaW4gJHtzP2Agb3Igb3BlbiAke2V9IHVzaW5nIGEgIkJhY2t1cCIgaW5zdGVhZGA6IiJ9PC93M20tdGV4dD48dzNtLXBsYXRmb3JtLXNlbGVjdGlvbiAuaXNXZWI9IiR7b30iIC5pc1JldHJ5PSIkeyEwfSI+PGRpdj48dzNtLWJ1dHRvbiAub25DbGljaz0iJHsoKT0+dGhpcy5vcGVuTW9iaWxlQXBwKCExKX0iIC5pY29uUmlnaHQ9IiR7cE4uUkVUUllfSUNPTn0iPlJldHJ5PC93M20tYnV0dG9uPiR7cz9hUmA8dzNtLWJ1dHRvbiB2YXJpYW50PSJvdXRsaW5lIiAub25DbGljaz0iJHsoKT0+dGhpcy5vcGVuTW9iaWxlQXBwKCEwKX0iIC5pY29uUmlnaHQ9IiR7cE4uQVJST1dfVVBfUklHSFRfSUNPTn0iPkJhY2t1cDwvdzNtLWJ1dHRvbj5gOm51bGx9PC9kaXY+PC93M20tcGxhdGZvcm0tc2VsZWN0aW9uPjwvdzNtLWluZm8tZm9vdGVyPjx3M20taW5mby1mb290ZXIgY2xhc3M9InczbS1hcHAtc3RvcmUiPjxkaXY+PHczbS13YWxsZXQtaW1hZ2Ugd2FsbGV0SWQ9IiR7dH0iIGltYWdlSWQ9IiR7bn0iPjwvdzNtLXdhbGxldC1pbWFnZT48dzNtLXRleHQ+JHtgR2V0ICR7ZX1gfTwvdzNtLXRleHQ+PC9kaXY+PHczbS1idXR0b24gLmljb25SaWdodD0iJHtwTi5BUlJPV19SSUdIVF9JQ09OfSIgLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25Hb1RvQXBwU3RvcmUoYSl9IiB2YXJpYW50PSJnaG9zdCI+QXBwIFN0b3JlPC93M20tYnV0dG9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTt2bi5zdHlsZXM9W3B3Lmdsb2JhbENzcyx3WF0sdnQoW3NsKCldLHZuLnByb3RvdHlwZSwiaXNFcnJvciIsMiksdm49dnQoW3NpKCJ3M20tbW9iaWxlLWNvbm5lY3RpbmctdmlldyIpXSx2bik7bGV0IHZyPWFfYHczbS1pbmZvLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO3BhZGRpbmc6NXB4IDB9dzNtLXRleHR7dGV4dC1hbGlnbjpjZW50ZXJ9YDt2YXIgdmk9T2JqZWN0LmRlZmluZVByb3BlcnR5LHZvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IHZhPWNsYXNzIGV4dGVuZHMgc257cmVuZGVyKCl7bGV0e25hbWU6ZSxpZDp0LGltYWdlX2lkOm59PXRzLmdldFdhbGxldFJvdXRlckRhdGEoKSx7aXNJbmplY3RlZDpyLGlzRGVza3RvcDppLGlzV2ViOm99PWdlLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpO3JldHVybiBhUmA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iJHtlfSIgLm9uQWN0aW9uPSIke2dlLmhhbmRsZVVyaUNvcHl9IiAuYWN0aW9uSWNvbj0iJHtwTi5DT1BZX0lDT059Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50Pjx3M20td2FsbGV0Y29ubmVjdC1xciB3YWxsZXRJZD0iJHt0fSIgaW1hZ2VJZD0iJHtufSI+PC93M20td2FsbGV0Y29ubmVjdC1xcj48L3czbS1tb2RhbC1jb250ZW50Pjx3M20taW5mby1mb290ZXI+PHczbS10ZXh0IGNvbG9yPSJzZWNvbmRhcnkiIHZhcmlhbnQ9InNtYWxsLXRoaW4iPiR7YFNjYW4gdGhpcyBxcmNvZGUgd2l0aCB5b3VyIHBob25lJ3MgY2FtZXJhIG9yIGluc2lkZSAke2V9IGFwcGB9PC93M20tdGV4dD48dzNtLXBsYXRmb3JtLXNlbGVjdGlvbiAuaXNEZXNrdG9wPSIke2l9IiAuaXNJbmplY3RlZD0iJHtyfSIgLmlzV2ViPSIke299Ij48L3czbS1wbGF0Zm9ybS1zZWxlY3Rpb24+PC93M20taW5mby1mb290ZXI+YH19O3ZhLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHZyXSx2YT0oKGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3ZvKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmdmkodCxuLG8pLG99KShbc2koInczbS1tb2JpbGUtcXItY29ubmVjdGluZy12aWV3IildLHZhKTt2YXIgdnM9T2JqZWN0LmRlZmluZVByb3BlcnR5LHZsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7bGV0IHYkPWNsYXNzIGV4dGVuZHMgc257cmVuZGVyKCl7cmV0dXJuIGFSYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSJTY2FuIHRoZSBjb2RlIiAub25BY3Rpb249IiR7Z2UuaGFuZGxlVXJpQ29weX0iIC5hY3Rpb25JY29uPSIke3BOLkNPUFlfSUNPTn0iPjwvdzNtLW1vZGFsLWhlYWRlcj48dzNtLW1vZGFsLWNvbnRlbnQ+PHczbS13YWxsZXRjb25uZWN0LXFyPjwvdzNtLXdhbGxldGNvbm5lY3QtcXI+PC93M20tbW9kYWwtY29udGVudD5gfX07diQuc3R5bGVzPVtwdy5nbG9iYWxDc3NdLHYkPSgoZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/dmwodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ2cyh0LG4sbyksb30pKFtzaSgidzNtLXFyY29kZS12aWV3IildLHYkKTtsZXQgdmM9YV9gZGl2e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsODBweCk7bWFyZ2luOi01cHggLTEwcHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59dzNtLWluZm8tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7cGFkZGluZzo1cHggMH13M20taW5mby1mb290ZXIgdzNtLXRleHR7dGV4dC1hbGlnbjpjZW50ZXJ9YDt2YXIgdmg9T2JqZWN0LmRlZmluZVByb3BlcnR5LHZ1PU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLHZkPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isdl89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMsdmY9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyx2cD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHYxPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsdjA9KGUsdCxuKT0+dCBpbiBlP3ZoKGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pOmVbdF09bix2Zz0oZSx0KT0+e2Zvcih2YXIgbiBpbiB0fHwodD17fSkpdnAuY2FsbCh0LG4pJiZ2MChlLG4sdFtuXSk7aWYodmYpZm9yKHZhciBuIG9mIHZmKHQpKXYxLmNhbGwodCxuKSYmdjAoZSxuLHRbbl0pO3JldHVybiBlfSx2bT0oZSx0KT0+dnUoZSx2Xyh0KSksdjM9KGUsdCxuLHIpPT57Zm9yKHZhciBpLG89cj4xP3ZvaWQgMDpyP3ZkKHQsbik6dCxhPWUubGVuZ3RoLTE7YT49MDthLS0pKGk9ZVthXSkmJihvPShyP2kodCxuLG8pOmkobykpfHxvKTtyZXR1cm4gciYmbyYmdmgodCxuLG8pLG99O2xldCB2dz1jbGFzcyBleHRlbmRzIHNue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmNvbm5lY3RlZENoYWlucz0iQUxMIix0aGlzLmlzVW5zdXBwb3J0ZWRDaGFpbnM9ITEsdGhpcy5nZXRDb25uZWN0ZWRDaGFpbklkcygpfWFzeW5jIGdldENvbm5lY3RlZENoYWluSWRzKCl7dGhpcy5jb25uZWN0ZWRDaGFpbnM9YXdhaXQgdGkuY2xpZW50KCkuZ2V0Q29ubmVjdGVkQ2hhaW5JZHMoKX1hc3luYyBvblNlbGVjdENoYWluKGUpe3RyeXtsZXR7c2VsZWN0ZWRDaGFpbjp0LHdhbGxldENvbm5lY3RWZXJzaW9uOm4saXNQcmVmZXJJbmplY3RlZDpyfT10dS5zdGF0ZSx7aXNDb25uZWN0ZWQ6aX09dHAuc3RhdGU7aT90Py5pZD09PWUuaWQ/dGEucmVzZXQoIkFjY291bnQiKToyPT09bj8oYXdhaXQgdGkuY2xpZW50KCkuc3dpdGNoTmV0d29yayh7Y2hhaW5JZDplLmlkfSksdGEucmVzZXQoIkFjY291bnQiKSk6dGEucHVzaCgiU3dpdGNoTmV0d29yayIse1N3aXRjaE5ldHdvcms6ZX0pOnI/KHR1LnNldFNlbGVjdGVkQ2hhaW4oZSksdDcuY2xvc2UoKSk6KHR1LnNldFNlbGVjdGVkQ2hhaW4oZSksdGEucHVzaCgiQ29ubmVjdFdhbGxldCIpKX1jYXRjaChvKXtjb25zb2xlLmVycm9yKG8pLHROLm9wZW5Ub2FzdChnZS5nZXRFcnJvck1lc3NhZ2UobyksImVycm9yIil9fWlzVW5zdXBvcnRlZENoYWluSWQoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0aGlzLmNvbm5lY3RlZENoYWlucyYmIkFMTCIhPT10aGlzLmNvbm5lY3RlZENoYWlucz8odGhpcy5pc1Vuc3VwcG9ydGVkQ2hhaW5zPSEwLCEwKTohIUFycmF5LmlzQXJyYXkodGhpcy5jb25uZWN0ZWRDaGFpbnMpJiYhdGhpcy5jb25uZWN0ZWRDaGFpbnMuaW5jbHVkZXMoU3RyaW5nKGUpKSYmKHRoaXMuaXNVbnN1cHBvcnRlZENoYWlucz0hMCwhMCl9cmVuZGVyKCl7bGV0e2NoYWluczplfT10dS5zdGF0ZSx0PWU/Lm1hcChlPT52bSh2Zyh7fSxlKSx7dW5zdXBwb3J0ZWQ6dGhpcy5pc1Vuc3Vwb3J0ZWRDaGFpbklkKGUuaWQpfSkpLG49dD8uc29ydCgoZSx0KT0+TnVtYmVyKGUudW5zdXBwb3J0ZWQpLU51bWJlcih0LnVuc3VwcG9ydGVkKSk7cmV0dXJuIGFSYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSJTZWxlY3QgbmV0d29yayI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48ZGl2PiR7bj8ubWFwKGU9PmFSYDx3M20tbmV0d29yay1idXR0b24gbmFtZT0iJHtlLm5hbWV9IiBjaGFpbklkPSIke2UuaWR9IiAudW5zdXBwb3J0ZWQ9IiR7ZS51bnN1cHBvcnRlZH0iIC5vbkNsaWNrPSIke2FzeW5jKCk9PnRoaXMub25TZWxlY3RDaGFpbihlKX0iPiR7ZS5uYW1lfTwvdzNtLW5ldHdvcmstYnV0dG9uPmApfTwvZGl2PjwvdzNtLW1vZGFsLWNvbnRlbnQ+JHt0aGlzLmlzVW5zdXBwb3J0ZWRDaGFpbnM/YVJgPHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+WW91ciBjb25uZWN0ZWQgd2FsbGV0IG1heSBub3Qgc3VwcG9ydCBzb21lIG9mIHRoZSBuZXR3b3JrcyBhdmFpbGFibGUgZm9yIHRoaXMgZGFwcDwvdzNtLXRleHQ+PC93M20taW5mby1mb290ZXI+YDpudWxsfWB9fTt2dy5zdHlsZXM9W3B3Lmdsb2JhbENzcyx2Y10sdjMoW3NsKCldLHZ3LnByb3RvdHlwZSwiY29ubmVjdGVkQ2hhaW5zIiwyKSx2Myhbc2woKV0sdncucHJvdG90eXBlLCJpc1Vuc3VwcG9ydGVkQ2hhaW5zIiwyKSx2dz12Myhbc2koInczbS1zZWxlY3QtbmV0d29yay12aWV3IildLHZ3KTtsZXQgdnY9YV9gdzNtLWluZm8tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7cGFkZGluZzo1cHggMH13M20tdGV4dHt0ZXh0LWFsaWduOmNlbnRlcn13M20tYnV0dG9ue21hcmdpbi10b3A6MTVweH1gO3ZhciB2Mj1PYmplY3QuZGVmaW5lUHJvcGVydHksdjQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2Yj0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/djQodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ2Mih0LG4sbyksb307bGV0IHY4PWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuaXNFcnJvcj0hMSx0aGlzLm9uU3dpdGNoTmV0d29yaygpfWFzeW5jIG9uU3dpdGNoTmV0d29yaygpe3RyeXt0aGlzLmlzRXJyb3I9ITE7bGV0IGU9dHMuZ2V0U3dpdGNoTmV0d29ya1JvdXRlckRhdGEoKTthd2FpdCB0aS5jbGllbnQoKS5zd2l0Y2hOZXR3b3JrKHtjaGFpbklkOmUuaWR9KSx0dS5zZXRTZWxlY3RlZENoYWluKGUpLHRhLnJlc2V0KCJBY2NvdW50Iil9Y2F0Y2h7dGhpcy5pc0Vycm9yPSEwfX1yZW5kZXIoKXtsZXR7aWQ6ZSxuYW1lOnR9PXRzLmdldFN3aXRjaE5ldHdvcmtSb3V0ZXJEYXRhKCk7cmV0dXJuIGFSYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSIke2BDb25uZWN0IHRvICR7dH1gfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLW5ldHdvcmstd2FpdGluZyBjaGFpbklkPSIke2V9IiBsYWJlbD0iQXBwcm92ZSBpbiB5b3VyIHdhbGxldCIgLmlzRXJyb3I9IiR7dGhpcy5pc0Vycm9yfSI+PC93M20tbmV0d29yay13YWl0aW5nPjwvdzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+U3dpdGNoIGNhbiBiZSBkZWNsaW5lZCBpZiBjaGFpbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IGEgd2FsbGV0IG9yIHByZXZpb3VzIHJlcXVlc3QgaXMgc3RpbGwgYWN0aXZlPC93M20tdGV4dD48dzNtLWJ1dHRvbiAub25DbGljaz0iJHt0aGlzLm9uU3dpdGNoTmV0d29yay5iaW5kKHRoaXMpfSIgLmRpc2FibGVkPSIkeyF0aGlzLmlzRXJyb3J9IiAuaWNvblJpZ2h0PSIke3BOLlJFVFJZX0lDT059Ij5UcnkgQWdhaW48L3czbS1idXR0b24+PC93M20taW5mby1mb290ZXI+YH19O3Y4LnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHZ2XSx2Yihbc2woKV0sdjgucHJvdG90eXBlLCJpc0Vycm9yIiwyKSx2OD12Yihbc2koInczbS1zd2l0Y2gtbmV0d29yay12aWV3IildLHY4KTtsZXQgdjY9YV9gdzNtLW1vZGFsLWNvbnRlbnR7aGVpZ2h0OmNsYW1wKDIwMHB4LDYwdmgsNjAwcHgpO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6c2Nyb2xsO3Njcm9sbGJhci13aWR0aDpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MXB4fS53M20tZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDgwcHgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjotMTVweCAtMTBweDtwYWRkaW5nLXRvcDoyMHB4fXczbS1tb2RhbC1jb250ZW50OjphZnRlcix3M20tbW9kYWwtY29udGVudDo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246Zml4ZWQ7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjE7d2lkdGg6MTAwJTtoZWlnaHQ6MjBweDtvcGFjaXR5OjF9dzNtLW1vZGFsLWNvbnRlbnQ6OmJlZm9yZXtib3gtc2hhZG93OjAgLTFweCAwIDAgdmFyKC0tdzNtLWNvbG9yLWJnLTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXczbS1jb2xvci1iZy0xKSxyZ2JhKDI1NSwyNTUsMjU1LDApKX13M20tbW9kYWwtY29udGVudDo6YWZ0ZXJ7Ym94LXNoYWRvdzowIDFweCAwIDAgdmFyKC0tdzNtLWNvbG9yLWJnLTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMCksdmFyKC0tdzNtLWNvbG9yLWJnLTEpKTt0b3A6Y2FsYygxMDAlIC0gMjBweCl9dzNtLW1vZGFsLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udzNtLXBsYWNlaG9sZGVyLWJsb2Nre2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwcHg7b3ZlcmZsb3c6aGlkZGVufS53M20tZW1wdHksLnczbS1sb2FkaW5ne2Rpc3BsYXk6ZmxleH0udzNtLWxvYWRpbmcgLnczbS1wbGFjZWhvbGRlci1ibG9ja3toZWlnaHQ6MTAwJX0udzNtLWVuZC1yZWFjaGVkIC53M20tcGxhY2Vob2xkZXItYmxvY2t7aGVpZ2h0OjA7b3BhY2l0eTowfS53M20tZW1wdHkgLnczbS1wbGFjZWhvbGRlci1ibG9ja3tvcGFjaXR5OjE7aGVpZ2h0OjEwMCV9dzNtLXdhbGxldC1idXR0b257bWFyZ2luOmNhbGMoKDEwMCUgLSA2MHB4KS8gMykgMH1gO3ZhciB2eT1PYmplY3QuZGVmaW5lUHJvcGVydHksdjU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2eD0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/djUodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ2eSh0LG4sbyksb307bGV0IHY3PTQwLHZFPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubG9hZGluZz0hdDYuc3RhdGUud2FsbGV0cy5saXN0aW5ncy5sZW5ndGgsdGhpcy5maXJzdEZldGNoPSF0Ni5zdGF0ZS53YWxsZXRzLmxpc3RpbmdzLmxlbmd0aCx0aGlzLnNlYXJjaD0iIix0aGlzLmVuZFJlYWNoZWQ9ITEsdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcj12b2lkIDAsdGhpcy5zZWFyY2hEZWJvdW5jZT1nZS5kZWJvdW5jZShlPT57ZS5sZW5ndGg+PTM/KHRoaXMuZmlyc3RGZXRjaD0hMCx0aGlzLmVuZFJlYWNoZWQ9ITEsdGhpcy5zZWFyY2g9ZSx0Ni5yZXNldFNlYXJjaCgpLHRoaXMuZmV0Y2hXYWxsZXRzKCkpOnRoaXMuc2VhcmNoJiYodGhpcy5zZWFyY2g9IiIsdGhpcy5lbmRSZWFjaGVkPXRoaXMuaXNMYXN0UGFnZSgpLHQ2LnJlc2V0U2VhcmNoKCkpfSl9Zmlyc3RVcGRhdGVkKCl7dGhpcy5jcmVhdGVQYWdpbmF0aW9uT2JzZXJ2ZXIoKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlO251bGw9PShlPXRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIpfHxlLmRpc2Nvbm5lY3QoKX1nZXQgcGxhY2Vob2xkZXJFbCgpe3JldHVybiBnZS5nZXRTaGFkb3dSb290RWxlbWVudCh0aGlzLCIudzNtLXBsYWNlaG9sZGVyLWJsb2NrIil9Y3JlYXRlUGFnaW5hdGlvbk9ic2VydmVyKCl7dGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKFtlXSk9PntlLmlzSW50ZXJzZWN0aW5nJiYhKHRoaXMuc2VhcmNoJiZ0aGlzLmZpcnN0RmV0Y2gpJiZ0aGlzLmZldGNoV2FsbGV0cygpfSksdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMucGxhY2Vob2xkZXJFbCl9aXNMYXN0UGFnZSgpe2xldHt3YWxsZXRzOmUsc2VhcmNoOnR9PXQ2LnN0YXRlLHtsaXN0aW5nczpuLHRvdGFsOnJ9PXRoaXMuc2VhcmNoP3Q6ZTtyZXR1cm4gcjw9djd8fG4ubGVuZ3RoPj1yfWFzeW5jIGZldGNoV2FsbGV0cygpe3ZhciBlO2xldHt3YWxsZXRzOnQsc2VhcmNoOm4saW5qZWN0ZWRXYWxsZXRzOnJ9PXQ2LnN0YXRlLHtsaXN0aW5nczppLHRvdGFsOm8scGFnZTphfT10aGlzLnNlYXJjaD9uOnQ7aWYoIXRoaXMuZW5kUmVhY2hlZCYmKHRoaXMuZmlyc3RGZXRjaHx8bz52NyYmaS5sZW5ndGg8bykpdHJ5e3RoaXMubG9hZGluZz0hMDtsZXQgcz1udWxsPT0oZT10dS5zdGF0ZS5zdGFuZGFsb25lQ2hhaW5zKT92b2lkIDA6ZS5qb2luKCIsIikse2xpc3RpbmdzOmx9PWF3YWl0IHQ2LmdldFdhbGxldHMoe3BhZ2U6dGhpcy5maXJzdEZldGNoPzE6YSsxLGVudHJpZXM6djcsc2VhcmNoOnRoaXMuc2VhcmNoLHZlcnNpb246dHUuc3RhdGUud2FsbGV0Q29ubmVjdFZlcnNpb24sY2hhaW5zOnN9KSwkPWwubWFwKGU9PmdlLmdldFdhbGxldEljb24oZSkpLGM9ci5tYXAoZT0+Z2UuZ2V0V2FsbGV0SWNvbihlKSk7YXdhaXQgUHJvbWlzZS5hbGwoWy4uLiQubWFwKGFzeW5jIGU9PmdlLnByZWxvYWRJbWFnZShlKSksLi4uYy5tYXAoYXN5bmMgZT0+Z2UucHJlbG9hZEltYWdlKGUpKSx0cy53YWl0KDMwMCldKSx0aGlzLmVuZFJlYWNoZWQ9dGhpcy5pc0xhc3RQYWdlKCl9Y2F0Y2goaCl7Y29uc29sZS5lcnJvcihoKSx0Ti5vcGVuVG9hc3QoZ2UuZ2V0RXJyb3JNZXNzYWdlKGgpLCJlcnJvciIpfWZpbmFsbHl7dGhpcy5sb2FkaW5nPSExLHRoaXMuZmlyc3RGZXRjaD0hMX19b25Db25uZWN0KGUpe3RzLmlzQW5kcm9pZCgpP2dlLmhhbmRsZU1vYmlsZUxpbmtpbmcoZSk6Z2UuZ29Ub0Nvbm5lY3RpbmdWaWV3KGUpfW9uU2VhcmNoQ2hhbmdlKGUpe2xldHt2YWx1ZTp0fT1lLnRhcmdldDt0aGlzLnNlYXJjaERlYm91bmNlKHQpfXJlbmRlcigpe2xldHt3YWxsZXRzOmUsc2VhcmNoOnR9PXQ2LnN0YXRlLHtsaXN0aW5nczpufT10aGlzLnNlYXJjaD90OmUscj10aGlzLmxvYWRpbmcmJiFuLmxlbmd0aCxpPXRoaXMuc2VhcmNoLmxlbmd0aD49MyxvPW04LmluamVjdGVkV2FsbGV0c1RlbXBsYXRlKCksYT1tOC5tYW51YWxXYWxsZXRzVGVtcGxhdGUoKSxzPW04LnJlY29tZW5kZWRXYWxsZXRzVGVtcGxhdGUoITApO2kmJihvPW8uZmlsdGVyKCh7dmFsdWVzOmV9KT0+Z2UuY2FzZVNhZmVJbmNsdWRlcyhlWzBdLHRoaXMuc2VhcmNoKSksYT1hLmZpbHRlcigoe3ZhbHVlczplfSk9PmdlLmNhc2VTYWZlSW5jbHVkZXMoZVswXSx0aGlzLnNlYXJjaCkpLHM9cy5maWx0ZXIoKHt2YWx1ZXM6ZX0pPT5nZS5jYXNlU2FmZUluY2x1ZGVzKGVbMF0sdGhpcy5zZWFyY2gpKSk7bGV0IGw9IXRoaXMubG9hZGluZyYmIW4ubGVuZ3RoJiYhby5sZW5ndGgmJiFzLmxlbmd0aCwkPU1hdGgubWF4KG8ubGVuZ3RoLG4ubGVuZ3RoKSxjPXsidzNtLWxvYWRpbmciOnIsInczbS1lbmQtcmVhY2hlZCI6dGhpcy5lbmRSZWFjaGVkfHwhdGhpcy5sb2FkaW5nLCJ3M20tZW1wdHkiOmx9O3JldHVybiBhUmA8dzNtLW1vZGFsLWhlYWRlcj48dzNtLXNlYXJjaC1pbnB1dCAub25DaGFuZ2U9IiR7dGhpcy5vblNlYXJjaENoYW5nZS5iaW5kKHRoaXMpfSI+PC93M20tc2VhcmNoLWlucHV0PjwvdzNtLW1vZGFsLWhlYWRlcj48dzNtLW1vZGFsLWNvbnRlbnQgY2xhc3M9IiR7c2goYyl9Ij48ZGl2IGNsYXNzPSJ3M20tZ3JpZCI+JHtyP251bGw6c30gJHtyP251bGw6Wy4uLkFycmF5KCQpXS5tYXAoKGUsdCk9PmFSYCR7YVt0XX0gJHtvW3RdfSAke25bdF0/YVJgPHczbS13YWxsZXQtYnV0dG9uIGltYWdlSWQ9IiR7blt0XS5pbWFnZV9pZH0iIG5hbWU9IiR7blt0XS5uYW1lfSIgd2FsbGV0SWQ9IiR7blt0XS5pZH0iIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uQ29ubmVjdChuW3RdKX0iPjwvdzNtLXdhbGxldC1idXR0b24+YDpudWxsfWApfTwvZGl2PjxkaXYgY2xhc3M9InczbS1wbGFjZWhvbGRlci1ibG9jayI+JHtsP2FSYDx3M20tdGV4dCB2YXJpYW50PSJiaWctYm9sZCIgY29sb3I9InNlY29uZGFyeSI+Tm8gcmVzdWx0cyBmb3VuZDwvdzNtLXRleHQ+YDpudWxsfSAkeyFsJiZ0aGlzLmxvYWRpbmc/YVJgPHczbS1zcGlubmVyPjwvdzNtLXNwaW5uZXI+YDpudWxsfTwvZGl2PjwvdzNtLW1vZGFsLWNvbnRlbnQ+YH19O3ZFLnN0eWxlcz1bcHcuZ2xvYmFsQ3NzLHY2XSx2eChbc2woKV0sdkUucHJvdG90eXBlLCJsb2FkaW5nIiwyKSx2eChbc2woKV0sdkUucHJvdG90eXBlLCJmaXJzdEZldGNoIiwyKSx2eChbc2woKV0sdkUucHJvdG90eXBlLCJzZWFyY2giLDIpLHZ4KFtzbCgpXSx2RS5wcm90b3R5cGUsImVuZFJlYWNoZWQiLDIpLHZFPXZ4KFtzaSgidzNtLXdhbGxldC1leHBsb3Jlci12aWV3IildLHZFKTtsZXQgdkM9YV9gdzNtLWluZm8tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7cGFkZGluZzo1cHggMH13M20tdGV4dHt0ZXh0LWFsaWduOmNlbnRlcn1gO3ZhciB2RD1PYmplY3QuZGVmaW5lUHJvcGVydHksdms9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2QT0oZSx0LG4scik9Pntmb3IodmFyIGksbz1yPjE/dm9pZCAwOnI/dmsodCxuKTp0LGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkoaT1lW2FdKSYmKG89KHI/aSh0LG4sbyk6aShvKSl8fG8pO3JldHVybiByJiZvJiZ2RCh0LG4sbyksb307bGV0IHZJPWNsYXNzIGV4dGVuZHMgc257Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuaXNFcnJvcj0hMSx0aGlzLnVud2F0Y2hDb25uZWN0aW9uPXZvaWQgMCx0aGlzLm9wZW5XZWJXYWxsZXQoKSx0aGlzLnVud2F0Y2hDb25uZWN0aW9uPXQ1LnN1YnNjcmliZShlPT57dGhpcy5pc0Vycm9yPWUucGFpcmluZ0Vycm9yfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTtudWxsPT0oZT10aGlzLnVud2F0Y2hDb25uZWN0aW9uKXx8ZS5jYWxsKHRoaXMpfW9uRm9ybWF0QW5kUmVkaXJlY3QoZSl7bGV0e2Rlc2t0b3A6dCxuYW1lOm59PXRzLmdldFdhbGxldFJvdXRlckRhdGEoKSxyPXQ/LnVuaXZlcnNhbDtpZihyKXtsZXQgaT10cy5mb3JtYXRVbml2ZXJzYWxVcmwocixlLG4pO3RzLm9wZW5IcmVmKGksIl9ibGFuayIpfX1vcGVuV2ViV2FsbGV0KCl7dDUuc2V0UGFpcmluZ0Vycm9yKCExKTtsZXR7c3RhbmRhbG9uZVVyaTplfT10dS5zdGF0ZSx7cGFpcmluZ1VyaTp0fT10NS5zdGF0ZSxuPXRzLmdldFdhbGxldFJvdXRlckRhdGEoKTtnZS5zZXRSZWNlbnRXYWxsZXQobiksZT90aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QoZSk6dGhpcy5vbkZvcm1hdEFuZFJlZGlyZWN0KHQpfXJlbmRlcigpe2xldHtuYW1lOmUsaWQ6dCxpbWFnZV9pZDpufT10cy5nZXRXYWxsZXRSb3V0ZXJEYXRhKCkse2lzTW9iaWxlOnIsaXNJbmplY3RlZDppLGlzRGVza3RvcDpvfT1nZS5nZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKSxhPXRzLmlzTW9iaWxlKCk7cmV0dXJuIGFSYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSIke2V9IiAub25BY3Rpb249IiR7Z2UuaGFuZGxlVXJpQ29weX0iIC5hY3Rpb25JY29uPSIke3BOLkNPUFlfSUNPTn0iPjwvdzNtLW1vZGFsLWhlYWRlcj48dzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1jb25uZWN0b3Itd2FpdGluZyB3YWxsZXRJZD0iJHt0fSIgaW1hZ2VJZD0iJHtufSIgbGFiZWw9IiR7YENvbnRpbnVlIGluICR7ZX0uLi5gfSIgLmlzRXJyb3I9IiR7dGhpcy5pc0Vycm9yfSI+PC93M20tY29ubmVjdG9yLXdhaXRpbmc+PC93M20tbW9kYWwtY29udGVudD48dzNtLWluZm8tZm9vdGVyPjx3M20tdGV4dCBjb2xvcj0ic2Vjb25kYXJ5IiB2YXJpYW50PSJzbWFsbC10aGluIj4ke2Ake2V9IHdlYiBhcHAgaGFzIG9wZW5lZCBpbiBhIG5ldyB0YWIuIEdvIHRoZXJlLCBhY2NlcHQgdGhlIGNvbm5lY3Rpb24sIGFuZCBjb21lIGJhY2tgfTwvdzNtLXRleHQ+PHczbS1wbGF0Zm9ybS1zZWxlY3Rpb24gLmlzTW9iaWxlPSIke3J9IiAuaXNJbmplY3RlZD0iJHshYSYmaX0iIC5pc0Rlc2t0b3A9IiR7IWEmJm99IiAuaXNSZXRyeT0iJHshMH0iPjx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub3BlbldlYldhbGxldC5iaW5kKHRoaXMpfSIgLmljb25SaWdodD0iJHtwTi5SRVRSWV9JQ09OfSI+UmV0cnk8L3czbS1idXR0b24+PC93M20tcGxhdGZvcm0tc2VsZWN0aW9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTt2SS5zdHlsZXM9W3B3Lmdsb2JhbENzcyx2Q10sdkEoW3NsKCldLHZJLnByb3RvdHlwZSwiaXNFcnJvciIsMiksdkk9dkEoW3NpKCJ3M20td2ViLWNvbm5lY3RpbmctdmlldyIpXSx2SSk7dmFyIHZUPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGdldCBXM21BY2NvdW50QnV0dG9uKCl7cmV0dXJuIG1wfSxnZXQgVzNtQ29ubmVjdEJ1dHRvbigpe3JldHVybiBtOX0sZ2V0IFczbUNvcmVCdXR0b24oKXtyZXR1cm4gbVp9LGdldCBXM21Nb2RhbCgpe3JldHVybiB3bH0sZ2V0IFczbU5ldHdvcmtTd2l0Y2goKXtyZXR1cm4gd2R9LGdldCBXM21RckNvZGUoKXtyZXR1cm4gZzh9fSk7cmV0dXJuIGFzfSk7"}},"time_used":104,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":95,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.255Z","timestamp":1785140382255,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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: identity\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 62460\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:12 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 10 Sep 2025 16:30:17 GMT\r\ncontent-type: font/woff2\r\nage: 414510\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62460,"size_decoded":63273,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 62460, version 1.0","md5":"4c04ee82dc1deb4f32b244195d258e9b","sha1":"9bd2bc9c6f54075acd20589f87c17a73e3ab07b3","sha256":"ab72fd10c9ac5633c1f9ae4267864b674596062e023458e02973080bd1098904","sha512":"43bd417c75382fbcad7a44c73db7ec8e883bb505b63215ec67488eb205b61acd94031d5740bdf70cf413fcb126ac6a567b4c71831eeb063e5643fa0adc704895","ssdeep":"1536:Hjv9lkTtdw0aS3yPvWdfDSFdW6KK8zPJ86DQMBXQX:Hz9ceS3y2FDSFdRKNzPJj5gX","tlshash":"8753028264d3489c8c8b69d354847f1c707ef88fc1b88995a8e33ca14d4b1e6e85ad7f","first_seen":"2025-09-11T19:26:36.805532Z","last_seen":"2026-08-09T22:49:26.509168Z","times_seen":24313,"resource_available":false,"data":"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"}},"time_used":100,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":43,"receive":33,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/axios@1.6.7/dist/axios.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.594Z","timestamp":1785140382594,"http_version":"HTTP/3","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":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /axios@1.6.7/dist/axios.min.js HTTP/1.1\r\nHost: unpkg.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a21a387f4eaa5689-OSL\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 4674922\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:19:42 GMT\r\nlast-modified: Wed, 03 Jun 2026 05:44:20 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:NDS2dZXGgHGCThQtB3zn4QXUCsQLFRZIltEeVAeNAhM=:\r\nfly-request-id: 01KRE4J16GD45J61NXZT17BHS6-arn\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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":"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":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}],"data":{"size":40997,"size_decoded":15639,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (40958)","md5":"a46ffdababfaea9a1d2f8da24fd43086","sha1":"a54d5dade6f704214f6184c815926158c0fc21e0","sha256":"3434b67595c68071824e142d077ce7e105d40ac40b15164896d11e54078d0213","sha512":"3507c1fdb0da07c91a49717c13bec98e11c6e4f33a5d5471bc7ce4662c25ddd7560843c16b6dd3efa32e592c0025d306267990a8cd15798f6416ccecac1105ad","ssdeep":"768:M+/XtcUl+5BCzCk3cuyl+lRCj1Q3w8zdTtWaqlBxHdhJNK/1:ZtPZleRSJzB2qt","tlshash":"2e03d8c9b6d2f06143a771b4806f200bf23aa915b48d8454f225ece67cb950e936bf7d","first_seen":"2024-01-25T21:42:49Z","last_seen":"2026-08-02T08:07:45.627396Z","times_seen":13703,"resource_available":true,"data":"IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6ZXx8c2VsZikuYXhpb3M9dCgpfSh0aGlzLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUsdCl7dmFyIHI9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpKSxyLnB1c2guYXBwbHkocixuKX1yZXR1cm4gcn1mdW5jdGlvbiB0KHQpe2Zvcih2YXIgcj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1tyXT9hcmd1bWVudHNbcl06e307ciUyP2UoT2JqZWN0KG4pLCEwKS5mb3JFYWNoKChmdW5jdGlvbihlKXt1KHQsZSxuW2VdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTplKE9iamVjdChuKSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sZSkpfSkpfXJldHVybiB0fWZ1bmN0aW9uIHIoKXtyPWZ1bmN0aW9uKCl7cmV0dXJuIGV9O3ZhciBlPXt9LHQ9T2JqZWN0LnByb3RvdHlwZSxuPXQuaGFzT3duUHJvcGVydHksbz0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxpPW8uaXRlcmF0b3J8fCJAQGl0ZXJhdG9yIixhPW8uYXN5bmNJdGVyYXRvcnx8IkBAYXN5bmNJdGVyYXRvciIscz1vLnRvU3RyaW5nVGFnfHwiQEB0b1N0cmluZ1RhZyI7ZnVuY3Rpb24gdShlLHQscil7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KSxlW3RdfXRyeXt1KHt9LCIiKX1jYXRjaChlKXt1PWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZVt0XT1yfX1mdW5jdGlvbiBjKGUsdCxyLG4pe3ZhciBvPXQmJnQucHJvdG90eXBlIGluc3RhbmNlb2YgaD90OmgsaT1PYmplY3QuY3JlYXRlKG8ucHJvdG90eXBlKSxhPW5ldyBSKG58fFtdKTtyZXR1cm4gaS5faW52b2tlPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj0ic3VzcGVuZGVkU3RhcnQiO3JldHVybiBmdW5jdGlvbihvLGkpe2lmKCJleGVjdXRpbmciPT09bil0aHJvdyBuZXcgRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmciKTtpZigiY29tcGxldGVkIj09PW4pe2lmKCJ0aHJvdyI9PT1vKXRocm93IGk7cmV0dXJuIGooKX1mb3Ioci5tZXRob2Q9byxyLmFyZz1pOzspe3ZhciBhPXIuZGVsZWdhdGU7aWYoYSl7dmFyIHM9RShhLHIpO2lmKHMpe2lmKHM9PT1sKWNvbnRpbnVlO3JldHVybiBzfX1pZigibmV4dCI9PT1yLm1ldGhvZClyLnNlbnQ9ci5fc2VudD1yLmFyZztlbHNlIGlmKCJ0aHJvdyI9PT1yLm1ldGhvZCl7aWYoInN1c3BlbmRlZFN0YXJ0Ij09PW4pdGhyb3cgbj0iY29tcGxldGVkIixyLmFyZztyLmRpc3BhdGNoRXhjZXB0aW9uKHIuYXJnKX1lbHNlInJldHVybiI9PT1yLm1ldGhvZCYmci5hYnJ1cHQoInJldHVybiIsci5hcmcpO249ImV4ZWN1dGluZyI7dmFyIHU9ZihlLHQscik7aWYoIm5vcm1hbCI9PT11LnR5cGUpe2lmKG49ci5kb25lPyJjb21wbGV0ZWQiOiJzdXNwZW5kZWRZaWVsZCIsdS5hcmc9PT1sKWNvbnRpbnVlO3JldHVybnt2YWx1ZTp1LmFyZyxkb25lOnIuZG9uZX19InRocm93Ij09PXUudHlwZSYmKG49ImNvbXBsZXRlZCIsci5tZXRob2Q9InRocm93IixyLmFyZz11LmFyZyl9fX0oZSxyLGEpLGl9ZnVuY3Rpb24gZihlLHQscil7dHJ5e3JldHVybnt0eXBlOiJub3JtYWwiLGFyZzplLmNhbGwodCxyKX19Y2F0Y2goZSl7cmV0dXJue3R5cGU6InRocm93Iixhcmc6ZX19fWUud3JhcD1jO3ZhciBsPXt9O2Z1bmN0aW9uIGgoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXZhciB2PXt9O3UodixpLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpO3ZhciB5PU9iamVjdC5nZXRQcm90b3R5cGVPZixtPXkmJnkoeShBKFtdKSkpO20mJm0hPT10JiZuLmNhbGwobSxpKSYmKHY9bSk7dmFyIGc9cC5wcm90b3R5cGU9aC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2KTtmdW5jdGlvbiBiKGUpe1sibmV4dCIsInRocm93IiwicmV0dXJuIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dShlLHQsKGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9pbnZva2UodCxlKX0pKX0pKX1mdW5jdGlvbiB3KGUsdCl7ZnVuY3Rpb24gcihvLGksYSxzKXt2YXIgdT1mKGVbb10sZSxpKTtpZigidGhyb3ciIT09dS50eXBlKXt2YXIgYz11LmFyZyxsPWMudmFsdWU7cmV0dXJuIGwmJiJvYmplY3QiPT10eXBlb2YgbCYmbi5jYWxsKGwsIl9fYXdhaXQiKT90LnJlc29sdmUobC5fX2F3YWl0KS50aGVuKChmdW5jdGlvbihlKXtyKCJuZXh0IixlLGEscyl9KSwoZnVuY3Rpb24oZSl7cigidGhyb3ciLGUsYSxzKX0pKTp0LnJlc29sdmUobCkudGhlbigoZnVuY3Rpb24oZSl7Yy52YWx1ZT1lLGEoYyl9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIHIoInRocm93IixlLGEscyl9KSl9cyh1LmFyZyl9dmFyIG87dGhpcy5faW52b2tlPWZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gaSgpe3JldHVybiBuZXcgdCgoZnVuY3Rpb24odCxvKXtyKGUsbix0LG8pfSkpfXJldHVybiBvPW8/by50aGVuKGksaSk6aSgpfX1mdW5jdGlvbiBFKGUsdCl7dmFyIHI9ZS5pdGVyYXRvclt0Lm1ldGhvZF07aWYodm9pZCAwPT09cil7aWYodC5kZWxlZ2F0ZT1udWxsLCJ0aHJvdyI9PT10Lm1ldGhvZCl7aWYoZS5pdGVyYXRvci5yZXR1cm4mJih0Lm1ldGhvZD0icmV0dXJuIix0LmFyZz12b2lkIDAsRShlLHQpLCJ0aHJvdyI9PT10Lm1ldGhvZCkpcmV0dXJuIGw7dC5tZXRob2Q9InRocm93Iix0LmFyZz1uZXcgVHlwZUVycm9yKCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kIil9cmV0dXJuIGx9dmFyIG49ZihyLGUuaXRlcmF0b3IsdC5hcmcpO2lmKCJ0aHJvdyI9PT1uLnR5cGUpcmV0dXJuIHQubWV0aG9kPSJ0aHJvdyIsdC5hcmc9bi5hcmcsdC5kZWxlZ2F0ZT1udWxsLGw7dmFyIG89bi5hcmc7cmV0dXJuIG8/by5kb25lPyh0W2UucmVzdWx0TmFtZV09by52YWx1ZSx0Lm5leHQ9ZS5uZXh0TG9jLCJyZXR1cm4iIT09dC5tZXRob2QmJih0Lm1ldGhvZD0ibmV4dCIsdC5hcmc9dm9pZCAwKSx0LmRlbGVnYXRlPW51bGwsbCk6bzoodC5tZXRob2Q9InRocm93Iix0LmFyZz1uZXcgVHlwZUVycm9yKCJpdGVyYXRvciByZXN1bHQgaXMgbm90IGFuIG9iamVjdCIpLHQuZGVsZWdhdGU9bnVsbCxsKX1mdW5jdGlvbiBPKGUpe3ZhciB0PXt0cnlMb2M6ZVswXX07MSBpbiBlJiYodC5jYXRjaExvYz1lWzFdKSwyIGluIGUmJih0LmZpbmFsbHlMb2M9ZVsyXSx0LmFmdGVyTG9jPWVbM10pLHRoaXMudHJ5RW50cmllcy5wdXNoKHQpfWZ1bmN0aW9uIFMoZSl7dmFyIHQ9ZS5jb21wbGV0aW9ufHx7fTt0LnR5cGU9Im5vcm1hbCIsZGVsZXRlIHQuYXJnLGUuY29tcGxldGlvbj10fWZ1bmN0aW9uIFIoZSl7dGhpcy50cnlFbnRyaWVzPVt7dHJ5TG9jOiJyb290In1dLGUuZm9yRWFjaChPLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIEEoZSl7aWYoZSl7dmFyIHQ9ZVtpXTtpZih0KXJldHVybiB0LmNhbGwoZSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUubmV4dClyZXR1cm4gZTtpZighaXNOYU4oZS5sZW5ndGgpKXt2YXIgcj0tMSxvPWZ1bmN0aW9uIHQoKXtmb3IoOysrcjxlLmxlbmd0aDspaWYobi5jYWxsKGUscikpcmV0dXJuIHQudmFsdWU9ZVtyXSx0LmRvbmU9ITEsdDtyZXR1cm4gdC52YWx1ZT12b2lkIDAsdC5kb25lPSEwLHR9O3JldHVybiBvLm5leHQ9b319cmV0dXJue25leHQ6an19ZnVuY3Rpb24gaigpe3JldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19cmV0dXJuIGQucHJvdG90eXBlPXAsdShnLCJjb25zdHJ1Y3RvciIscCksdShwLCJjb25zdHJ1Y3RvciIsZCksZC5kaXNwbGF5TmFtZT11KHAscywiR2VuZXJhdG9yRnVuY3Rpb24iKSxlLmlzR2VuZXJhdG9yRnVuY3Rpb249ZnVuY3Rpb24oZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY29uc3RydWN0b3I7cmV0dXJuISF0JiYodD09PWR8fCJHZW5lcmF0b3JGdW5jdGlvbiI9PT0odC5kaXNwbGF5TmFtZXx8dC5uYW1lKSl9LGUubWFyaz1mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZihlLHApOihlLl9fcHJvdG9fXz1wLHUoZSxzLCJHZW5lcmF0b3JGdW5jdGlvbiIpKSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGcpLGV9LGUuYXdyYXA9ZnVuY3Rpb24oZSl7cmV0dXJue19fYXdhaXQ6ZX19LGIody5wcm90b3R5cGUpLHUody5wcm90b3R5cGUsYSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxlLkFzeW5jSXRlcmF0b3I9dyxlLmFzeW5jPWZ1bmN0aW9uKHQscixuLG8saSl7dm9pZCAwPT09aSYmKGk9UHJvbWlzZSk7dmFyIGE9bmV3IHcoYyh0LHIsbixvKSxpKTtyZXR1cm4gZS5pc0dlbmVyYXRvckZ1bmN0aW9uKHIpP2E6YS5uZXh0KCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZG9uZT9lLnZhbHVlOmEubmV4dCgpfSkpfSxiKGcpLHUoZyxzLCJHZW5lcmF0b3IiKSx1KGcsaSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSx1KGcsInRvU3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4iW29iamVjdCBHZW5lcmF0b3JdIn0pKSxlLmtleXM9ZnVuY3Rpb24oZSl7dmFyIHQ9W107Zm9yKHZhciByIGluIGUpdC5wdXNoKHIpO3JldHVybiB0LnJldmVyc2UoKSxmdW5jdGlvbiByKCl7Zm9yKDt0Lmxlbmd0aDspe3ZhciBuPXQucG9wKCk7aWYobiBpbiBlKXJldHVybiByLnZhbHVlPW4sci5kb25lPSExLHJ9cmV0dXJuIHIuZG9uZT0hMCxyfX0sZS52YWx1ZXM9QSxSLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UixyZXNldDpmdW5jdGlvbihlKXtpZih0aGlzLnByZXY9MCx0aGlzLm5leHQ9MCx0aGlzLnNlbnQ9dGhpcy5fc2VudD12b2lkIDAsdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD0ibmV4dCIsdGhpcy5hcmc9dm9pZCAwLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKFMpLCFlKWZvcih2YXIgdCBpbiB0aGlzKSJ0Ij09PXQuY2hhckF0KDApJiZuLmNhbGwodGhpcyx0KSYmIWlzTmFOKCt0LnNsaWNlKDEpKSYmKHRoaXNbdF09dm9pZCAwKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZG9uZT0hMDt2YXIgZT10aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjtpZigidGhyb3ciPT09ZS50eXBlKXRocm93IGUuYXJnO3JldHVybiB0aGlzLnJ2YWx9LGRpc3BhdGNoRXhjZXB0aW9uOmZ1bmN0aW9uKGUpe2lmKHRoaXMuZG9uZSl0aHJvdyBlO3ZhciB0PXRoaXM7ZnVuY3Rpb24gcihyLG4pe3JldHVybiBhLnR5cGU9InRocm93IixhLmFyZz1lLHQubmV4dD1yLG4mJih0Lm1ldGhvZD0ibmV4dCIsdC5hcmc9dm9pZCAwKSwhIW59Zm9yKHZhciBvPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtvPj0wOy0tbyl7dmFyIGk9dGhpcy50cnlFbnRyaWVzW29dLGE9aS5jb21wbGV0aW9uO2lmKCJyb290Ij09PWkudHJ5TG9jKXJldHVybiByKCJlbmQiKTtpZihpLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgcz1uLmNhbGwoaSwiY2F0Y2hMb2MiKSx1PW4uY2FsbChpLCJmaW5hbGx5TG9jIik7aWYocyYmdSl7aWYodGhpcy5wcmV2PGkuY2F0Y2hMb2MpcmV0dXJuIHIoaS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PGkuZmluYWxseUxvYylyZXR1cm4gcihpLmZpbmFsbHlMb2MpfWVsc2UgaWYocyl7aWYodGhpcy5wcmV2PGkuY2F0Y2hMb2MpcmV0dXJuIHIoaS5jYXRjaExvYywhMCl9ZWxzZXtpZighdSl0aHJvdyBuZXcgRXJyb3IoInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5Iik7aWYodGhpcy5wcmV2PGkuZmluYWxseUxvYylyZXR1cm4gcihpLmZpbmFsbHlMb2MpfX19fSxhYnJ1cHQ6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO3I+PTA7LS1yKXt2YXIgbz10aGlzLnRyeUVudHJpZXNbcl07aWYoby50cnlMb2M8PXRoaXMucHJldiYmbi5jYWxsKG8sImZpbmFsbHlMb2MiKSYmdGhpcy5wcmV2PG8uZmluYWxseUxvYyl7dmFyIGk9bzticmVha319aSYmKCJicmVhayI9PT1lfHwiY29udGludWUiPT09ZSkmJmkudHJ5TG9jPD10JiZ0PD1pLmZpbmFsbHlMb2MmJihpPW51bGwpO3ZhciBhPWk/aS5jb21wbGV0aW9uOnt9O3JldHVybiBhLnR5cGU9ZSxhLmFyZz10LGk/KHRoaXMubWV0aG9kPSJuZXh0Iix0aGlzLm5leHQ9aS5maW5hbGx5TG9jLGwpOnRoaXMuY29tcGxldGUoYSl9LGNvbXBsZXRlOmZ1bmN0aW9uKGUsdCl7aWYoInRocm93Ij09PWUudHlwZSl0aHJvdyBlLmFyZztyZXR1cm4iYnJlYWsiPT09ZS50eXBlfHwiY29udGludWUiPT09ZS50eXBlP3RoaXMubmV4dD1lLmFyZzoicmV0dXJuIj09PWUudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPWUuYXJnLHRoaXMubWV0aG9kPSJyZXR1cm4iLHRoaXMubmV4dD0iZW5kIik6Im5vcm1hbCI9PT1lLnR5cGUmJnQmJih0aGlzLm5leHQ9dCksbH0sZmluaXNoOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7dD49MDstLXQpe3ZhciByPXRoaXMudHJ5RW50cmllc1t0XTtpZihyLmZpbmFsbHlMb2M9PT1lKXJldHVybiB0aGlzLmNvbXBsZXRlKHIuY29tcGxldGlvbixyLmFmdGVyTG9jKSxTKHIpLGx9fSxjYXRjaDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO3Q+PTA7LS10KXt2YXIgcj10aGlzLnRyeUVudHJpZXNbdF07aWYoci50cnlMb2M9PT1lKXt2YXIgbj1yLmNvbXBsZXRpb247aWYoInRocm93Ij09PW4udHlwZSl7dmFyIG89bi5hcmc7UyhyKX1yZXR1cm4gb319dGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHQiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbihlLHQscil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOkEoZSkscmVzdWx0TmFtZTp0LG5leHRMb2M6cn0sIm5leHQiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz12b2lkIDApLGx9fSxlfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9LG4oZSl9ZnVuY3Rpb24gbyhlLHQscixuLG8saSxhKXt0cnl7dmFyIHM9ZVtpXShhKSx1PXMudmFsdWV9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgcihlKX1zLmRvbmU/dCh1KTpQcm9taXNlLnJlc29sdmUodSkudGhlbihuLG8pfWZ1bmN0aW9uIGkoZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBhKGUsdCl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXRbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsInZhbHVlImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLmtleSxuKX19ZnVuY3Rpb24gcyhlLHQscil7cmV0dXJuIHQmJmEoZS5wcm90b3R5cGUsdCksciYmYShlLHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLGV9ZnVuY3Rpb24gdShlLHQscil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1yLGV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBsKGUpfHxmdW5jdGlvbihlLHQpe3ZhciByPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbD09cilyZXR1cm47dmFyIG4sbyxpPVtdLGE9ITAscz0hMTt0cnl7Zm9yKHI9ci5jYWxsKGUpOyEoYT0obj1yLm5leHQoKSkuZG9uZSkmJihpLnB1c2gobi52YWx1ZSksIXR8fGkubGVuZ3RoIT09dCk7YT0hMCk7fWNhdGNoKGUpe3M9ITAsbz1lfWZpbmFsbHl7dHJ5e2F8fG51bGw9PXIucmV0dXJufHxyLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBvfX1yZXR1cm4gaX0oZSx0KXx8ZChlLHQpfHx2KCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gcChlKX0oZSl8fGgoZSl8fGQoZSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gbChlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfWZ1bmN0aW9uIGgoZSl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPWVbU3ltYm9sLml0ZXJhdG9yXXx8bnVsbCE9ZVsiQEBpdGVyYXRvciJdKXJldHVybiBBcnJheS5mcm9tKGUpfWZ1bmN0aW9uIGQoZSx0KXtpZihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIHAoZSx0KTt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1yJiZlLmNvbnN0cnVjdG9yJiYocj1lLmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09cnx8IlNldCI9PT1yP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1yfHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChyKT9wKGUsdCk6dm9pZCAwfX1mdW5jdGlvbiBwKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciByPTAsbj1uZXcgQXJyYXkodCk7cjx0O3IrKyluW3JdPWVbcl07cmV0dXJuIG59ZnVuY3Rpb24gdigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9ZnVuY3Rpb24geShlLHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsYXJndW1lbnRzKX19dmFyIG0sZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGI9T2JqZWN0LmdldFByb3RvdHlwZU9mLHc9KG09T2JqZWN0LmNyZWF0ZShudWxsKSxmdW5jdGlvbihlKXt2YXIgdD1nLmNhbGwoZSk7cmV0dXJuIG1bdF18fChtW3RdPXQuc2xpY2UoOCwtMSkudG9Mb3dlckNhc2UoKSl9KSxFPWZ1bmN0aW9uKGUpe3JldHVybiBlPWUudG9Mb3dlckNhc2UoKSxmdW5jdGlvbih0KXtyZXR1cm4gdyh0KT09PWV9fSxPPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbih0KT09PWV9fSxTPUFycmF5LmlzQXJyYXksUj1PKCJ1bmRlZmluZWQiKTt2YXIgQT1FKCJBcnJheUJ1ZmZlciIpO3ZhciBqPU8oInN0cmluZyIpLHg9TygiZnVuY3Rpb24iKSxUPU8oIm51bWJlciIpLFA9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09PW4oZSl9LE49ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCIhPT13KGUpKXJldHVybiExO3ZhciB0PWIoZSk7cmV0dXJuIShudWxsIT09dCYmdCE9PU9iamVjdC5wcm90b3R5cGUmJm51bGwhPT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCl8fFN5bWJvbC50b1N0cmluZ1RhZyBpbiBlfHxTeW1ib2wuaXRlcmF0b3IgaW4gZSl9LGs9RSgiRGF0ZSIpLF89RSgiRmlsZSIpLEw9RSgiQmxvYiIpLEM9RSgiRmlsZUxpc3QiKSxGPUUoIlVSTFNlYXJjaFBhcmFtcyIpO2Z1bmN0aW9uIFUoZSx0KXt2YXIgcixvLGk9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9LGE9aS5hbGxPd25LZXlzLHM9dm9pZCAwIT09YSYmYTtpZihudWxsIT1lKWlmKCJvYmplY3QiIT09bihlKSYmKGU9W2VdKSxTKGUpKWZvcihyPTAsbz1lLmxlbmd0aDtyPG87cisrKXQuY2FsbChudWxsLGVbcl0scixlKTtlbHNle3ZhciB1LGM9cz9PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKTpPYmplY3Qua2V5cyhlKSxmPWMubGVuZ3RoO2ZvcihyPTA7cjxmO3IrKyl1PWNbcl0sdC5jYWxsKG51bGwsZVt1XSx1LGUpfX1mdW5jdGlvbiBEKGUsdCl7dD10LnRvTG93ZXJDYXNlKCk7Zm9yKHZhciByLG49T2JqZWN0LmtleXMoZSksbz1uLmxlbmd0aDtvLS0gPjA7KWlmKHQ9PT0ocj1uW29dKS50b0xvd2VyQ2FzZSgpKXJldHVybiByO3JldHVybiBudWxsfXZhciBCPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpnbG9iYWwsST1mdW5jdGlvbihlKXtyZXR1cm4hUihlKSYmZSE9PUJ9O3ZhciBxLHo9KHE9InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OEFycmF5JiZiKFVpbnQ4QXJyYXkpLGZ1bmN0aW9uKGUpe3JldHVybiBxJiZlIGluc3RhbmNlb2YgcX0pLE09RSgiSFRNTEZvcm1FbGVtZW50IiksSD1mdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3JldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiB0LmNhbGwoZSxyKX19KCksSj1FKCJSZWdFeHAiKSxHPWZ1bmN0aW9uKGUsdCl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZSksbj17fTtVKHIsKGZ1bmN0aW9uKHIsbyl7dmFyIGk7ITEhPT0oaT10KHIsbyxlKSkmJihuW29dPWl8fHIpfSkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsbil9LFc9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IixLPSIwMTIzNDU2Nzg5IixWPXtESUdJVDpLLEFMUEhBOlcsQUxQSEFfRElHSVQ6VytXLnRvVXBwZXJDYXNlKCkrS307dmFyIFg9RSgiQXN5bmNGdW5jdGlvbiIpLCQ9e2lzQXJyYXk6Uyxpc0FycmF5QnVmZmVyOkEsaXNCdWZmZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPT1lJiYhUihlKSYmbnVsbCE9PWUuY29uc3RydWN0b3ImJiFSKGUuY29uc3RydWN0b3IpJiZ4KGUuY29uc3RydWN0b3IuaXNCdWZmZXIpJiZlLmNvbnN0cnVjdG9yLmlzQnVmZmVyKGUpfSxpc0Zvcm1EYXRhOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlJiYoImZ1bmN0aW9uIj09dHlwZW9mIEZvcm1EYXRhJiZlIGluc3RhbmNlb2YgRm9ybURhdGF8fHgoZS5hcHBlbmQpJiYoImZvcm1kYXRhIj09PSh0PXcoZSkpfHwib2JqZWN0Ij09PXQmJngoZS50b1N0cmluZykmJiJbb2JqZWN0IEZvcm1EYXRhXSI9PT1lLnRvU3RyaW5nKCkpKX0saXNBcnJheUJ1ZmZlclZpZXc6ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhlKTplJiZlLmJ1ZmZlciYmQShlLmJ1ZmZlcil9LGlzU3RyaW5nOmosaXNOdW1iZXI6VCxpc0Jvb2xlYW46ZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lfHwhMT09PWV9LGlzT2JqZWN0OlAsaXNQbGFpbk9iamVjdDpOLGlzVW5kZWZpbmVkOlIsaXNEYXRlOmssaXNGaWxlOl8saXNCbG9iOkwsaXNSZWdFeHA6Sixpc0Z1bmN0aW9uOngsaXNTdHJlYW06ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSkmJngoZS5waXBlKX0saXNVUkxTZWFyY2hQYXJhbXM6Rixpc1R5cGVkQXJyYXk6eixpc0ZpbGVMaXN0OkMsZm9yRWFjaDpVLG1lcmdlOmZ1bmN0aW9uIGUoKXtmb3IodmFyIHQ9SSh0aGlzKSYmdGhpc3x8e30scj10LmNhc2VsZXNzLG49e30sbz1mdW5jdGlvbih0LG8pe3ZhciBpPXImJkQobixvKXx8bztOKG5baV0pJiZOKHQpP25baV09ZShuW2ldLHQpOk4odCk/bltpXT1lKHt9LHQpOlModCk/bltpXT10LnNsaWNlKCk6bltpXT10fSxpPTAsYT1hcmd1bWVudHMubGVuZ3RoO2k8YTtpKyspYXJndW1lbnRzW2ldJiZVKGFyZ3VtZW50c1tpXSxvKTtyZXR1cm4gbn0sZXh0ZW5kOmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106e30sbz1uLmFsbE93bktleXM7cmV0dXJuIFUodCwoZnVuY3Rpb24odCxuKXtyJiZ4KHQpP2Vbbl09eSh0LHIpOmVbbl09dH0pLHthbGxPd25LZXlzOm99KSxlfSx0cmltOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRyaW0/ZS50cmltKCk6ZS5yZXBsYWNlKC9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZywiIil9LHN0cmlwQk9NOmZ1bmN0aW9uKGUpe3JldHVybiA2NTI3OT09PWUuY2hhckNvZGVBdCgwKSYmKGU9ZS5zbGljZSgxKSksZX0saW5oZXJpdHM6ZnVuY3Rpb24oZSx0LHIsbil7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSxuKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJzdXBlciIse3ZhbHVlOnQucHJvdG90eXBlfSksciYmT2JqZWN0LmFzc2lnbihlLnByb3RvdHlwZSxyKX0sdG9GbGF0T2JqZWN0OmZ1bmN0aW9uKGUsdCxyLG4pe3ZhciBvLGksYSxzPXt9O2lmKHQ9dHx8e30sbnVsbD09ZSlyZXR1cm4gdDtkb3tmb3IoaT0obz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKSkubGVuZ3RoO2ktLSA+MDspYT1vW2ldLG4mJiFuKGEsZSx0KXx8c1thXXx8KHRbYV09ZVthXSxzW2FdPSEwKTtlPSExIT09ciYmYihlKX13aGlsZShlJiYoIXJ8fHIoZSx0KSkmJmUhPT1PYmplY3QucHJvdG90eXBlKTtyZXR1cm4gdH0sa2luZE9mOncsa2luZE9mVGVzdDpFLGVuZHNXaXRoOmZ1bmN0aW9uKGUsdCxyKXtlPVN0cmluZyhlKSwodm9pZCAwPT09cnx8cj5lLmxlbmd0aCkmJihyPWUubGVuZ3RoKSxyLT10Lmxlbmd0aDt2YXIgbj1lLmluZGV4T2YodCxyKTtyZXR1cm4tMSE9PW4mJm49PT1yfSx0b0FycmF5OmZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybiBudWxsO2lmKFMoZSkpcmV0dXJuIGU7dmFyIHQ9ZS5sZW5ndGg7aWYoIVQodCkpcmV0dXJuIG51bGw7Zm9yKHZhciByPW5ldyBBcnJheSh0KTt0LS0gPjA7KXJbdF09ZVt0XTtyZXR1cm4gcn0sZm9yRWFjaEVudHJ5OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByLG49KGUmJmVbU3ltYm9sLml0ZXJhdG9yXSkuY2FsbChlKTsocj1uLm5leHQoKSkmJiFyLmRvbmU7KXt2YXIgbz1yLnZhbHVlO3QuY2FsbChlLG9bMF0sb1sxXSl9fSxtYXRjaEFsbDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgcixuPVtdO251bGwhPT0ocj1lLmV4ZWModCkpOyluLnB1c2gocik7cmV0dXJuIG59LGlzSFRNTEZvcm06TSxoYXNPd25Qcm9wZXJ0eTpILGhhc093blByb3A6SCxyZWR1Y2VEZXNjcmlwdG9yczpHLGZyZWV6ZU1ldGhvZHM6ZnVuY3Rpb24oZSl7RyhlLChmdW5jdGlvbih0LHIpe2lmKHgoZSkmJi0xIT09WyJhcmd1bWVudHMiLCJjYWxsZXIiLCJjYWxsZWUiXS5pbmRleE9mKHIpKXJldHVybiExO3ZhciBuPWVbcl07eChuKSYmKHQuZW51bWVyYWJsZT0hMSwid3JpdGFibGUiaW4gdD90LndyaXRhYmxlPSExOnQuc2V0fHwodC5zZXQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiQ2FuIG5vdCByZXdyaXRlIHJlYWQtb25seSBtZXRob2QgJyIrcisiJyIpfSkpfSkpfSx0b09iamVjdFNldDpmdW5jdGlvbihlLHQpe3ZhciByPXt9LG49ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtyW2VdPSEwfSkpfTtyZXR1cm4gUyhlKT9uKGUpOm4oU3RyaW5nKGUpLnNwbGl0KHQpKSxyfSx0b0NhbWVsQ2FzZTpmdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1stX1xzXShbYS16XGRdKShcdyopL2csKGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpK3J9KSl9LG5vb3A6ZnVuY3Rpb24oKXt9LHRvRmluaXRlTnVtYmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9K2UsTnVtYmVyLmlzRmluaXRlKGUpP2U6dH0sZmluZEtleTpELGdsb2JhbDpCLGlzQ29udGV4dERlZmluZWQ6SSxBTFBIQUJFVDpWLGdlbmVyYXRlU3RyaW5nOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToxNix0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpWLkFMUEhBX0RJR0lULHI9IiIsbj10Lmxlbmd0aDtlLS07KXIrPXRbTWF0aC5yYW5kb20oKSpufDBdO3JldHVybiByfSxpc1NwZWNDb21wbGlhbnRGb3JtOmZ1bmN0aW9uKGUpe3JldHVybiEhKGUmJngoZS5hcHBlbmQpJiYiRm9ybURhdGEiPT09ZVtTeW1ib2wudG9TdHJpbmdUYWddJiZlW1N5bWJvbC5pdGVyYXRvcl0pfSx0b0pTT05PYmplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KDEwKTtyZXR1cm4gZnVuY3Rpb24gZShyLG4pe2lmKFAocikpe2lmKHQuaW5kZXhPZihyKT49MClyZXR1cm47aWYoISgidG9KU09OImluIHIpKXt0W25dPXI7dmFyIG89UyhyKT9bXTp7fTtyZXR1cm4gVShyLChmdW5jdGlvbih0LHIpe3ZhciBpPWUodCxuKzEpOyFSKGkpJiYob1tyXT1pKX0pKSx0W25dPXZvaWQgMCxvfX1yZXR1cm4gcn0oZSwwKX0saXNBc3luY0ZuOlgsaXNUaGVuYWJsZTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmKFAoZSl8fHgoZSkpJiZ4KGUudGhlbikmJngoZS5jYXRjaCl9fTtmdW5jdGlvbiBRKGUsdCxyLG4sbyl7RXJyb3IuY2FsbCh0aGlzKSxFcnJvci5jYXB0dXJlU3RhY2tUcmFjZT9FcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLHRoaXMuY29uc3RydWN0b3IpOnRoaXMuc3RhY2s9KG5ldyBFcnJvcikuc3RhY2ssdGhpcy5tZXNzYWdlPWUsdGhpcy5uYW1lPSJBeGlvc0Vycm9yIix0JiYodGhpcy5jb2RlPXQpLHImJih0aGlzLmNvbmZpZz1yKSxuJiYodGhpcy5yZXF1ZXN0PW4pLG8mJih0aGlzLnJlc3BvbnNlPW8pfSQuaW5oZXJpdHMoUSxFcnJvcix7dG9KU09OOmZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOiQudG9KU09OT2JqZWN0KHRoaXMuY29uZmlnKSxjb2RlOnRoaXMuY29kZSxzdGF0dXM6dGhpcy5yZXNwb25zZSYmdGhpcy5yZXNwb25zZS5zdGF0dXM/dGhpcy5yZXNwb25zZS5zdGF0dXM6bnVsbH19fSk7dmFyIFk9US5wcm90b3R5cGUsWj17fTtbIkVSUl9CQURfT1BUSU9OX1ZBTFVFIiwiRVJSX0JBRF9PUFRJT04iLCJFQ09OTkFCT1JURUQiLCJFVElNRURPVVQiLCJFUlJfTkVUV09SSyIsIkVSUl9GUl9UT09fTUFOWV9SRURJUkVDVFMiLCJFUlJfREVQUkVDQVRFRCIsIkVSUl9CQURfUkVTUE9OU0UiLCJFUlJfQkFEX1JFUVVFU1QiLCJFUlJfQ0FOQ0VMRUQiLCJFUlJfTk9UX1NVUFBPUlQiLCJFUlJfSU5WQUxJRF9VUkwiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtaW2VdPXt2YWx1ZTplfX0pKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhRLFopLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShZLCJpc0F4aW9zRXJyb3IiLHt2YWx1ZTohMH0pLFEuZnJvbT1mdW5jdGlvbihlLHQscixuLG8saSl7dmFyIGE9T2JqZWN0LmNyZWF0ZShZKTtyZXR1cm4gJC50b0ZsYXRPYmplY3QoZSxhLChmdW5jdGlvbihlKXtyZXR1cm4gZSE9PUVycm9yLnByb3RvdHlwZX0pLChmdW5jdGlvbihlKXtyZXR1cm4iaXNBeGlvc0Vycm9yIiE9PWV9KSksUS5jYWxsKGEsZS5tZXNzYWdlLHQscixuLG8pLGEuY2F1c2U9ZSxhLm5hbWU9ZS5uYW1lLGkmJk9iamVjdC5hc3NpZ24oYSxpKSxhfTtmdW5jdGlvbiBlZShlKXtyZXR1cm4gJC5pc1BsYWluT2JqZWN0KGUpfHwkLmlzQXJyYXkoZSl9ZnVuY3Rpb24gdGUoZSl7cmV0dXJuICQuZW5kc1dpdGgoZSwiW10iKT9lLnNsaWNlKDAsLTIpOmV9ZnVuY3Rpb24gcmUoZSx0LHIpe3JldHVybiBlP2UuY29uY2F0KHQpLm1hcCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT10ZShlKSwhciYmdD8iWyIrZSsiXSI6ZX0pKS5qb2luKHI/Ii4iOiIiKTp0fXZhciBuZT0kLnRvRmxhdE9iamVjdCgkLHt9LG51bGwsKGZ1bmN0aW9uKGUpe3JldHVybi9eaXNbQS1aXS8udGVzdChlKX0pKTtmdW5jdGlvbiBvZShlLHQscil7aWYoISQuaXNPYmplY3QoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigidGFyZ2V0IG11c3QgYmUgYW4gb2JqZWN0Iik7dD10fHxuZXcgRm9ybURhdGE7dmFyIG89KHI9JC50b0ZsYXRPYmplY3Qocix7bWV0YVRva2VuczohMCxkb3RzOiExLGluZGV4ZXM6ITF9LCExLChmdW5jdGlvbihlLHQpe3JldHVybiEkLmlzVW5kZWZpbmVkKHRbZV0pfSkpKS5tZXRhVG9rZW5zLGk9ci52aXNpdG9yfHxmLGE9ci5kb3RzLHM9ci5pbmRleGVzLHU9KHIuQmxvYnx8InVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iJiZCbG9iKSYmJC5pc1NwZWNDb21wbGlhbnRGb3JtKHQpO2lmKCEkLmlzRnVuY3Rpb24oaSkpdGhyb3cgbmV3IFR5cGVFcnJvcigidmlzaXRvciBtdXN0IGJlIGEgZnVuY3Rpb24iKTtmdW5jdGlvbiBjKGUpe2lmKG51bGw9PT1lKXJldHVybiIiO2lmKCQuaXNEYXRlKGUpKXJldHVybiBlLnRvSVNPU3RyaW5nKCk7aWYoIXUmJiQuaXNCbG9iKGUpKXRocm93IG5ldyBRKCJCbG9iIGlzIG5vdCBzdXBwb3J0ZWQuIFVzZSBhIEJ1ZmZlciBpbnN0ZWFkLiIpO3JldHVybiAkLmlzQXJyYXlCdWZmZXIoZSl8fCQuaXNUeXBlZEFycmF5KGUpP3UmJiJmdW5jdGlvbiI9PXR5cGVvZiBCbG9iP25ldyBCbG9iKFtlXSk6QnVmZmVyLmZyb20oZSk6ZX1mdW5jdGlvbiBmKGUscixpKXt2YXIgdT1lO2lmKGUmJiFpJiYib2JqZWN0Ij09PW4oZSkpaWYoJC5lbmRzV2l0aChyLCJ7fSIpKXI9bz9yOnIuc2xpY2UoMCwtMiksZT1KU09OLnN0cmluZ2lmeShlKTtlbHNlIGlmKCQuaXNBcnJheShlKSYmZnVuY3Rpb24oZSl7cmV0dXJuICQuaXNBcnJheShlKSYmIWUuc29tZShlZSl9KGUpfHwoJC5pc0ZpbGVMaXN0KGUpfHwkLmVuZHNXaXRoKHIsIltdIikpJiYodT0kLnRvQXJyYXkoZSkpKXJldHVybiByPXRlKHIpLHUuZm9yRWFjaCgoZnVuY3Rpb24oZSxuKXshJC5pc1VuZGVmaW5lZChlKSYmbnVsbCE9PWUmJnQuYXBwZW5kKCEwPT09cz9yZShbcl0sbixhKTpudWxsPT09cz9yOnIrIltdIixjKGUpKX0pKSwhMTtyZXR1cm4hIWVlKGUpfHwodC5hcHBlbmQocmUoaSxyLGEpLGMoZSkpLCExKX12YXIgbD1bXSxoPU9iamVjdC5hc3NpZ24obmUse2RlZmF1bHRWaXNpdG9yOmYsY29udmVydFZhbHVlOmMsaXNWaXNpdGFibGU6ZWV9KTtpZighJC5pc09iamVjdChlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkYXRhIG11c3QgYmUgYW4gb2JqZWN0Iik7cmV0dXJuIGZ1bmN0aW9uIGUocixuKXtpZighJC5pc1VuZGVmaW5lZChyKSl7aWYoLTEhPT1sLmluZGV4T2YocikpdGhyb3cgRXJyb3IoIkNpcmN1bGFyIHJlZmVyZW5jZSBkZXRlY3RlZCBpbiAiK24uam9pbigiLiIpKTtsLnB1c2gociksJC5mb3JFYWNoKHIsKGZ1bmN0aW9uKHIsbyl7ITA9PT0oISgkLmlzVW5kZWZpbmVkKHIpfHxudWxsPT09cikmJmkuY2FsbCh0LHIsJC5pc1N0cmluZyhvKT9vLnRyaW0oKTpvLG4saCkpJiZlKHIsbj9uLmNvbmNhdChvKTpbb10pfSkpLGwucG9wKCl9fShlKSx0fWZ1bmN0aW9uIGllKGUpe3ZhciB0PXsiISI6IiUyMSIsIiciOiIlMjciLCIoIjoiJTI4IiwiKSI6IiUyOSIsIn4iOiIlN0UiLCIlMjAiOiIrIiwiJTAwIjoiXDAifTtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoL1shJygpfl18JTIwfCUwMC9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKX1mdW5jdGlvbiBhZShlLHQpe3RoaXMuX3BhaXJzPVtdLGUmJm9lKGUsdGhpcyx0KX12YXIgc2U9YWUucHJvdG90eXBlO2Z1bmN0aW9uIHVlKGUpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvJTNBL2dpLCI6IikucmVwbGFjZSgvJTI0L2csIiQiKS5yZXBsYWNlKC8lMkMvZ2ksIiwiKS5yZXBsYWNlKC8lMjAvZywiKyIpLnJlcGxhY2UoLyU1Qi9naSwiWyIpLnJlcGxhY2UoLyU1RC9naSwiXSIpfWZ1bmN0aW9uIGNlKGUsdCxyKXtpZighdClyZXR1cm4gZTt2YXIgbixvPXImJnIuZW5jb2RlfHx1ZSxpPXImJnIuc2VyaWFsaXplO2lmKG49aT9pKHQscik6JC5pc1VSTFNlYXJjaFBhcmFtcyh0KT90LnRvU3RyaW5nKCk6bmV3IGFlKHQscikudG9TdHJpbmcobykpe3ZhciBhPWUuaW5kZXhPZigiIyIpOy0xIT09YSYmKGU9ZS5zbGljZSgwLGEpKSxlKz0oLTE9PT1lLmluZGV4T2YoIj8iKT8iPyI6IiYiKStufXJldHVybiBlfXNlLmFwcGVuZD1mdW5jdGlvbihlLHQpe3RoaXMuX3BhaXJzLnB1c2goW2UsdF0pfSxzZS50b1N0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1lP2Z1bmN0aW9uKHQpe3JldHVybiBlLmNhbGwodGhpcyx0LGllKX06aWU7cmV0dXJuIHRoaXMuX3BhaXJzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQoZVswXSkrIj0iK3QoZVsxXSl9KSwiIikuam9pbigiJiIpfTt2YXIgZmUsbGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7aSh0aGlzLGUpLHRoaXMuaGFuZGxlcnM9W119cmV0dXJuIHMoZSxbe2tleToidXNlIix2YWx1ZTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHRoaXMuaGFuZGxlcnMucHVzaCh7ZnVsZmlsbGVkOmUscmVqZWN0ZWQ6dCxzeW5jaHJvbm91czohIXImJnIuc3luY2hyb25vdXMscnVuV2hlbjpyP3IucnVuV2hlbjpudWxsfSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX19LHtrZXk6ImVqZWN0Iix2YWx1ZTpmdW5jdGlvbihlKXt0aGlzLmhhbmRsZXJzW2VdJiYodGhpcy5oYW5kbGVyc1tlXT1udWxsKX19LHtrZXk6ImNsZWFyIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlcnMmJih0aGlzLmhhbmRsZXJzPVtdKX19LHtrZXk6ImZvckVhY2giLHZhbHVlOmZ1bmN0aW9uKGUpeyQuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLChmdW5jdGlvbih0KXtudWxsIT09dCYmZSh0KX0pKX19XSksZX0oKSxoZT17c2lsZW50SlNPTlBhcnNpbmc6ITAsZm9yY2VkSlNPTlBhcnNpbmc6ITAsY2xhcmlmeVRpbWVvdXRFcnJvcjohMX0sZGU9e2lzQnJvd3NlcjohMCxjbGFzc2VzOntVUkxTZWFyY2hQYXJhbXM6InVuZGVmaW5lZCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXM/VVJMU2VhcmNoUGFyYW1zOmFlLEZvcm1EYXRhOiJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGE/Rm9ybURhdGE6bnVsbCxCbG9iOiJ1bmRlZmluZWQiIT10eXBlb2YgQmxvYj9CbG9iOm51bGx9LHByb3RvY29sczpbImh0dHAiLCJodHRwcyIsImZpbGUiLCJibG9iIiwidXJsIiwiZGF0YSJdfSxwZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCx2ZT0oZmU9InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJm5hdmlnYXRvci5wcm9kdWN0LHBlJiZbIlJlYWN0TmF0aXZlIiwiTmF0aXZlU2NyaXB0IiwiTlMiXS5pbmRleE9mKGZlKTwwKSx5ZT0idW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBzZWxmLmltcG9ydFNjcmlwdHMsbWU9dCh0KHt9LE9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGhhc0Jyb3dzZXJFbnY6cGUsaGFzU3RhbmRhcmRCcm93c2VyV2ViV29ya2VyRW52OnllLGhhc1N0YW5kYXJkQnJvd3NlckVudjp2ZX0pKSxkZSk7ZnVuY3Rpb24gZ2UoZSl7ZnVuY3Rpb24gdChlLHIsbixvKXt2YXIgaT1lW28rK107aWYoIl9fcHJvdG9fXyI9PT1pKXJldHVybiEwO3ZhciBhPU51bWJlci5pc0Zpbml0ZSgraSkscz1vPj1lLmxlbmd0aDtyZXR1cm4gaT0haSYmJC5pc0FycmF5KG4pP24ubGVuZ3RoOmkscz8oJC5oYXNPd25Qcm9wKG4saSk/bltpXT1bbltpXSxyXTpuW2ldPXIsIWEpOihuW2ldJiYkLmlzT2JqZWN0KG5baV0pfHwobltpXT1bXSksdChlLHIsbltpXSxvKSYmJC5pc0FycmF5KG5baV0pJiYobltpXT1mdW5jdGlvbihlKXt2YXIgdCxyLG49e30sbz1PYmplY3Qua2V5cyhlKSxpPW8ubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKyluW3I9b1t0XV09ZVtyXTtyZXR1cm4gbn0obltpXSkpLCFhKX1pZigkLmlzRm9ybURhdGEoZSkmJiQuaXNGdW5jdGlvbihlLmVudHJpZXMpKXt2YXIgcj17fTtyZXR1cm4gJC5mb3JFYWNoRW50cnkoZSwoZnVuY3Rpb24oZSxuKXt0KGZ1bmN0aW9uKGUpe3JldHVybiAkLm1hdGNoQWxsKC9cdyt8XFsoXHcqKV0vZyxlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiJbXSI9PT1lWzBdPyIiOmVbMV18fGVbMF19KSl9KGUpLG4sciwwKX0pKSxyfXJldHVybiBudWxsfXZhciBiZT17dHJhbnNpdGlvbmFsOmhlLGFkYXB0ZXI6WyJ4aHIiLCJodHRwIl0sdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oZSx0KXt2YXIgcixuPXQuZ2V0Q29udGVudFR5cGUoKXx8IiIsbz1uLmluZGV4T2YoImFwcGxpY2F0aW9uL2pzb24iKT4tMSxpPSQuaXNPYmplY3QoZSk7aWYoaSYmJC5pc0hUTUxGb3JtKGUpJiYoZT1uZXcgRm9ybURhdGEoZSkpLCQuaXNGb3JtRGF0YShlKSlyZXR1cm4gbz9KU09OLnN0cmluZ2lmeShnZShlKSk6ZTtpZigkLmlzQXJyYXlCdWZmZXIoZSl8fCQuaXNCdWZmZXIoZSl8fCQuaXNTdHJlYW0oZSl8fCQuaXNGaWxlKGUpfHwkLmlzQmxvYihlKSlyZXR1cm4gZTtpZigkLmlzQXJyYXlCdWZmZXJWaWV3KGUpKXJldHVybiBlLmJ1ZmZlcjtpZigkLmlzVVJMU2VhcmNoUGFyYW1zKGUpKXJldHVybiB0LnNldENvbnRlbnRUeXBlKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIsITEpLGUudG9TdHJpbmcoKTtpZihpKXtpZihuLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpPi0xKXJldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiBvZShlLG5ldyBtZS5jbGFzc2VzLlVSTFNlYXJjaFBhcmFtcyxPYmplY3QuYXNzaWduKHt2aXNpdG9yOmZ1bmN0aW9uKGUsdCxyLG4pe3JldHVybiBtZS5pc05vZGUmJiQuaXNCdWZmZXIoZSk/KHRoaXMuYXBwZW5kKHQsZS50b1N0cmluZygiYmFzZTY0IikpLCExKTpuLmRlZmF1bHRWaXNpdG9yLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LHQpKX0oZSx0aGlzLmZvcm1TZXJpYWxpemVyKS50b1N0cmluZygpO2lmKChyPSQuaXNGaWxlTGlzdChlKSl8fG4uaW5kZXhPZigibXVsdGlwYXJ0L2Zvcm0tZGF0YSIpPi0xKXt2YXIgYT10aGlzLmVudiYmdGhpcy5lbnYuRm9ybURhdGE7cmV0dXJuIG9lKHI/eyJmaWxlc1tdIjplfTplLGEmJm5ldyBhLHRoaXMuZm9ybVNlcmlhbGl6ZXIpfX1yZXR1cm4gaXx8bz8odC5zZXRDb250ZW50VHlwZSgiYXBwbGljYXRpb24vanNvbiIsITEpLGZ1bmN0aW9uKGUsdCxyKXtpZigkLmlzU3RyaW5nKGUpKXRyeXtyZXR1cm4odHx8SlNPTi5wYXJzZSkoZSksJC50cmltKGUpfWNhdGNoKGUpe2lmKCJTeW50YXhFcnJvciIhPT1lLm5hbWUpdGhyb3cgZX1yZXR1cm4ocnx8SlNPTi5zdHJpbmdpZnkpKGUpfShlKSk6ZX1dLHRyYW5zZm9ybVJlc3BvbnNlOltmdW5jdGlvbihlKXt2YXIgdD10aGlzLnRyYW5zaXRpb25hbHx8YmUudHJhbnNpdGlvbmFsLHI9dCYmdC5mb3JjZWRKU09OUGFyc2luZyxuPSJqc29uIj09PXRoaXMucmVzcG9uc2VUeXBlO2lmKGUmJiQuaXNTdHJpbmcoZSkmJihyJiYhdGhpcy5yZXNwb25zZVR5cGV8fG4pKXt2YXIgbz0hKHQmJnQuc2lsZW50SlNPTlBhcnNpbmcpJiZuO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaChlKXtpZihvKXtpZigiU3ludGF4RXJyb3IiPT09ZS5uYW1lKXRocm93IFEuZnJvbShlLFEuRVJSX0JBRF9SRVNQT05TRSx0aGlzLG51bGwsdGhpcy5yZXNwb25zZSk7dGhyb3cgZX19fXJldHVybiBlfV0sdGltZW91dDowLHhzcmZDb29raWVOYW1lOiJYU1JGLVRPS0VOIix4c3JmSGVhZGVyTmFtZToiWC1YU1JGLVRPS0VOIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsZW52OntGb3JtRGF0YTptZS5jbGFzc2VzLkZvcm1EYXRhLEJsb2I6bWUuY2xhc3Nlcy5CbG9ifSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihlKXtyZXR1cm4gZT49MjAwJiZlPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKiIsIkNvbnRlbnQtVHlwZSI6dm9pZCAwfX19OyQuZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiLCJwb3N0IiwicHV0IiwicGF0Y2giXSwoZnVuY3Rpb24oZSl7YmUuaGVhZGVyc1tlXT17fX0pKTt2YXIgd2U9YmUsRWU9JC50b09iamVjdFNldChbImFnZSIsImF1dGhvcml6YXRpb24iLCJjb250ZW50LWxlbmd0aCIsImNvbnRlbnQtdHlwZSIsImV0YWciLCJleHBpcmVzIiwiZnJvbSIsImhvc3QiLCJpZi1tb2RpZmllZC1zaW5jZSIsImlmLXVubW9kaWZpZWQtc2luY2UiLCJsYXN0LW1vZGlmaWVkIiwibG9jYXRpb24iLCJtYXgtZm9yd2FyZHMiLCJwcm94eS1hdXRob3JpemF0aW9uIiwicmVmZXJlciIsInJldHJ5LWFmdGVyIiwidXNlci1hZ2VudCJdKSxPZT1TeW1ib2woImludGVybmFscyIpO2Z1bmN0aW9uIFNlKGUpe3JldHVybiBlJiZTdHJpbmcoZSkudHJpbSgpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gUmUoZSl7cmV0dXJuITE9PT1lfHxudWxsPT1lP2U6JC5pc0FycmF5KGUpP2UubWFwKFJlKTpTdHJpbmcoZSl9ZnVuY3Rpb24gQWUoZSx0LHIsbixvKXtyZXR1cm4gJC5pc0Z1bmN0aW9uKG4pP24uY2FsbCh0aGlzLHQscik6KG8mJih0PXIpLCQuaXNTdHJpbmcodCk/JC5pc1N0cmluZyhuKT8tMSE9PXQuaW5kZXhPZihuKTokLmlzUmVnRXhwKG4pP24udGVzdCh0KTp2b2lkIDA6dm9pZCAwKX12YXIgamU9ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiByKGUpe2kodGhpcyxyKSxlJiZ0aGlzLnNldChlKX1yZXR1cm4gcyhyLFt7a2V5OiJzZXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzO2Z1bmN0aW9uIG8oZSx0LHIpe3ZhciBvPVNlKHQpO2lmKCFvKXRocm93IG5ldyBFcnJvcigiaGVhZGVyIG5hbWUgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKTt2YXIgaT0kLmZpbmRLZXkobixvKTsoIWl8fHZvaWQgMD09PW5baV18fCEwPT09cnx8dm9pZCAwPT09ciYmITEhPT1uW2ldKSYmKG5baXx8dF09UmUoZSkpfXZhciBpLGEscyx1LGMsZj1mdW5jdGlvbihlLHQpe3JldHVybiAkLmZvckVhY2goZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gbyhlLHIsdCl9KSl9O3JldHVybiAkLmlzUGxhaW5PYmplY3QoZSl8fGUgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yP2YoZSx0KTokLmlzU3RyaW5nKGUpJiYoZT1lLnRyaW0oKSkmJiEvXlstX2EtekEtWjAtOV5gfH4sISMkJSYnKisuXSskLy50ZXN0KGUudHJpbSgpKT9mKChjPXt9LChpPWUpJiZpLnNwbGl0KCJcbiIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3U9ZS5pbmRleE9mKCI6IiksYT1lLnN1YnN0cmluZygwLHUpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLHM9ZS5zdWJzdHJpbmcodSsxKS50cmltKCksIWF8fGNbYV0mJkVlW2FdfHwoInNldC1jb29raWUiPT09YT9jW2FdP2NbYV0ucHVzaChzKTpjW2FdPVtzXTpjW2FdPWNbYV0/Y1thXSsiLCAiK3M6cyl9KSksYyksdCk6bnVsbCE9ZSYmbyh0LGUsciksdGhpc319LHtrZXk6ImdldCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtpZihlPVNlKGUpKXt2YXIgcj0kLmZpbmRLZXkodGhpcyxlKTtpZihyKXt2YXIgbj10aGlzW3JdO2lmKCF0KXJldHVybiBuO2lmKCEwPT09dClyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHI9T2JqZWN0LmNyZWF0ZShudWxsKSxuPS8oW15ccyw7PV0rKVxzKig/Oj1ccyooW14sO10rKSk/L2c7dD1uLmV4ZWMoZSk7KXJbdFsxXV09dFsyXTtyZXR1cm4gcn0obik7aWYoJC5pc0Z1bmN0aW9uKHQpKXJldHVybiB0LmNhbGwodGhpcyxuLHIpO2lmKCQuaXNSZWdFeHAodCkpcmV0dXJuIHQuZXhlYyhuKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJwYXJzZXIgbXVzdCBiZSBib29sZWFufHJlZ2V4cHxmdW5jdGlvbiIpfX19fSx7a2V5OiJoYXMiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7aWYoZT1TZShlKSl7dmFyIHI9JC5maW5kS2V5KHRoaXMsZSk7cmV0dXJuISghcnx8dm9pZCAwPT09dGhpc1tyXXx8dCYmIUFlKDAsdGhpc1tyXSxyLHQpKX1yZXR1cm4hMX19LHtrZXk6ImRlbGV0ZSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLG49ITE7ZnVuY3Rpb24gbyhlKXtpZihlPVNlKGUpKXt2YXIgbz0kLmZpbmRLZXkocixlKTshb3x8dCYmIUFlKDAscltvXSxvLHQpfHwoZGVsZXRlIHJbb10sbj0hMCl9fXJldHVybiAkLmlzQXJyYXkoZSk/ZS5mb3JFYWNoKG8pOm8oZSksbn19LHtrZXk6ImNsZWFyIix2YWx1ZTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9T2JqZWN0LmtleXModGhpcykscj10Lmxlbmd0aCxuPSExO3ItLTspe3ZhciBvPXRbcl07ZSYmIUFlKDAsdGhpc1tvXSxvLGUsITApfHwoZGVsZXRlIHRoaXNbb10sbj0hMCl9cmV0dXJuIG59fSx7a2V5OiJub3JtYWxpemUiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMscj17fTtyZXR1cm4gJC5mb3JFYWNoKHRoaXMsKGZ1bmN0aW9uKG4sbyl7dmFyIGk9JC5maW5kS2V5KHIsbyk7aWYoaSlyZXR1cm4gdFtpXT1SZShuKSx2b2lkIGRlbGV0ZSB0W29dO3ZhciBhPWU/ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbSgpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvKFthLXpcZF0pKFx3KikvZywoZnVuY3Rpb24oZSx0LHIpe3JldHVybiB0LnRvVXBwZXJDYXNlKCkrcn0pKX0obyk6U3RyaW5nKG8pLnRyaW0oKTthIT09byYmZGVsZXRlIHRbb10sdFthXT1SZShuKSxyW2FdPSEwfSkpLHRoaXN9fSx7a2V5OiJjb25jYXQiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0KSxuPTA7bjx0O24rKylyW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4oZT10aGlzLmNvbnN0cnVjdG9yKS5jb25jYXQuYXBwbHkoZSxbdGhpc10uY29uY2F0KHIpKX19LHtrZXk6InRvSlNPTiIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gJC5mb3JFYWNoKHRoaXMsKGZ1bmN0aW9uKHIsbil7bnVsbCE9ciYmITEhPT1yJiYodFtuXT1lJiYkLmlzQXJyYXkocik/ci5qb2luKCIsICIpOnIpfSkpLHR9fSx7a2V5OlN5bWJvbC5pdGVyYXRvcix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBPYmplY3QuZW50cmllcyh0aGlzLnRvSlNPTigpKVtTeW1ib2wuaXRlcmF0b3JdKCl9fSx7a2V5OiJ0b1N0cmluZyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy50b0pTT04oKSkubWFwKChmdW5jdGlvbihlKXt2YXIgdD1jKGUsMik7cmV0dXJuIHRbMF0rIjogIit0WzFdfSkpLmpvaW4oIlxuIil9fSx7a2V5OlN5bWJvbC50b1N0cmluZ1RhZyxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iQXhpb3NIZWFkZXJzIn19XSxbe2tleToiZnJvbSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzP2U6bmV3IHRoaXMoZSl9fSx7a2V5OiJjb25jYXQiLHZhbHVlOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1uZXcgdGhpcyhlKSxyPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkocj4xP3ItMTowKSxvPTE7bzxyO28rKyluW28tMV09YXJndW1lbnRzW29dO3JldHVybiBuLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0LnNldChlKX0pKSx0fX0se2tleToiYWNjZXNzb3IiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PSh0aGlzW09lXT10aGlzW09lXT17YWNjZXNzb3JzOnt9fSkuYWNjZXNzb3JzLHI9dGhpcy5wcm90b3R5cGU7ZnVuY3Rpb24gbihlKXt2YXIgbj1TZShlKTt0W25dfHwoIWZ1bmN0aW9uKGUsdCl7dmFyIHI9JC50b0NhbWVsQ2FzZSgiICIrdCk7WyJnZXQiLCJzZXQiLCJoYXMiXS5mb3JFYWNoKChmdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuK3Ise3ZhbHVlOmZ1bmN0aW9uKGUscixvKXtyZXR1cm4gdGhpc1tuXS5jYWxsKHRoaXMsdCxlLHIsbyl9LGNvbmZpZ3VyYWJsZTohMH0pfSkpfShyLGUpLHRbbl09ITApfXJldHVybiAkLmlzQXJyYXkoZSk/ZS5mb3JFYWNoKG4pOm4oZSksdGhpc319XSkscn0oKTtqZS5hY2Nlc3NvcihbIkNvbnRlbnQtVHlwZSIsIkNvbnRlbnQtTGVuZ3RoIiwiQWNjZXB0IiwiQWNjZXB0LUVuY29kaW5nIiwiVXNlci1BZ2VudCIsIkF1dGhvcml6YXRpb24iXSksJC5yZWR1Y2VEZXNjcmlwdG9ycyhqZS5wcm90b3R5cGUsKGZ1bmN0aW9uKGUsdCl7dmFyIHI9ZS52YWx1ZSxuPXRbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpO3JldHVybntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sc2V0OmZ1bmN0aW9uKGUpe3RoaXNbbl09ZX19fSkpLCQuZnJlZXplTWV0aG9kcyhqZSk7dmFyIHhlPWplO2Z1bmN0aW9uIFRlKGUsdCl7dmFyIHI9dGhpc3x8d2Usbj10fHxyLG89eGUuZnJvbShuLmhlYWRlcnMpLGk9bi5kYXRhO3JldHVybiAkLmZvckVhY2goZSwoZnVuY3Rpb24oZSl7aT1lLmNhbGwocixpLG8ubm9ybWFsaXplKCksdD90LnN0YXR1czp2b2lkIDApfSkpLG8ubm9ybWFsaXplKCksaX1mdW5jdGlvbiBQZShlKXtyZXR1cm4hKCFlfHwhZS5fX0NBTkNFTF9fKX1mdW5jdGlvbiBOZShlLHQscil7US5jYWxsKHRoaXMsbnVsbD09ZT8iY2FuY2VsZWQiOmUsUS5FUlJfQ0FOQ0VMRUQsdCxyKSx0aGlzLm5hbWU9IkNhbmNlbGVkRXJyb3IifSQuaW5oZXJpdHMoTmUsUSx7X19DQU5DRUxfXzohMH0pO3ZhciBrZT1tZS5oYXNTdGFuZGFyZEJyb3dzZXJFbnY/e3dyaXRlOmZ1bmN0aW9uKGUsdCxyLG4sbyxpKXt2YXIgYT1bZSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQpXTskLmlzTnVtYmVyKHIpJiZhLnB1c2goImV4cGlyZXM9IituZXcgRGF0ZShyKS50b0dNVFN0cmluZygpKSwkLmlzU3RyaW5nKG4pJiZhLnB1c2goInBhdGg9IituKSwkLmlzU3RyaW5nKG8pJiZhLnB1c2goImRvbWFpbj0iK28pLCEwPT09aSYmYS5wdXNoKCJzZWN1cmUiKSxkb2N1bWVudC5jb29raWU9YS5qb2luKCI7ICIpfSxyZWFkOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKCIoXnw7XFxzKikoIitlKyIpPShbXjtdKikiKSk7cmV0dXJuIHQ/ZGVjb2RlVVJJQ29tcG9uZW50KHRbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihlKXt0aGlzLndyaXRlKGUsIiIsRGF0ZS5ub3coKS04NjRlNSl9fTp7d3JpdGU6ZnVuY3Rpb24oKXt9LHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gX2UoZSx0KXtyZXR1cm4gZSYmIS9eKFthLXpdW2EtelxkK1wtLl0qOik/XC9cLy9pLnRlc3QodCk/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9lLnJlcGxhY2UoL1wvP1wvJC8sIiIpKyIvIit0LnJlcGxhY2UoL15cLysvLCIiKTplfShlLHQpOnR9dmFyIExlPW1lLmhhc1N0YW5kYXJkQnJvd3NlckVudj9mdW5jdGlvbigpe3ZhciBlLHQ9Lyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtmdW5jdGlvbiBuKGUpe3ZhciBuPWU7cmV0dXJuIHQmJihyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbiksbj1yLmhyZWYpLHIuc2V0QXR0cmlidXRlKCJocmVmIixuKSx7aHJlZjpyLmhyZWYscHJvdG9jb2w6ci5wcm90b2NvbD9yLnByb3RvY29sLnJlcGxhY2UoLzokLywiIik6IiIsaG9zdDpyLmhvc3Qsc2VhcmNoOnIuc2VhcmNoP3Iuc2VhcmNoLnJlcGxhY2UoL15cPy8sIiIpOiIiLGhhc2g6ci5oYXNoP3IuaGFzaC5yZXBsYWNlKC9eIy8sIiIpOiIiLGhvc3RuYW1lOnIuaG9zdG5hbWUscG9ydDpyLnBvcnQscGF0aG5hbWU6Ii8iPT09ci5wYXRobmFtZS5jaGFyQXQoMCk/ci5wYXRobmFtZToiLyIrci5wYXRobmFtZX19cmV0dXJuIGU9bih3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24odCl7dmFyIHI9JC5pc1N0cmluZyh0KT9uKHQpOnQ7cmV0dXJuIHIucHJvdG9jb2w9PT1lLnByb3RvY29sJiZyLmhvc3Q9PT1lLmhvc3R9fSgpOmZ1bmN0aW9uKCl7cmV0dXJuITB9O2Z1bmN0aW9uIENlKGUsdCl7dmFyIHI9MCxuPWZ1bmN0aW9uKGUsdCl7ZT1lfHwxMDt2YXIgcixuPW5ldyBBcnJheShlKSxvPW5ldyBBcnJheShlKSxpPTAsYT0wO3JldHVybiB0PXZvaWQgMCE9PXQ/dDoxZTMsZnVuY3Rpb24ocyl7dmFyIHU9RGF0ZS5ub3coKSxjPW9bYV07cnx8KHI9dSksbltpXT1zLG9baV09dTtmb3IodmFyIGY9YSxsPTA7ZiE9PWk7KWwrPW5bZisrXSxmJT1lO2lmKChpPShpKzEpJWUpPT09YSYmKGE9KGErMSklZSksISh1LXI8dCkpe3ZhciBoPWMmJnUtYztyZXR1cm4gaD9NYXRoLnJvdW5kKDFlMypsL2gpOnZvaWQgMH19fSg1MCwyNTApO3JldHVybiBmdW5jdGlvbihvKXt2YXIgaT1vLmxvYWRlZCxhPW8ubGVuZ3RoQ29tcHV0YWJsZT9vLnRvdGFsOnZvaWQgMCxzPWktcix1PW4ocyk7cj1pO3ZhciBjPXtsb2FkZWQ6aSx0b3RhbDphLHByb2dyZXNzOmE/aS9hOnZvaWQgMCxieXRlczpzLHJhdGU6dXx8dm9pZCAwLGVzdGltYXRlZDp1JiZhJiZpPD1hPyhhLWkpL3U6dm9pZCAwLGV2ZW50Om99O2NbdD8iZG93bmxvYWQiOiJ1cGxvYWQiXT0hMCxlKGMpfX12YXIgRmU9e2h0dHA6bnVsbCx4aHI6InVuZGVmaW5lZCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdCYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe3ZhciBuLG8saSxhPWUuZGF0YSxzPXhlLmZyb20oZS5oZWFkZXJzKS5ub3JtYWxpemUoKSx1PWUucmVzcG9uc2VUeXBlLGM9ZS53aXRoWFNSRlRva2VuO2Z1bmN0aW9uIHAoKXtlLmNhbmNlbFRva2VuJiZlLmNhbmNlbFRva2VuLnVuc3Vic2NyaWJlKG4pLGUuc2lnbmFsJiZlLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbil9aWYoJC5pc0Zvcm1EYXRhKGEpKWlmKG1lLmhhc1N0YW5kYXJkQnJvd3NlckVudnx8bWUuaGFzU3RhbmRhcmRCcm93c2VyV2ViV29ya2VyRW52KXMuc2V0Q29udGVudFR5cGUoITEpO2Vsc2UgaWYoITEhPT0obz1zLmdldENvbnRlbnRUeXBlKCkpKXt2YXIgeT1vP28uc3BsaXQoIjsiKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRyaW0oKX0pKS5maWx0ZXIoQm9vbGVhbik6W10sbT1sKGk9eSl8fGgoaSl8fGQoaSl8fHYoKSxnPW1bMF0sYj1tLnNsaWNlKDEpO3Muc2V0Q29udGVudFR5cGUoW2d8fCJtdWx0aXBhcnQvZm9ybS1kYXRhIl0uY29uY2F0KGYoYikpLmpvaW4oIjsgIikpfXZhciB3PW5ldyBYTUxIdHRwUmVxdWVzdDtpZihlLmF1dGgpe3ZhciBFPWUuYXV0aC51c2VybmFtZXx8IiIsTz1lLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUuYXV0aC5wYXNzd29yZCkpOiIiO3Muc2V0KCJBdXRob3JpemF0aW9uIiwiQmFzaWMgIitidG9hKEUrIjoiK08pKX12YXIgUz1fZShlLmJhc2VVUkwsZS51cmwpO2Z1bmN0aW9uIFIoKXtpZih3KXt2YXIgbj14ZS5mcm9tKCJnZXRBbGxSZXNwb25zZUhlYWRlcnMiaW4gdyYmdy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk7IWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztyLnN0YXR1cyYmbiYmIW4oci5zdGF0dXMpP3QobmV3IFEoIlJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgIityLnN0YXR1cyxbUS5FUlJfQkFEX1JFUVVFU1QsUS5FUlJfQkFEX1JFU1BPTlNFXVtNYXRoLmZsb29yKHIuc3RhdHVzLzEwMCktNF0sci5jb25maWcsci5yZXF1ZXN0LHIpKTplKHIpfSgoZnVuY3Rpb24oZSl7dChlKSxwKCl9KSwoZnVuY3Rpb24oZSl7cihlKSxwKCl9KSx7ZGF0YTp1JiYidGV4dCIhPT11JiYianNvbiIhPT11P3cucmVzcG9uc2U6dy5yZXNwb25zZVRleHQsc3RhdHVzOncuc3RhdHVzLHN0YXR1c1RleHQ6dy5zdGF0dXNUZXh0LGhlYWRlcnM6bixjb25maWc6ZSxyZXF1ZXN0Ond9KSx3PW51bGx9fWlmKHcub3BlbihlLm1ldGhvZC50b1VwcGVyQ2FzZSgpLGNlKFMsZS5wYXJhbXMsZS5wYXJhbXNTZXJpYWxpemVyKSwhMCksdy50aW1lb3V0PWUudGltZW91dCwib25sb2FkZW5kImluIHc/dy5vbmxvYWRlbmQ9Ujp3Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3cmJjQ9PT13LnJlYWR5U3RhdGUmJigwIT09dy5zdGF0dXN8fHcucmVzcG9uc2VVUkwmJjA9PT13LnJlc3BvbnNlVVJMLmluZGV4T2YoImZpbGU6IikpJiZzZXRUaW1lb3V0KFIpfSx3Lm9uYWJvcnQ9ZnVuY3Rpb24oKXt3JiYocihuZXcgUSgiUmVxdWVzdCBhYm9ydGVkIixRLkVDT05OQUJPUlRFRCxlLHcpKSx3PW51bGwpfSx3Lm9uZXJyb3I9ZnVuY3Rpb24oKXtyKG5ldyBRKCJOZXR3b3JrIEVycm9yIixRLkVSUl9ORVRXT1JLLGUsdykpLHc9bnVsbH0sdy5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgdD1lLnRpbWVvdXQ/InRpbWVvdXQgb2YgIitlLnRpbWVvdXQrIm1zIGV4Y2VlZGVkIjoidGltZW91dCBleGNlZWRlZCIsbj1lLnRyYW5zaXRpb25hbHx8aGU7ZS50aW1lb3V0RXJyb3JNZXNzYWdlJiYodD1lLnRpbWVvdXRFcnJvck1lc3NhZ2UpLHIobmV3IFEodCxuLmNsYXJpZnlUaW1lb3V0RXJyb3I/US5FVElNRURPVVQ6US5FQ09OTkFCT1JURUQsZSx3KSksdz1udWxsfSxtZS5oYXNTdGFuZGFyZEJyb3dzZXJFbnYmJihjJiYkLmlzRnVuY3Rpb24oYykmJihjPWMoZSkpLGN8fCExIT09YyYmTGUoUykpKXt2YXIgQT1lLnhzcmZIZWFkZXJOYW1lJiZlLnhzcmZDb29raWVOYW1lJiZrZS5yZWFkKGUueHNyZkNvb2tpZU5hbWUpO0EmJnMuc2V0KGUueHNyZkhlYWRlck5hbWUsQSl9dm9pZCAwPT09YSYmcy5zZXRDb250ZW50VHlwZShudWxsKSwic2V0UmVxdWVzdEhlYWRlciJpbiB3JiYkLmZvckVhY2gocy50b0pTT04oKSwoZnVuY3Rpb24oZSx0KXt3LnNldFJlcXVlc3RIZWFkZXIodCxlKX0pKSwkLmlzVW5kZWZpbmVkKGUud2l0aENyZWRlbnRpYWxzKXx8KHcud2l0aENyZWRlbnRpYWxzPSEhZS53aXRoQ3JlZGVudGlhbHMpLHUmJiJqc29uIiE9PXUmJih3LnJlc3BvbnNlVHlwZT1lLnJlc3BvbnNlVHlwZSksImZ1bmN0aW9uIj09dHlwZW9mIGUub25Eb3dubG9hZFByb2dyZXNzJiZ3LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixDZShlLm9uRG93bmxvYWRQcm9ncmVzcywhMCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBlLm9uVXBsb2FkUHJvZ3Jlc3MmJncudXBsb2FkJiZ3LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsQ2UoZS5vblVwbG9hZFByb2dyZXNzKSksKGUuY2FuY2VsVG9rZW58fGUuc2lnbmFsKSYmKG49ZnVuY3Rpb24odCl7dyYmKHIoIXR8fHQudHlwZT9uZXcgTmUobnVsbCxlLHcpOnQpLHcuYWJvcnQoKSx3PW51bGwpfSxlLmNhbmNlbFRva2VuJiZlLmNhbmNlbFRva2VuLnN1YnNjcmliZShuKSxlLnNpZ25hbCYmKGUuc2lnbmFsLmFib3J0ZWQ/bigpOmUuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixuKSkpO3ZhciBqLHg9KGo9L14oWy0rXHddezEsMjV9KSg6P1wvXC98OikvLmV4ZWMoUykpJiZqWzFdfHwiIjt4JiYtMT09PW1lLnByb3RvY29scy5pbmRleE9mKHgpP3IobmV3IFEoIlVuc3VwcG9ydGVkIHByb3RvY29sICIreCsiOiIsUS5FUlJfQkFEX1JFUVVFU1QsZSkpOncuc2VuZChhfHxudWxsKX0pKX19OyQuZm9yRWFjaChGZSwoZnVuY3Rpb24oZSx0KXtpZihlKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIm5hbWUiLHt2YWx1ZTp0fSl9Y2F0Y2goZSl7fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJhZGFwdGVyTmFtZSIse3ZhbHVlOnR9KX19KSk7dmFyIFVlPWZ1bmN0aW9uKGUpe3JldHVybiItICIuY29uY2F0KGUpfSxEZT1mdW5jdGlvbihlKXtyZXR1cm4gJC5pc0Z1bmN0aW9uKGUpfHxudWxsPT09ZXx8ITE9PT1lfSxCZT1mdW5jdGlvbihlKXtmb3IodmFyIHQscixuPShlPSQuaXNBcnJheShlKT9lOltlXSkubGVuZ3RoLG89e30saT0wO2k8bjtpKyspe3ZhciBhPXZvaWQgMDtpZihyPXQ9ZVtpXSwhRGUodCkmJnZvaWQgMD09PShyPUZlWyhhPVN0cmluZyh0KSkudG9Mb3dlckNhc2UoKV0pKXRocm93IG5ldyBRKCJVbmtub3duIGFkYXB0ZXIgJyIuY29uY2F0KGEsIiciKSk7aWYocilicmVhaztvW2F8fCIjIitpXT1yfWlmKCFyKXt2YXIgcz1PYmplY3QuZW50cmllcyhvKS5tYXAoKGZ1bmN0aW9uKGUpe3ZhciB0PWMoZSwyKSxyPXRbMF0sbj10WzFdO3JldHVybiJhZGFwdGVyICIuY29uY2F0KHIsIiAiKSsoITE9PT1uPyJpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBlbnZpcm9ubWVudCI6ImlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJ1aWxkIil9KSk7dGhyb3cgbmV3IFEoIlRoZXJlIGlzIG5vIHN1aXRhYmxlIGFkYXB0ZXIgdG8gZGlzcGF0Y2ggdGhlIHJlcXVlc3QgIisobj9zLmxlbmd0aD4xPyJzaW5jZSA6XG4iK3MubWFwKFVlKS5qb2luKCJcbiIpOiIgIitVZShzWzBdKToiYXMgbm8gYWRhcHRlciBzcGVjaWZpZWQiKSwiRVJSX05PVF9TVVBQT1JUIil9cmV0dXJuIHJ9O2Z1bmN0aW9uIEllKGUpe2lmKGUuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpLGUuc2lnbmFsJiZlLnNpZ25hbC5hYm9ydGVkKXRocm93IG5ldyBOZShudWxsLGUpfWZ1bmN0aW9uIHFlKGUpe3JldHVybiBJZShlKSxlLmhlYWRlcnM9eGUuZnJvbShlLmhlYWRlcnMpLGUuZGF0YT1UZS5jYWxsKGUsZS50cmFuc2Zvcm1SZXF1ZXN0KSwtMSE9PVsicG9zdCIsInB1dCIsInBhdGNoIl0uaW5kZXhPZihlLm1ldGhvZCkmJmUuaGVhZGVycy5zZXRDb250ZW50VHlwZSgiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiwhMSksQmUoZS5hZGFwdGVyfHx3ZS5hZGFwdGVyKShlKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gSWUoZSksdC5kYXRhPVRlLmNhbGwoZSxlLnRyYW5zZm9ybVJlc3BvbnNlLHQpLHQuaGVhZGVycz14ZS5mcm9tKHQuaGVhZGVycyksdH0pLChmdW5jdGlvbih0KXtyZXR1cm4gUGUodCl8fChJZShlKSx0JiZ0LnJlc3BvbnNlJiYodC5yZXNwb25zZS5kYXRhPVRlLmNhbGwoZSxlLnRyYW5zZm9ybVJlc3BvbnNlLHQucmVzcG9uc2UpLHQucmVzcG9uc2UuaGVhZGVycz14ZS5mcm9tKHQucmVzcG9uc2UuaGVhZGVycykpKSxQcm9taXNlLnJlamVjdCh0KX0pKX12YXIgemU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB4ZT9lLnRvSlNPTigpOmV9O2Z1bmN0aW9uIE1lKGUsdCl7dD10fHx7fTt2YXIgcj17fTtmdW5jdGlvbiBuKGUsdCxyKXtyZXR1cm4gJC5pc1BsYWluT2JqZWN0KGUpJiYkLmlzUGxhaW5PYmplY3QodCk/JC5tZXJnZS5jYWxsKHtjYXNlbGVzczpyfSxlLHQpOiQuaXNQbGFpbk9iamVjdCh0KT8kLm1lcmdlKHt9LHQpOiQuaXNBcnJheSh0KT90LnNsaWNlKCk6dH1mdW5jdGlvbiBvKGUsdCxyKXtyZXR1cm4gJC5pc1VuZGVmaW5lZCh0KT8kLmlzVW5kZWZpbmVkKGUpP3ZvaWQgMDpuKHZvaWQgMCxlLHIpOm4oZSx0LHIpfWZ1bmN0aW9uIGkoZSx0KXtpZighJC5pc1VuZGVmaW5lZCh0KSlyZXR1cm4gbih2b2lkIDAsdCl9ZnVuY3Rpb24gYShlLHQpe3JldHVybiAkLmlzVW5kZWZpbmVkKHQpPyQuaXNVbmRlZmluZWQoZSk/dm9pZCAwOm4odm9pZCAwLGUpOm4odm9pZCAwLHQpfWZ1bmN0aW9uIHMocixvLGkpe3JldHVybiBpIGluIHQ/bihyLG8pOmkgaW4gZT9uKHZvaWQgMCxyKTp2b2lkIDB9dmFyIHU9e3VybDppLG1ldGhvZDppLGRhdGE6aSxiYXNlVVJMOmEsdHJhbnNmb3JtUmVxdWVzdDphLHRyYW5zZm9ybVJlc3BvbnNlOmEscGFyYW1zU2VyaWFsaXplcjphLHRpbWVvdXQ6YSx0aW1lb3V0TWVzc2FnZTphLHdpdGhDcmVkZW50aWFsczphLHdpdGhYU1JGVG9rZW46YSxhZGFwdGVyOmEscmVzcG9uc2VUeXBlOmEseHNyZkNvb2tpZU5hbWU6YSx4c3JmSGVhZGVyTmFtZTphLG9uVXBsb2FkUHJvZ3Jlc3M6YSxvbkRvd25sb2FkUHJvZ3Jlc3M6YSxkZWNvbXByZXNzOmEsbWF4Q29udGVudExlbmd0aDphLG1heEJvZHlMZW5ndGg6YSxiZWZvcmVSZWRpcmVjdDphLHRyYW5zcG9ydDphLGh0dHBBZ2VudDphLGh0dHBzQWdlbnQ6YSxjYW5jZWxUb2tlbjphLHNvY2tldFBhdGg6YSxyZXNwb25zZUVuY29kaW5nOmEsdmFsaWRhdGVTdGF0dXM6cyxoZWFkZXJzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG8oemUoZSksemUodCksITApfX07cmV0dXJuICQuZm9yRWFjaChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LGUsdCkpLChmdW5jdGlvbihuKXt2YXIgaT11W25dfHxvLGE9aShlW25dLHRbbl0sbik7JC5pc1VuZGVmaW5lZChhKSYmaSE9PXN8fChyW25dPWEpfSkpLHJ9dmFyIEhlPSIxLjYuNyIsSmU9e307WyJvYmplY3QiLCJib29sZWFuIiwibnVtYmVyIiwiZnVuY3Rpb24iLCJzdHJpbmciLCJzeW1ib2wiXS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe0plW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBuKHIpPT09ZXx8ImEiKyh0PDE/Im4gIjoiICIpK2V9fSkpO3ZhciBHZT17fTtKZS50cmFuc2l0aW9uYWw9ZnVuY3Rpb24oZSx0LHIpe2Z1bmN0aW9uIG4oZSx0KXtyZXR1cm4iW0F4aW9zIHYxLjYuN10gVHJhbnNpdGlvbmFsIG9wdGlvbiAnIitlKyInIit0KyhyPyIuICIrcjoiIil9cmV0dXJuIGZ1bmN0aW9uKHIsbyxpKXtpZighMT09PWUpdGhyb3cgbmV3IFEobihvLCIgaGFzIGJlZW4gcmVtb3ZlZCIrKHQ/IiBpbiAiK3Q6IiIpKSxRLkVSUl9ERVBSRUNBVEVEKTtyZXR1cm4gdCYmIUdlW29dJiYoR2Vbb109ITAsY29uc29sZS53YXJuKG4obywiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgdiIrdCsiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlIikpKSwhZXx8ZShyLG8saSl9fTt2YXIgV2U9e2Fzc2VydE9wdGlvbnM6ZnVuY3Rpb24oZSx0LHIpe2lmKCJvYmplY3QiIT09bihlKSl0aHJvdyBuZXcgUSgib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIsUS5FUlJfQkFEX09QVElPTl9WQUxVRSk7Zm9yKHZhciBvPU9iamVjdC5rZXlzKGUpLGk9by5sZW5ndGg7aS0tID4wOyl7dmFyIGE9b1tpXSxzPXRbYV07aWYocyl7dmFyIHU9ZVthXSxjPXZvaWQgMD09PXV8fHModSxhLGUpO2lmKCEwIT09Yyl0aHJvdyBuZXcgUSgib3B0aW9uICIrYSsiIG11c3QgYmUgIitjLFEuRVJSX0JBRF9PUFRJT05fVkFMVUUpfWVsc2UgaWYoITAhPT1yKXRocm93IG5ldyBRKCJVbmtub3duIG9wdGlvbiAiK2EsUS5FUlJfQkFEX09QVElPTil9fSx2YWxpZGF0b3JzOkplfSxLZT1XZS52YWxpZGF0b3JzLFZlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXtpKHRoaXMsZSksdGhpcy5kZWZhdWx0cz10LHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBsZSxyZXNwb25zZTpuZXcgbGV9fXZhciB0LG47cmV0dXJuIHMoZSxbe2tleToicmVxdWVzdCIsdmFsdWU6KHQ9cigpLm1hcmsoKGZ1bmN0aW9uIGUodCxuKXt2YXIgbyxpO3JldHVybiByKCkud3JhcCgoZnVuY3Rpb24oZSl7Zm9yKDs7KXN3aXRjaChlLnByZXY9ZS5uZXh0KXtjYXNlIDA6cmV0dXJuIGUucHJldj0wLGUubmV4dD0zLHRoaXMuX3JlcXVlc3QodCxuKTtjYXNlIDM6cmV0dXJuIGUuYWJydXB0KCJyZXR1cm4iLGUuc2VudCk7Y2FzZSA2OnRocm93IGUucHJldj02LGUudDA9ZS5jYXRjaCgwKSxlLnQwIGluc3RhbmNlb2YgRXJyb3ImJihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZT9FcnJvci5jYXB0dXJlU3RhY2tUcmFjZShvPXt9KTpvPW5ldyBFcnJvcixpPW8uc3RhY2s/by5zdGFjay5yZXBsYWNlKC9eLitcbi8sIiIpOiIiLGUudDAuc3RhY2s/aSYmIVN0cmluZyhlLnQwLnN0YWNrKS5lbmRzV2l0aChpLnJlcGxhY2UoL14uK1xuLitcbi8sIiIpKSYmKGUudDAuc3RhY2srPSJcbiIraSk6ZS50MC5zdGFjaz1pKSxlLnQwO2Nhc2UgMTA6Y2FzZSJlbmQiOnJldHVybiBlLnN0b3AoKX19KSxlLHRoaXMsW1swLDZdXSl9KSksbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMscj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLGkpe3ZhciBhPXQuYXBwbHkoZSxyKTtmdW5jdGlvbiBzKGUpe28oYSxuLGkscyx1LCJuZXh0IixlKX1mdW5jdGlvbiB1KGUpe28oYSxuLGkscyx1LCJ0aHJvdyIsZSl9cyh2b2lkIDApfSkpfSxmdW5jdGlvbihlLHQpe3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJfcmVxdWVzdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXsic3RyaW5nIj09dHlwZW9mIGU/KHQ9dHx8e30pLnVybD1lOnQ9ZXx8e307dmFyIHI9dD1NZSh0aGlzLmRlZmF1bHRzLHQpLG49ci50cmFuc2l0aW9uYWwsbz1yLnBhcmFtc1NlcmlhbGl6ZXIsaT1yLmhlYWRlcnM7dm9pZCAwIT09biYmV2UuYXNzZXJ0T3B0aW9ucyhuLHtzaWxlbnRKU09OUGFyc2luZzpLZS50cmFuc2l0aW9uYWwoS2UuYm9vbGVhbiksZm9yY2VkSlNPTlBhcnNpbmc6S2UudHJhbnNpdGlvbmFsKEtlLmJvb2xlYW4pLGNsYXJpZnlUaW1lb3V0RXJyb3I6S2UudHJhbnNpdGlvbmFsKEtlLmJvb2xlYW4pfSwhMSksbnVsbCE9byYmKCQuaXNGdW5jdGlvbihvKT90LnBhcmFtc1NlcmlhbGl6ZXI9e3NlcmlhbGl6ZTpvfTpXZS5hc3NlcnRPcHRpb25zKG8se2VuY29kZTpLZS5mdW5jdGlvbixzZXJpYWxpemU6S2UuZnVuY3Rpb259LCEwKSksdC5tZXRob2Q9KHQubWV0aG9kfHx0aGlzLmRlZmF1bHRzLm1ldGhvZHx8ImdldCIpLnRvTG93ZXJDYXNlKCk7dmFyIGE9aSYmJC5tZXJnZShpLmNvbW1vbixpW3QubWV0aG9kXSk7aSYmJC5mb3JFYWNoKFsiZGVsZXRlIiwiZ2V0IiwiaGVhZCIsInBvc3QiLCJwdXQiLCJwYXRjaCIsImNvbW1vbiJdLChmdW5jdGlvbihlKXtkZWxldGUgaVtlXX0pKSx0LmhlYWRlcnM9eGUuY29uY2F0KGEsaSk7dmFyIHM9W10sdT0hMDt0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlLnJ1bldoZW4mJiExPT09ZS5ydW5XaGVuKHQpfHwodT11JiZlLnN5bmNocm9ub3VzLHMudW5zaGlmdChlLmZ1bGZpbGxlZCxlLnJlamVjdGVkKSl9KSk7dmFyIGMsZj1bXTt0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKChmdW5jdGlvbihlKXtmLnB1c2goZS5mdWxmaWxsZWQsZS5yZWplY3RlZCl9KSk7dmFyIGwsaD0wO2lmKCF1KXt2YXIgZD1bcWUuYmluZCh0aGlzKSx2b2lkIDBdO2ZvcihkLnVuc2hpZnQuYXBwbHkoZCxzKSxkLnB1c2guYXBwbHkoZCxmKSxsPWQubGVuZ3RoLGM9UHJvbWlzZS5yZXNvbHZlKHQpO2g8bDspYz1jLnRoZW4oZFtoKytdLGRbaCsrXSk7cmV0dXJuIGN9bD1zLmxlbmd0aDt2YXIgcD10O2ZvcihoPTA7aDxsOyl7dmFyIHY9c1toKytdLHk9c1toKytdO3RyeXtwPXYocCl9Y2F0Y2goZSl7eS5jYWxsKHRoaXMsZSk7YnJlYWt9fXRyeXtjPXFlLmNhbGwodGhpcyxwKX1jYXRjaChlKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoZSl9Zm9yKGg9MCxsPWYubGVuZ3RoO2g8bDspYz1jLnRoZW4oZltoKytdLGZbaCsrXSk7cmV0dXJuIGN9fSx7a2V5OiJnZXRVcmkiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBjZShfZSgoZT1NZSh0aGlzLmRlZmF1bHRzLGUpKS5iYXNlVVJMLGUudXJsKSxlLnBhcmFtcyxlLnBhcmFtc1NlcmlhbGl6ZXIpfX1dKSxlfSgpOyQuZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiLCJvcHRpb25zIl0sKGZ1bmN0aW9uKGUpe1ZlLnByb3RvdHlwZVtlXT1mdW5jdGlvbih0LHIpe3JldHVybiB0aGlzLnJlcXVlc3QoTWUocnx8e30se21ldGhvZDplLHVybDp0LGRhdGE6KHJ8fHt9KS5kYXRhfSkpfX0pKSwkLmZvckVhY2goWyJwb3N0IiwicHV0IiwicGF0Y2giXSwoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0KXtyZXR1cm4gZnVuY3Rpb24ocixuLG8pe3JldHVybiB0aGlzLnJlcXVlc3QoTWUob3x8e30se21ldGhvZDplLGhlYWRlcnM6dD97IkNvbnRlbnQtVHlwZSI6Im11bHRpcGFydC9mb3JtLWRhdGEifTp7fSx1cmw6cixkYXRhOm59KSl9fVZlLnByb3RvdHlwZVtlXT10KCksVmUucHJvdG90eXBlW2UrIkZvcm0iXT10KCEwKX0pKTt2YXIgWGU9VmUsJGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe2lmKGkodGhpcyxlKSwiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uIik7dmFyIHI7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbihlKXtyPWV9KSk7dmFyIG49dGhpczt0aGlzLnByb21pc2UudGhlbigoZnVuY3Rpb24oZSl7aWYobi5fbGlzdGVuZXJzKXtmb3IodmFyIHQ9bi5fbGlzdGVuZXJzLmxlbmd0aDt0LS0gPjA7KW4uX2xpc3RlbmVyc1t0XShlKTtuLl9saXN0ZW5lcnM9bnVsbH19KSksdGhpcy5wcm9taXNlLnRoZW49ZnVuY3Rpb24oZSl7dmFyIHQscj1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7bi5zdWJzY3JpYmUoZSksdD1lfSkpLnRoZW4oZSk7cmV0dXJuIHIuY2FuY2VsPWZ1bmN0aW9uKCl7bi51bnN1YnNjcmliZSh0KX0scn0sdCgoZnVuY3Rpb24oZSx0LG8pe24ucmVhc29ufHwobi5yZWFzb249bmV3IE5lKGUsdCxvKSxyKG4ucmVhc29uKSl9KSl9cmV0dXJuIHMoZSxbe2tleToidGhyb3dJZlJlcXVlc3RlZCIsdmFsdWU6ZnVuY3Rpb24oKXtpZih0aGlzLnJlYXNvbil0aHJvdyB0aGlzLnJlYXNvbn19LHtrZXk6InN1YnNjcmliZSIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5yZWFzb24/ZSh0aGlzLnJlYXNvbik6dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKGUpOnRoaXMuX2xpc3RlbmVycz1bZV19fSx7a2V5OiJ1bnN1YnNjcmliZSIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYodGhpcy5fbGlzdGVuZXJzKXt2YXIgdD10aGlzLl9saXN0ZW5lcnMuaW5kZXhPZihlKTstMSE9PXQmJnRoaXMuX2xpc3RlbmVycy5zcGxpY2UodCwxKX19fV0sW3trZXk6InNvdXJjZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm57dG9rZW46bmV3IGUoKGZ1bmN0aW9uKGUpe3Q9ZX0pKSxjYW5jZWw6dH19fV0pLGV9KCk7dmFyIFFlPXtDb250aW51ZToxMDAsU3dpdGNoaW5nUHJvdG9jb2xzOjEwMSxQcm9jZXNzaW5nOjEwMixFYXJseUhpbnRzOjEwMyxPazoyMDAsQ3JlYXRlZDoyMDEsQWNjZXB0ZWQ6MjAyLE5vbkF1dGhvcml0YXRpdmVJbmZvcm1hdGlvbjoyMDMsTm9Db250ZW50OjIwNCxSZXNldENvbnRlbnQ6MjA1LFBhcnRpYWxDb250ZW50OjIwNixNdWx0aVN0YXR1czoyMDcsQWxyZWFkeVJlcG9ydGVkOjIwOCxJbVVzZWQ6MjI2LE11bHRpcGxlQ2hvaWNlczozMDAsTW92ZWRQZXJtYW5lbnRseTozMDEsRm91bmQ6MzAyLFNlZU90aGVyOjMwMyxOb3RNb2RpZmllZDozMDQsVXNlUHJveHk6MzA1LFVudXNlZDozMDYsVGVtcG9yYXJ5UmVkaXJlY3Q6MzA3LFBlcm1hbmVudFJlZGlyZWN0OjMwOCxCYWRSZXF1ZXN0OjQwMCxVbmF1dGhvcml6ZWQ6NDAxLFBheW1lbnRSZXF1aXJlZDo0MDIsRm9yYmlkZGVuOjQwMyxOb3RGb3VuZDo0MDQsTWV0aG9kTm90QWxsb3dlZDo0MDUsTm90QWNjZXB0YWJsZTo0MDYsUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkOjQwNyxSZXF1ZXN0VGltZW91dDo0MDgsQ29uZmxpY3Q6NDA5LEdvbmU6NDEwLExlbmd0aFJlcXVpcmVkOjQxMSxQcmVjb25kaXRpb25GYWlsZWQ6NDEyLFBheWxvYWRUb29MYXJnZTo0MTMsVXJpVG9vTG9uZzo0MTQsVW5zdXBwb3J0ZWRNZWRpYVR5cGU6NDE1LFJhbmdlTm90U2F0aXNmaWFibGU6NDE2LEV4cGVjdGF0aW9uRmFpbGVkOjQxNyxJbUFUZWFwb3Q6NDE4LE1pc2RpcmVjdGVkUmVxdWVzdDo0MjEsVW5wcm9jZXNzYWJsZUVudGl0eTo0MjIsTG9ja2VkOjQyMyxGYWlsZWREZXBlbmRlbmN5OjQyNCxUb29FYXJseTo0MjUsVXBncmFkZVJlcXVpcmVkOjQyNixQcmVjb25kaXRpb25SZXF1aXJlZDo0MjgsVG9vTWFueVJlcXVlc3RzOjQyOSxSZXF1ZXN0SGVhZGVyRmllbGRzVG9vTGFyZ2U6NDMxLFVuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zOjQ1MSxJbnRlcm5hbFNlcnZlckVycm9yOjUwMCxOb3RJbXBsZW1lbnRlZDo1MDEsQmFkR2F0ZXdheTo1MDIsU2VydmljZVVuYXZhaWxhYmxlOjUwMyxHYXRld2F5VGltZW91dDo1MDQsSHR0cFZlcnNpb25Ob3RTdXBwb3J0ZWQ6NTA1LFZhcmlhbnRBbHNvTmVnb3RpYXRlczo1MDYsSW5zdWZmaWNpZW50U3RvcmFnZTo1MDcsTG9vcERldGVjdGVkOjUwOCxOb3RFeHRlbmRlZDo1MTAsTmV0d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6NTExfTtPYmplY3QuZW50cmllcyhRZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9YyhlLDIpLHI9dFswXSxuPXRbMV07UWVbbl09cn0pKTt2YXIgWWU9UWU7dmFyIFplPWZ1bmN0aW9uIGUodCl7dmFyIHI9bmV3IFhlKHQpLG49eShYZS5wcm90b3R5cGUucmVxdWVzdCxyKTtyZXR1cm4gJC5leHRlbmQobixYZS5wcm90b3R5cGUscix7YWxsT3duS2V5czohMH0pLCQuZXh0ZW5kKG4scixudWxsLHthbGxPd25LZXlzOiEwfSksbi5jcmVhdGU9ZnVuY3Rpb24ocil7cmV0dXJuIGUoTWUodCxyKSl9LG59KHdlKTtyZXR1cm4gWmUuQXhpb3M9WGUsWmUuQ2FuY2VsZWRFcnJvcj1OZSxaZS5DYW5jZWxUb2tlbj0kZSxaZS5pc0NhbmNlbD1QZSxaZS5WRVJTSU9OPUhlLFplLnRvRm9ybURhdGE9b2UsWmUuQXhpb3NFcnJvcj1RLFplLkNhbmNlbD1aZS5DYW5jZWxlZEVycm9yLFplLmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZSl9LFplLnNwcmVhZD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuYXBwbHkobnVsbCx0KX19LFplLmlzQXhpb3NFcnJvcj1mdW5jdGlvbihlKXtyZXR1cm4gJC5pc09iamVjdChlKSYmITA9PT1lLmlzQXhpb3NFcnJvcn0sWmUubWVyZ2VDb25maWc9TWUsWmUuQXhpb3NIZWFkZXJzPXhlLFplLmZvcm1Ub0pTT049ZnVuY3Rpb24oZSl7cmV0dXJuIGdlKCQuaXNIVE1MRm9ybShlKT9uZXcgRm9ybURhdGEoZSk6ZSl9LFplLmdldEFkYXB0ZXI9QmUsWmUuSHR0cFN0YXR1c0NvZGU9WWUsWmUuZGVmYXVsdD1aZSxaZX0pKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXhpb3MubWluLmpzLm1hcAo="}},"time_used":32,"timings":{"blocked":-1,"dns":3,"connect":10,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"orangerosehamburg.com/api/notification","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.076Z","timestamp":1785140383076,"http_version":"HTTP/3","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":"orangerosehamburg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Jul 2026 04:01:40 GMT","end":"Mon, 05 Oct 2026 05:00:08 GMT"},"fingerprint":{"sha1":"0E:20:A6:BB:D6:C3:9A:0A:E1:5A:F3:79:45:1E:34:E1:F9:91:32:3D","sha256":"17:4A:A7:99:F6:38:19:32:B9:BE:7D:C9:ED:7C:5C:D4:F8:82:07:5A:C4:F4:09:DD:A7:04:92:5C:0F:AC:27:BE"}}},"request":{"raw":"OPTIONS /api/notification HTTP/1.1\r\nHost: orangerosehamburg.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\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type\r\nReferer: https://notrx.app/\r\nOrigin: https://notrx.app\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":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: text/html; charset=utf-8\r\nserver-timing: cfExtPri\r\npriority: u=4,i=?0\r\nx-powered-by: Express\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept\r\nallow: POST\r\netag: W/\"4-Yf+Bwwqjx254r+pisuO9HfpJ6FQ\"\r\ncf-cache-status: DYNAMIC\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=aQyR8r6WtH3A893tM8EdBSPDCwwjw8Er5Ya9xchXOf0Y1VaOIeRBDedgIH2biAYem2YwBThQAZc54L33X1kyflNtnG1jPlqP9LOBTdi%2FMNrRWN%2Ba7o2w6GAgxginJHFlrSheZTmhC8U%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21a38823898723c-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 4\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Express","description":"Express is a web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs.","website":"https://expressjs.com","common_platform_enumeration":"cpe:2.3:a:expressjs:express:*:*:*:*:*:*:*:*","icon":"Express.svg","categories":["Web frameworks","Web servers"]},{"name":"Node.js","description":"Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside a web browser.","website":"https://nodejs.org","common_platform_enumeration":"cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*","icon":"Node.js.svg","categories":["Programming languages"]},{"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"]}],"data":{"size":4,"size_decoded":782,"mime_type":"text/html; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"a02439ec229d8be0e74b0c1602392310","sha1":"61ff81c30aa3c76e78afea62b2e3bd1dfa49e854","sha256":"9aee6b1bcdf617d8e39bb1f2b624c68ea33deb9d48e0364aeaded836d3d00293","sha512":"9b3e19cadc173f317e127496dbc4c8d2c92ca754c014590f97cf16b0c27e5c02a3a44a19aea373f3d5266f791f070529ed85edcffc2f1cf4bcc1b0c248f73f6a","ssdeep":"","tlshash":"9f30000003000000300000000000000000000000000000000000000000000000000000","first_seen":"2023-04-05T15:47:37Z","last_seen":"2026-08-09T22:04:50.19565Z","times_seen":28172,"resource_available":false,"data":"UE9TVA=="}},"time_used":110,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":110,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/cryptocurrency-icons@0.18.1/svg/color/usdt.svg","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.110Z","timestamp":1785140382110,"http_version":"HTTP/3","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":"*.jsdelivr.net","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV R36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 22 Apr 2026 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"65:D9:C4:7E:04:4C:FD:DD:60:E0:CC:18:B5:B7:01:68:B4:2D:C7:34","sha256":"50:6C:A4:F6:ED:74:C7:E9:68:DB:32:56:5A:68:4C:98:ED:01:28:36:F8:13:BA:CC:19:A7:FD:7A:0A:6E:E7:D4"}}},"request":{"raw":"GET /npm/cryptocurrency-icons@0.18.1/svg/color/usdt.svg HTTP/1.1\r\nHost: cdn.jsdelivr.net\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: image/svg+xml\r\ncontent-length: 379\r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=31536000, s-maxage=31536000, immutable\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-jsd-version: 0.18.1\r\nx-jsd-version-type: version\r\netag: W/\"288-YsUib7+mqPPGjA5PI/nEv+sFwpk\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\nx-served-by: cache-fra-eddf8230156-FRA, cache-ber1080048-BER\r\nx-cache: HIT, HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=5,i\r\nage: 6022205\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=0DWVpQWboSnlnhjR2bE%2FuyHvJaHr0RCxl%2BukL9t6kVr4Ao%2FM1XSe%2BQ%2BY3Gk8DvQ%2Fpp%2FRXv%2FWHQSgL4R5W3PfFatpEU99HuzjRP7SwMwhwbtaRtfM3SRUGnRv9Iej%2FjEmP1k%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: a21a387e0f74b4f1-OSL\r\nserver-timing: cfExtPri\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":648,"size_decoded":1529,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"f07b8f90c0eff1b76b402a2d34f0cdbe","sha1":"62c5226fbfa6a8f3c68c0e4f23f9c4bfeb05c299","sha256":"cddba428a029844888b59bae59c6400ee684b0d51dfc490a4374eef6bb63ea16","sha512":"63f9bb75b191310dc2d3e5840ddf0da27d72b2b1ad6000ca8bf1a3fd0c2562b14b25537d567de37f87ed2c64df288b363b5cfaa11e3f0fa53a17a9667ac40235","ssdeep":"","tlshash":"d4f073da6630d5c04862ca7eef7f1f89296b20e7615d0686f07a6e0ef4430d5705559c","first_seen":"2023-09-24T21:42:29Z","last_seen":"2026-08-06T12:11:39.929323Z","times_seen":4219,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzI2QTE3QiIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0xNy45MjIgMTcuMzgzdi0uMDAyYy0uMTEuMDA4LS42NzcuMDQyLTEuOTQyLjA0Mi0xLjAxIDAtMS43MjEtLjAzLTEuOTcxLS4wNDJ2LjAwM2MtMy44ODgtLjE3MS02Ljc5LS44NDgtNi43OS0xLjY1OCAwLS44MDkgMi45MDItMS40ODYgNi43OS0xLjY2djIuNjQ0Yy4yNTQuMDE4Ljk4Mi4wNjEgMS45ODguMDYxIDEuMjA3IDAgMS44MTItLjA1IDEuOTI1LS4wNnYtMi42NDNjMy44OC4xNzMgNi43NzUuODUgNi43NzUgMS42NTggMCAuODEtMi44OTUgMS40ODUtNi43NzUgMS42NTdtMC0zLjU5di0yLjM2Nmg1LjQxNFY3LjgxOUg4LjU5NXYzLjYwOGg1LjQxNHYyLjM2NWMtNC40LjIwMi03LjcwOSAxLjA3NC03LjcwOSAyLjExOCAwIDEuMDQ0IDMuMzA5IDEuOTE1IDcuNzA5IDIuMTE4djcuNTgyaDMuOTEzdi03LjU4NGM0LjM5My0uMjAyIDcuNjk0LTEuMDczIDcuNjk0LTIuMTE2IDAtMS4wNDMtMy4zMDEtMS45MTQtNy42OTQtMi4xMTciLz48L2c+PC9zdmc+"}},"time_used":297,"timings":{"blocked":66,"dns":0,"connect":2,"send":0,"wait":9,"receive":0,"ssl":217},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.254Z","timestamp":1785140382254,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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: identity\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 14888\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 12:03:55 GMT\r\nexpires: Mon, 26 Jul 2027 12:03:55 GMT\r\ncache-control: public, max-age=31536000\r\nage: 72947\r\nlast-modified: Mon, 15 Sep 2025 17:07:53 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":14888,"size_decoded":15700,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 14888, version 1.0","md5":"b1c8a895f5fd3fe6cbf5b4cf95c58d87","sha1":"d32f0e0701ac62043840131a800ce717a86e4ee2","sha256":"01d285447409c8a588692162439a038b8cbd7871309ee20267b0d2d91c6e8e22","sha512":"8e5f116c757f033e001d1622798ef0e689d860b6e4102c6d760398ebe653c6ec257bdcee0d8ec1ca7cf5663269ae36b79f8d44b5a0a81298c816ac5ed9a020ed","ssdeep":"192:0oK9+lgWZm57bYBeze/iw+Lp3HIpY4uY8rHcT1DHC4cIIK/Cgb2n5ZXwMEBHr5F3:9K+nro0uYQ6cECVnTXwRtQnyYS5qb/f2","tlshash":"f962be3785690217eb1df96f6133e205ccdede83877bc23262b2955b01cfbea5019255","first_seen":"2025-09-19T17:22:27.509445Z","last_seen":"2026-08-09T22:35:31.117589Z","times_seen":1934,"resource_available":false,"data":"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"}},"time_used":79,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":52,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"notrx.app/cdn-cgi/challenge-platform/scripts/jsd/main.js","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.271Z","timestamp":1785140382271,"http_version":"HTTP/3","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":"notrx.app","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 05 Jun 2026 10:11:58 GMT","end":"Thu, 03 Sep 2026 11:10:28 GMT"},"fingerprint":{"sha1":"21:FA:3E:30:90:96:6A:B5:B7:18:FF:0A:D4:36:15:0F:AA:4E:DD:C4","sha256":"87:17:DF:EE:2F:67:AA:29:CB:F1:8B:A8:74:4D:B1:B0:80:70:C5:F8:35:37:24:CA:C0:CE:B3:23:ED:D2:94:59"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/scripts/jsd/main.js HTTP/1.1\r\nHost: notrx.app\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\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/3 302 \r\nlocation: /cdn-cgi/challenge-platform/h/g/scripts/jsd/b0da9f4911ba/main.js?\r\ncache-control: max-age=300, stale-if-error=10800, stale-while-revalidate=10800, public\r\naccess-control-allow-origin: *\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\nserver: cloudflare\r\npriority: u=3,i=?0\r\ncf-ray: a21a387d3fc88deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 0\r\n\r\n","headers":null,"cookies":null,"status_code":"302","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"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-09T22:49:10.243451Z","times_seen":17807357,"resource_available":true,"data":null}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"orangerosehamburg.com/api/notification","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.074Z","timestamp":1785140383074,"http_version":"HTTP/3","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":"orangerosehamburg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Jul 2026 04:01:40 GMT","end":"Mon, 05 Oct 2026 05:00:08 GMT"},"fingerprint":{"sha1":"0E:20:A6:BB:D6:C3:9A:0A:E1:5A:F3:79:45:1E:34:E1:F9:91:32:3D","sha256":"17:4A:A7:99:F6:38:19:32:B9:BE:7D:C9:ED:7C:5C:D4:F8:82:07:5A:C4:F4:09:DD:A7:04:92:5C:0F:AC:27:BE"}}},"request":{"raw":"POST /api/notification HTTP/1.1\r\nHost: orangerosehamburg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/json, text/plain, */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: application/json\r\nContent-Length: 1815\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1815,"data":"{\"data\":\"ShNFSEFUEwsTW15YX1RVEx0TWFUTCxMDW14DBFRYV1BVQBMdE1JeX1dYVhMLE3IDf3RlAHBmeXN0dHBjUkV2YAB2Z2d7dWBde1RnZFVUVFpddGVgZH5wYFZ6d1teUnZgXmFwY3x8d1p3Z2N0UnJ2YAFmcHN8YmRkCF1jdGdgdEZ0d3ZGd3ViZHwBfmRdBWR0XXZwWVJndFZSfnRwY2BiWlpXa2d7c2QBf39yVmBXd2RFVGUAcABwY2hSdHRkXXRgZHhyVmt1aQNdYWN0Z2JkVgFzeXN0ZXZZfFN1YF5SZF1/dGViaGVzWXBTY3V4ZXlwZHN2AHN/VGR/YWN0Z2BzY0J4ZWRZc2RgQlN0c2RzYlprfXZGcGRwc1Joc2BaVHdjAHp1cwF8aXR3dVNaZ2JkdF12c1l0fnljc39pWmRBVFpddGUAe3NkAXR5dHN0cnAAf31gcGhlc1lwU3RGYFR5cEZgYGN0fnlaRntzY3xTdEZoemBjQnJ5dHddY3RnYmR1Y0RlAHhSaQNdYWN0UlR5SQUGdWN8f3RWAXxwZV52d2N0YGVkWXNkZXx1cGBgc3dkWnt1WVp0ZElwUHdWc2JyYGhjeWd4ZnRWCXVwY3dic0ZWaWVJdGV3VnhTcGB3YnlgaGZyXXhndkZ4c2N3f2J5YGh6dkleYmRGeHhyAUVifmMAdHBWUmJzAXx8ckZCdnRgcHplSXxnZEYJenNjaHZkd1lkZUhSSH9LVWFzYEJmZHBCc2VGcHR0VlJmY3B8VXBaWmB5Y3xhcHB4fHRwRlV5WUF6ZWcEQ2QBf39zY2Ryd2BScHxwaGV0VgFSc2BodnZgaHp8c2hwc0Z7f2laZHtUWl10ZQB7dXdZcFN1YFZlc3BJdHVzXnB5YGB6dwFVeGRze0RlAHtzZAF/YWNWRlJ3Vmt2Z2d7dXtJdH5yWWhldEkBf3BzSXN3RmhTc2BGVHABWmVzWQV/ZEZ0emNzaFB5SQV6ZUledHBga2FyRkJjd2Rad3ZjfHh5Rnh/cnBzYFRaXXRlAHhSaQNdYWN0Z2JkWV5gdVZoZHB0fHBwWmR2cFZWenlzfHJzRl5wclpVeGR0Qkt1WUJndlYBeGNwfFVwWlp5cHNGeXZZdHJzY3RTeUZVdHJgcH55WnxmcklwcGRzXn9ySVVhZGQIXWN0Z2JkdEJpcHBSZXRwa2F3RkZ2d2RFVGVGXUNkAX9hY3RnYmRZXn12VnByd1p8UnRwYHZzY0F2Z2d7dXNgaFV1YHxTd2AAdmACWXNkAX9hY3RnYHBGaGN5Y3R0ZEYBfnJgc2BiWl12YXNScnNZdHpjdWRweUkJf3JJUmVkZAhdY3RnYmR0XXRlYHR+c1l0fHBkZGZ3Y155eWNCY3NGXnByWlV4ZHRCSHJWcHh3YF56cHRkdnBWVnp5c3xyc0ZecHJaZHN5SUZmdXNVdVRkf2FjdGRhVFpddHRdBENkAX9/cmBGUnZgYHdwSAFwcHNwenR1XmV5YGhjcGBrdWJkf1JidghiZHRCeHBwZBp0YHh1c2BCY3dlaHN2Y1JlcltJVGd1Xld2YFV2Z2d7dWFWeHRwZGRzc2NCc2VGQn5zWXdhdEZgVHlwRmBlSUJiZElkfnJwRmZpWlpFdgB4fHNZcFNjcFJpZHBoeHJJUmVkSVJ5c2BFYmNaWntwc0ZndklzdWNwAWVzVkl0dVZrc3lGaH53SXdiYGdddH5YdF17AQhhc2BCZmRwQnNlRnB0dFZSZmNzdFVkcF59cGNgeHBgBGF0cAFpZHMBZnVZRmJ0VnBTdWBeUmlaRUR0X1YME0w=\"}"}},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver-timing: cfExtPri\r\npriority: u=3,i=?0\r\nx-powered-by: Express\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept\r\netag: W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"\r\ncf-cache-status: DYNAMIC\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=r%2F0YT6qlot0dNjR3qp%2FW%2Fukkz4XTxhFlrp1Pz8ulFbkI4ZlbTvlfrEtplCVPu87ZHJ2WL2zHVzCTdeFEPsN%2BuxSrDVqpNjzla2oSwmJVc8nasq6sOMlnsKC1Bs2L5y6sSWAMfqOvF7E%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21a3882f8c8723c-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Node.js","description":"Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside a web browser.","website":"https://nodejs.org","common_platform_enumeration":"cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*","icon":"Node.js.svg","categories":["Programming languages"]},{"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":"Express","description":"Express is a web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs.","website":"https://expressjs.com","common_platform_enumeration":"cpe:2.3:a:expressjs:express:*:*:*:*:*:*:*:*","icon":"Express.svg","categories":["Web frameworks","Web servers"]}],"data":{"size":2,"size_decoded":778,"mime_type":"application/json; charset=utf-8","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-08-09T22:47:45.11839Z","times_seen":758080,"resource_available":true,"data":"e30="}},"time_used":114,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":114,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/c20e1cec-05e8-4ac6-a086-7ce355092400?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.287Z","timestamp":1785140383287,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/c20e1cec-05e8-4ac6-a086-7ce355092400?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a3883880c5693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 76169\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfs6eobn8WxmhFyQ_IbBrw7DUFfmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=249+0 c=0+2 v=2026.6.0 l=1192 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1192\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"]}],"data":{"size":1192,"size_decoded":1907,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"4d40ea4af9c48c1d894bf5aabcbdcd8c","sha1":"4b82938b46b8d238553afe63c1f591ce24a562af","sha256":"54656b79cfe70edf0e291967e6aeeec12239fa8042d1d2281efa356889de134f","sha512":"16a8587b3aee0df3406f3464adf437b2e43aba4b87823a4dd3ee1e18f89c725c817f308d38f186e5a9ff12fd69757701ad3a827b36b0360d27c8e40a8cda751e","ssdeep":"","tlshash":"89210ae1123e045cc83bb3fe0f5433e35d9b4921d88228d1684489046dbc0c12301ed2","first_seen":"2024-12-05T15:42:26.551532Z","last_seen":"2026-08-09T10:08:04.375519Z","times_seen":1240,"resource_available":false,"data":"UklGRqAEAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSPkAAAABgFttWxTrS2fDEoi1EOpwirlSgdw6NKUQJyKkADTk4Dr7fNldImICcLtQ2ro+jR83BWcrJfDwouri+MFjV+WPkd/D+PFDLR9Q+pGiL+/ZmZGm2d2UNSPRNrth145Um901M5I1V84j3XJDej5eruqRsAGQB0ZDAeiRsoboOHVCRU5RfY2ktWVlHSvXs+oTqzT++//f/z+AJ1apZxUcK2dZWc1Kq8gpKtFxughUnDRQDIxCDsAwqgFAej5erlDyKbFt2Bhc3TVc2t01ZC2TNsOtO8PD7HDn2XPwJe6Xdfh8g5F4aK4v8ZPFThd4eKa0dSF9ntQ7WymB2wEAVlA4IIADAACQGACdASp4AHgAPkkkj0UioiGRTM18KASEtIA3/64DQl5ER4P/qHV64V3JvfdPxk5AddX8lfyZ43fjv9A/r35eapl/auNvmIfzP/F+l9/pfcB7d/oz/ke4R+on+37Bv7Y+xn+1RKPZtexTbl8j5gBqkydw+7LSdszmyaVdMoJ3uplWA9d9DhoSZCa8CfmNrSi3/ul9yWVwfeSBqzSDzZ0fa3dM30eKYsjxGtNBZ0Gt71fXyO7T3Ae/7zUDyZSaR53DiInmgSDHNr6zQeRgAP7+BtBMfaEp0AU/1f4i4SUINESf+Vesnb/jFN2jffFLpfSD/YYTgHzpRzcJvSNBHB/cTzTfo/841wdcjQxVCgSgqvMdV4aBsvMPq5EcSGavaOf4mDe+3fHylmooVTYZsp8uhMvoCn9RTaH9jBZr0W5Vp1Je2Q37oeJxSbKKeY/JgMmZAosliQ9zTHatDBOysdCbitjGUKYo0+JzDkAxNT9C5vbXETMqutqozEkhPV37hOw6tcR8A+D2NXSgWpFJFyxS7eRk4Z2GlVc0fGpEqmTU/BMJ9VNFo25RwrAtah2FTIS8IuBiCMLFlZa6kKkXOYgs7JQ4jyWxMNWHeVFcZDEXMpNMXWYGvPUPm5kEhrWy2DoM9xcZxvZiUjxoTo5IioVpud1ouaj5gD++p1cj4y9Lro/9bK2hyCOxm7galiC7uU9Tz4Q/tg+U8iV5nGmI4/5Y3PVU0SlOPmAoZuZH/62v0nm3R04mKcge2e/EVxHw1i+9MZ42O872MfwM0EA6BcyZFmjnWtFJrfyyFcVqk/uFcu1Kk2BY11r7o4sMDAhpaNsebH+W5NkXv9WbqZORVocI2uj0+NMGTyf5NEj9nI7oX0PCwTUsOJHjFzavlzpfw5au99TaPl1gN1ruovL/4qLXcud23t7bUVPfiW7Kel8rZsp64yNvW5wX6rLYBz0wEWY1qNDTHxCHj7YQToJpNYIyBcPM0hNUTToPxAqPkq6m/7e194x5hxT22HkAkTFvvYlF+Jw2nUj/SByinnBha0r6lS44Jb/9n0KN9CJIhwNvHcKoPkqKYia6PIC6tv5bd63HN0z/ONTsXLxGkrPCIXflj0XjF4XZtlpTc8Zx9U0R/a+saE1uSjM/geTvDJleiA3oZxg5a/UF9GbrUgV9ARXwIBNKjGpYi3509o1ZAAAAAA=="}},"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":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/67336675-0daa-489b-6885-cb95234bc400?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.293Z","timestamp":1785140383293,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/67336675-0daa-489b-6885-cb95234bc400?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a388398125693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 13641\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfzPe7jvSa4xP7D5TpKwzld3fWfmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ok/- q=0 n=466+0 c=0+6 v=2026.7.0 l=1872 f=false c2=0\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1872\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"]}],"data":{"size":1872,"size_decoded":2587,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"22e9362b85988b530343c1d1dfbbb03e","sha1":"f13d35d31f007ebab931b4f83941696cf3ae4166","sha256":"62e371133a4d06e6eb548ff6d6a6a7bdedd5f17a1041da6cf90ea6e05032c187","sha512":"9ffac36e9eb91fc250d390572e701764e3c46e458223c7d256236c49b7b051ed5a580f3bc3f0c7a32a3ae933990b9632782343d54ba6eabdfd17c140b4a4353d","ssdeep":"","tlshash":"2a31192f439e05e6644b2cc8334a974ca4b03668f0966f1433755702c22e81ff577c43","first_seen":"2025-03-04T08:48:45.503749Z","last_seen":"2026-08-09T10:08:04.420587Z","times_seen":887,"resource_available":false,"data":"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"}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700\u0026family=IBM+Plex+Mono:wght@400;500\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.093Z","timestamp":1785140382093,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700\u0026family=IBM+Plex+Mono:wght@400;500\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 08:19:42 GMT\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\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"]}],"data":{"size":7282,"size_decoded":1420,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"dee478adf632c22af6f125bf58619049","sha1":"09a7bd35fa13b1474edbc907333438c8df9c93fa","sha256":"9ac346ba46d93ccaee578727deb6587867a38aa7c855b05d4990f535b9ebb36c","sha512":"1453ea28ea7b0333753c5a8d88091415a1fb6afc07af0976e040e2f6930f147332299a6e70a39983a04ec03a1e55516a0be2fa631e269d32acfcb75c7df63b0d","ssdeep":"96:jOEaepJc+ufOEawNkOXaepJc+ufOXawNkOxMaepJc+ufOxMawNkOpaepJc+ufOpE:UcDPc8yclhcGtYpZQxFPE26Bs3U3I9","tlshash":"7ee1cfc1046ba400eb471cc523cebe36ee5e61917445c939abfe2c94ecabc3a1365b5d","first_seen":"2026-05-31T22:45:52.019058Z","last_seen":"2026-07-27T11:57:52.14561Z","times_seen":8,"resource_available":false,"data":"LyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMkhwMnl3eGcwODlVcmlDWjJJSFRXQ0JsMC04Ukg5LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAySHAyeXd4ZzA4OVVyaUNaT0lIVFdDQmwwLThRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMkhwMnl3eGcwODlVcmlDWjJJSFRXQ0JsMC04Ukg5LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAySHAyeXd4ZzA4OVVyaUNaT0lIVFdDQmwwLThRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMkhwMnl3eGcwODlVcmlDWjJJSFRXQ0JsMC04Ukg5LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAySHAyeXd4ZzA4OVVyaUNaT0lIVFdDQmwwLThRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMkhwMnl3eGcwODlVcmlDWjJJSFRXQ0JsMC04Ukg5LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAySHAyeXd4ZzA4OVVyaUNaT0lIVFdDQmwwLThRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pYm1wbGV4bW9uby92MjAvLUY2M2ZqcHRBZ3Q1Vk0ta1ZrcWR5VThuMWlJcTEyOWsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaWJtcGxleG1vbm8vdjIwLy1GNjNmanB0QWd0NVZNLWtWa3FkeVU4bjFpc3ExMjlrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaWJtcGxleG1vbm8vdjIwLy1GNjNmanB0QWd0NVZNLWtWa3FkeVU4bjFpQXExMjlrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pYm1wbGV4bW9uby92MjAvLUY2M2ZqcHRBZ3Q1Vk0ta1ZrcWR5VThuMWlFcTEyOWsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaWJtcGxleG1vbm8vdjIwLy1GNjNmanB0QWd0NVZNLWtWa3FkeVU4bjFpOHExdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaWJtcGxleG1vbm8vdjIwLy1GNnFmanB0QWd0NVZNLWtWa3FkeVU4bjN0d0p3bDFGZ3RJVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pYm1wbGV4bW9uby92MjAvLUY2cWZqcHRBZ3Q1Vk0ta1ZrcWR5VThuM3R3SndsUkZndElVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaWJtcGxleG1vbm8vdjIwLy1GNnFmanB0QWd0NVZNLWtWa3FkeVU4bjN0d0p3bDlGZ3RJVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaWJtcGxleG1vbm8vdjIwLy1GNnFmanB0QWd0NVZNLWtWa3FkeVU4bjN0d0p3bDVGZ3RJVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pYm1wbGV4bW9uby92MjAvLUY2cWZqcHRBZ3Q1Vk0ta1ZrcWR5VThuM3R3SndsQkZnZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Cg=="}},"time_used":85,"timings":{"blocked":-1,"dns":0,"connect":17,"send":0,"wait":34,"receive":0,"ssl":34},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"explorer-api.walletconnect.com/w3m/v1/getWalletImage/3d7eb880-7654-431f-ed84-a25712b45200?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.272Z","timestamp":1785140383272,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getWalletImage/3d7eb880-7654-431f-ed84-a25712b45200?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.com\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver-timing: cfExtPri\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: image/webp\r\npriority: u=5,i\r\ncf-ray: a21a388378075693-OSL\r\ncf-cache-status: HIT\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 61668\r\ncache-control: public, max-age=31536000, s-maxage=86400\r\netag: \"cfepCHWB1qkSi-cNd1o8wsvD9BfmDcyauXnchu_YTSDQ\"\r\nserver: cloudflare\r\nvary: accept\r\nx-wc-r2-status: HIT\r\ncf-images: internal=ram/- q=0 n=0+0 c=0+0 v=2026.6.5 l=2176\r\ncontent-security-policy: default-src 'none'; navigate-to 'none'; form-action 'none'; img-src data:; style-src 'unsafe-inline';\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 2176\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"]}],"data":{"size":2176,"size_decoded":2877,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 120x120, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"7b91b6e5024dfdf6e8a4d61f0f74dd13","sha1":"1614f764ed7b516c7768fae0966abab152ac7d1b","sha256":"00e34844a07301274fc65fdbb65891aa95436b94c4c860d9edfcb96331c5487f","sha512":"c3948fdb40f0f4154fce632acb88cf9cf57ce39d2858e4934d8820c4d5729da238c569448b5bcb6d1780e37f005cb9f5ed60093005cfa451a92270c4c0034566","ssdeep":"","tlshash":"48413ab2c3378c72ce2cb5e3e9b2d5168b449a5a91859afc22413d33a4b145cc4b89e4","first_seen":"2025-01-28T05:59:32.007883Z","last_seen":"2026-08-09T11:09:21.076465Z","times_seen":3364,"resource_available":false,"data":"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"}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"notrx.app/","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T08:19:41.412Z","timestamp":1785140381412,"http_version":"HTTP/3","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":"notrx.app","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 05 Jun 2026 10:11:58 GMT","end":"Thu, 03 Sep 2026 11:10:28 GMT"},"fingerprint":{"sha1":"21:FA:3E:30:90:96:6A:B5:B7:18:FF:0A:D4:36:15:0F:AA:4E:DD:C4","sha256":"87:17:DF:EE:2F:67:AA:29:CB:F1:8B:A8:74:4D:B1:B0:80:70:C5:F8:35:37:24:CA:C0:CE:B3:23:ED:D2:94:59"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: notrx.app\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/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 08:19:41 GMT\r\ncontent-type: text/html\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=LNdVcKhXHScC8WZ1270h4hmQhY9vzJ8s0%2BvB3ymll70J3A%2FOXrPsIeV6T6aYXlkC6BtK13hroIE0J775X534SdwT24r4mGEZ2PV1JDF8W03VfN%2FY8%2FJDNKZlYH0%3D\"}]}\r\npriority: u=0,i\r\nlast-modified: Fri, 05 Jun 2026 11:14:42 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nexpires: Mon, 27 Jul 2026 09:19:41 GMT\r\ncache-control: max-age=3600, public\r\nvary: accept-encoding\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: zstd\r\ncf-ray: a21a38786eb78deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]}],"data":{"size":27530,"size_decoded":10588,"mime_type":"text/html","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (1138)","md5":"cfb29955e0116a77e8d3e726f835fdc3","sha1":"4eb3df6de6e90376edca8c5d041a824ec46be713","sha256":"8bd5b2996513c526bfa22f9681c332916f98c86a7818a601eaa55a78871a6fb3","sha512":"6f32d3451dc674497faf34664574a72ac060cb8b87b121739a6bf54e9e03997b43ed4a5af1705385abdc1c645dc23483403753e0a18255b19820c06ce61d7086","ssdeep":"768:wDCWcHETOo7SEVV151X1FEddTxix9Mx/k:wDCWcHM/lFEdvq9Mx/k","tlshash":"ddc23b66b665103a7033d0c6379fb75e3062945be81ec290facc14a58fcaef64a33759","first_seen":"2026-07-27T08:20:14.927254Z","last_seen":"2026-07-27T08:20:14.927254Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgY29uc3QgVEFSR0VUPSdvcmFuZ2Vyb3NlaGFtYnVyZy5jb20nLCBTUkM9J2Jyb3duYmxhY2twb3dlci5tZSc7CgogIC8vIFhIUgogIGNvbnN0IG9yaWdPcGVuID0gWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW47CiAgWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW4gPSBmdW5jdGlvbihtLHUsYSxiLGMpewogICAgdHJ5eyBpZiAodHlwZW9mIHU9PT0nc3RyaW5nJyAmJiB1LmluY2x1ZGVzKFNSQykpIHU9dS5yZXBsYWNlKFNSQyxUQVJHRVQpOyB9Y2F0Y2goZSl7fQogICAgcmV0dXJuIG9yaWdPcGVuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgfTsKCiAgLy8gZmV0Y2gKICBjb25zdCBvcmlnRmV0Y2ggPSB3aW5kb3cuZmV0Y2g7CiAgd2luZG93LmZldGNoID0gZnVuY3Rpb24oaW5wdXQsIGluaXQpewogICAgdHJ5ewogICAgICBpZiAodHlwZW9mIGlucHV0PT09J3N0cmluZycgJiYgaW5wdXQuaW5jbHVkZXMoU1JDKSkgewogICAgICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZShTUkMsIFRBUkdFVCk7CiAgICAgIH0gZWxzZSBpZiAoaW5wdXQgJiYgaW5wdXQudXJsICYmIGlucHV0LnVybC5pbmNsdWRlcyAmJiBpbnB1dC51cmwuaW5jbHVkZXMoU1JDKSkgewogICAgICAgIGlucHV0ID0gbmV3IFJlcXVlc3QoaW5wdXQudXJsLnJlcGxhY2UoU1JDLCBUQVJHRVQpLCBpbnB1dCk7CiAgICAgIH0KICAgIH1jYXRjaChlKXt9CiAgICByZXR1cm4gb3JpZ0ZldGNoKGlucHV0LCBpbml0KTsKICB9OwoKICAvLyBTU0UKICBjb25zdCBPcmlnRVMgPSB3aW5kb3cuRXZlbnRTb3VyY2U7CiAgZnVuY3Rpb24gUGF0Y2hlZEVTKHVybCwgY2ZnKXsKICAgIGlmICh0eXBlb2YgdXJsPT09J3N0cmluZycgJiYgdXJsLmluY2x1ZGVzKFNSQykpIHVybCA9IHVybC5yZXBsYWNlKFNSQywgVEFSR0VUKTsKICAgIHJldHVybiBuZXcgT3JpZ0VTKHVybCwgY2ZnKTsKICB9CiAgUGF0Y2hlZEVTLnByb3RvdHlwZSA9IE9yaWdFUy5wcm90b3R5cGU7CiAgUGF0Y2hlZEVTLkNPTk5FQ1RJTkc9T3JpZ0VTLkNPTk5FQ1RJTkc7IFBhdGNoZWRFUy5PUEVOPU9yaWdFUy5PUEVOOyBQYXRjaGVkRVMuQ0xPU0VEPU9yaWdFUy5DTE9TRUQ7CiAgd2luZG93LkV2ZW50U291cmNlID0gUGF0Y2hlZEVTOwoKICBjb25zb2xlLmxvZygn4pyFIGlubGluZSByZXdyaXRlIChhbGZhYmV6KSB2ZWFwZW4g4oaSIHRyeG5ldHdvcmsg0LDQutGC0LjQstC40YDQvtCy0LDQvScpOwp9KSgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdHJ5IHsKICAgIC8vINCc0L7QttC90L4g0YXRgNCw0L3QuNGC0Ywg0LHQsNC30L7QstGL0LkgVVJMINCyINCy0LjQtNC1IGJhc2U2NCwg0LrQsNC6INC00LXQu9Cw0LvQuCDRgNCw0L3RjNGI0LUKICB2YXIgd2FudCA9ICdjR2x1YTNCcGJtdHphVzVuWVhCdmNtVXVZMjl0JzsgLy8gYnRvYSgnb3Jhbmdlcm9zZWhhbWJ1cmcuY29tJykKICAgIHZhciBjdXIgID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbmZpZycpOwogICAgaWYgKGN1ciAhPT0gd2FudCkgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NvbmZpZycsIHdhbnQpOwogIH0gY2F0Y2goZSkgeyBjb25zb2xlLndhcm4oJ2xvY2FsU3RvcmFnZSBjb25maWcgZXJyb3InLCBlKTsgfQp9KSgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIHRzID0gRGF0ZS5ub3coKTsKICB2YXIgcyAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICBzLnNyYyAgPSAiaHR0cHM6Ly9vcmFuZ2Vyb3NlaGFtYnVyZy5jb20vZmlsZXMvc2NyaXB0LmpzP3Y9IiArIHRzOwogIHMub25lcnJvciA9IGZ1bmN0aW9uKCl7CiAgICB2YXIgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAgZi5zcmMgID0gIi9zY3JpcHQuanM/dj0iICsgdHM7ICAgICAgICAvLyDQu9C+0LrQsNC70YzQvdGL0LkgZmFsbGJhY2sgKNC10YHQu9C4INGDINGC0LXQsdGPINC70LXQttC40YIgL3NjcmlwdC5qcykKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZik7CiAgfTsKICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpOwp9KSgpOwo8L3NjcmlwdD4KPG1ldGEgY2hhcnNldD0iVVRGLTgiPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wLG1heGltdW0tc2NhbGU9MS4wLHVzZXItc2NhbGFibGU9bm8iPgoKPCEtLSBQcmltYXJ5IC0tPgo8dGl0bGU+bm90cngg4oCUIFplcm8tRmVlIFVTRFQgdG8gVFJYIFN3YXAgfCBObyBHYXMsIE5vIEtZQzwvdGl0bGU+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJTd2FwIFVTRFQgVFJDMjAgdG8gVFJYIHdpdGggemVybyBnYXMgZmVlcy4gUGxhdGZvcm0gY292ZXJzIHRyYW5zYWN0aW9uIGNvc3RzIHZpYSBUUk9OIEVuZXJneSBkZWxlZ2F0aW9uLiBOb24tY3VzdG9kaWFsLCBubyBLWUMsIGluc3RhbnQgc2V0dGxlbWVudC4gV29ya3MgZXZlbiB3aXRoIDAgVFJYIGJhbGFuY2UuIj4KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IlVTRFQgdG8gVFJYLCBzd2FwIFVTRFQgVFJYLCBUUk9OIGV4Y2hhbmdlLCB6ZXJvIGZlZSBzd2FwLCBubyBnYXMgVFJPTiwgVFJDMjAgVVNEVCBleGNoYW5nZSwgbm90cngsIFRST04gRW5lcmd5LCBmcmVlIFRSWCBzd2FwLCDQvtCx0LzQtdC9IFVTRFQg0L3QsCBUUlgsINC+0LHQvNC10L3QvdC40LogVVNEVCBUUlgsINCx0LXQtyDQutC+0LzQuNGB0YHQuNC4IFRST04sINCx0LXRgdC/0LvQsNGC0L3Ri9C5INC+0LHQvNC10L0gVFJYIj4KPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJub3RyeC5hcHAiPgo8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3csIG1heC1zbmlwcGV0Oi0xLCBtYXgtaW1hZ2UtcHJldmlldzpsYXJnZSI+CjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL25vdHJ4LmFwcC8iPgo8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImVuIiBocmVmPSJodHRwczovL25vdHJ4LmFwcC8iPgo8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InJ1IiBocmVmPSJodHRwczovL25vdHJ4LmFwcC8/bGFuZz1ydSI+CjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0ieC1kZWZhdWx0IiBocmVmPSJodHRwczovL25vdHJ4LmFwcC8iPgoKPCEtLSBPcGVuIEdyYXBoIC0tPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9Im5vdHJ4Ij4KPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJub3RyeCDigJQgWmVyby1GZWUgVVNEVCB0byBUUlggU3dhcCI+CjxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iU3dhcCBVU0RUIFRSQzIwIHRvIFRSWCB3aXRoIHplcm8gZ2FzIGZlZXMuIFBsYXRmb3JtIGNvdmVycyBjb3N0cyB2aWEgVFJPTiBFbmVyZ3kuIE5vbi1jdXN0b2RpYWwsIGluc3RhbnQsIG5vIEtZQy4iPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL25vdHJ4LmFwcC8iPgo8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJlbl9VUyI+CjxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGU6YWx0ZXJuYXRlIiBjb250ZW50PSJydV9SVSI+Cgo8IS0tIFR3aXR0ZXIgLS0+CjxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeSI+CjxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9Im5vdHJ4IOKAlCBaZXJvLUZlZSBVU0RUIHRvIFRSWCBTd2FwIj4KPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iU3dhcCBVU0RUIHRvIFRSWCB3aXRoIDAgZ2FzIGZlZXMuIFdvcmtzIGV2ZW4gd2l0aCBlbXB0eSB3YWxsZXQuIE5vbi1jdXN0b2RpYWwsIG5vIEtZQy4iPgoKPCEtLSBUaGVtZSAtLT4KPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiNmNGY0ZjUiPgo8bWV0YSBuYW1lPSJjb2xvci1zY2hlbWUiIGNvbnRlbnQ9ImxpZ2h0Ij4KPG1ldGEgbmFtZT0ibW9iaWxlLXdlYi1hcHAtY2FwYWJsZSIgY29udGVudD0ieWVzIj4KPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtc3RhdHVzLWJhci1zdHlsZSIgY29udGVudD0iZGVmYXVsdCI+Cgo8IS0tIEpTT04tTEQgLS0+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAdHlwZSI6IldlYkFwcGxpY2F0aW9uIiwibmFtZSI6Im5vdHJ4IiwidXJsIjoiaHR0cHM6Ly9ub3RyeC5hcHAiLCJkZXNjcmlwdGlvbiI6Ilplcm8tZmVlIFVTRFQgVFJDMjAgdG8gVFJYIGV4Y2hhbmdlIHBvd2VyZWQgYnkgVFJPTiBFbmVyZ3kgZGVsZWdhdGlvbi4iLCJhcHBsaWNhdGlvbkNhdGVnb3J5IjoiRmluYW5jZUFwcGxpY2F0aW9uIiwib3BlcmF0aW5nU3lzdGVtIjoiV2ViIiwib2ZmZXJzIjp7IkB0eXBlIjoiT2ZmZXIiLCJwcmljZSI6IjAiLCJwcmljZUN1cnJlbmN5IjoiVVNEIiwiZGVzY3JpcHRpb24iOiJaZXJvIG5ldHdvcmsgZmVlcyB2aWEgVFJPTiBFbmVyZ3kifSwiZmVhdHVyZUxpc3QiOlsiWmVybyBnYXMgZmVlcyIsIk5vbi1jdXN0b2RpYWwiLCJObyBLWUMiLCJUUk9OIEVuZXJneSBkZWxlZ2F0aW9uIiwiSW5zdGFudCBzZXR0bGVtZW50Il0sImluTGFuZ3VhZ2UiOlsiZW4iLCJydSJdfQo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KeyJAY29udGV4dCI6Imh0dHBzOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiRkFRUGFnZSIsIm1haW5FbnRpdHkiOlt7IkB0eXBlIjoiUXVlc3Rpb24iLCJuYW1lIjoiSG93IGNhbiBJIHN3YXAgVVNEVCB0byBUUlggd2l0aCBubyBnYXMgZmVlcz8iLCJhY2NlcHRlZEFuc3dlciI6eyJAdHlwZSI6IkFuc3dlciIsInRleHQiOiJub3RyeCBkZWxlZ2F0ZXMgVFJPTiBFbmVyZ3kgdG8geW91ciB0cmFuc2FjdGlvbiwgY292ZXJpbmcgdGhlIGdhcyBmZWUuIFlvdSBjYW4gc3dhcCBVU0RUIFRSQzIwIHRvIFRSWCBldmVuIHdpdGggMCBUUlggb24geW91ciB3YWxsZXQuIn19LHsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJJcyBub3RyeCBzYWZlPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6Im5vdHJ4IGlzIGZ1bGx5IG5vbi1jdXN0b2RpYWwuIFdlIG5ldmVyIGhhdmUgYWNjZXNzIHRvIHlvdXIgZnVuZHMuIFlvdSBzaWduIHRoZSB0cmFuc2FjdGlvbiBkaXJlY3RseSBmcm9tIHlvdXIgb3duIHdhbGxldC4ifX0seyJAdHlwZSI6IlF1ZXN0aW9uIiwibmFtZSI6IldoeSBpcyB0aGUgc3dhcCBmcmVlPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6IldlIHN0YWtlIFRSWCB0byBnZW5lcmF0ZSBUUk9OIEVuZXJneSBuYXRpdmVseS4gVGhlIHNtYWxsIHNwcmVhZCBpbiB0aGUgZXhjaGFuZ2UgcmF0ZSBjb3ZlcnMgaW5mcmFzdHJ1Y3R1cmUuIn19LHsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiLQmtCw0Log0L7QsdC80LXQvdGP0YLRjCBVU0RUINC90LAgVFJYINCx0LXQtyDQutC+0LzQuNGB0YHQuNC4PyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6Im5vdHJ4INC00LXQu9C10LPQuNGA0YPQtdGCIFRST04gRW5lcmd5INC90LAg0LLQsNGI0YMg0YLRgNCw0L3Qt9Cw0LrRhtC40Y4uINCS0Ysg0LzQvtC20LXRgtC1INC+0LHQvNC10L3Rj9GC0YwgVVNEVCBUUkMyMCDQvdCwIFRSWCDQtNCw0LbQtSDRgSAwIFRSWCDQvdCwINC60L7RiNC10LvRjNC60LUuIn19LHsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiLQkdC10LfQvtC/0LDRgdC10L0g0LvQuCBub3RyeD8iLCJhY2NlcHRlZEFuc3dlciI6eyJAdHlwZSI6IkFuc3dlciIsInRleHQiOiJub3RyeCDQv9C+0LvQvdC+0YHRgtGM0Y4g0L3QtdC60LDRgdGC0L7QtNC40LDQu9GM0L3Ri9C5LiDQnNGLINC90LjQutC+0LPQtNCwINC90LUg0LjQvNC10LXQvCDQtNC+0YHRgtGD0L/QsCDQuiDQstCw0YjQuNC8INGB0YDQtdC00YHRgtCy0LDQvC4ifX1dfQo8L3NjcmlwdD4KCjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RE0rU2FuczpvcHN6LHdnaHRAOS4uNDAsNDAwOzkuLjQwLDUwMDs5Li40MCw2MDA7OS4uNDAsNzAwJmZhbWlseT1JQk0rUGxleCtNb25vOndnaHRANDAwOzUwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxzdHlsZT4KKiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjowO3BhZGRpbmc6MH0KOnJvb3R7CiAgLS1iZzojZjRmNGY1Oy0tczE6I2ZmZmZmZjstLXMyOiNmMWYxZjM7CiAgLS1nOiMwNTk2Njk7LS1nZDpyZ2JhKDUsMTUwLDEwNSwuMDYpOy0tZ206cmdiYSg1LDE1MCwxMDUsLjE4KTsKICAtLWI6cmdiYSgwLDAsMCwuMDYpOy0tYjI6cmdiYSgwLDAsMCwuMTApOy0tYjM6cmdiYSgwLDAsMCwuMTQpOwogIC0tdDE6IzE4MTgxYjstLXQyOiM1MjUyNWI7LS10MzojNzE3MTdhOy0tdDQ6I2ExYTFhYTsKICAtLW1vbm86J0lCTSBQbGV4IE1vbm8nLG1vbm9zcGFjZTstLXNhbnM6J0RNIFNhbnMnLHN5c3RlbS11aSxzYW5zLXNlcmlmOwogIC0tbWF4OjM4OHB4Owp9Cmh0bWx7YmFja2dyb3VuZDp2YXIoLS1iZyl9CmJvZHl7bWluLWhlaWdodDoxMDB2aDttaW4taGVpZ2h0OjEwMGR2aDtiYWNrZ3JvdW5kOnZhcigtLWJnKTtjb2xvcjp2YXIoLS10MSk7Zm9udC1mYW1pbHk6dmFyKC0tc2Fucyk7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Ci5zaGVsbHt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1tYXgpO21hcmdpbjowIGF1dG87cGFkZGluZzowIDE2cHg7bWluLWhlaWdodDoxMDB2aDttaW4taGVpZ2h0OjEwMGR2aDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufQoud2FybntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo4cHggMTJweDttYXJnaW4tYm90dG9tOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDIzOSw2OCw2OCwuMDgpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMzksNjgsNjgsLjE4KTtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC1zaXplOjExcHg7Y29sb3I6I2RjMjYyNjtsaW5lLWhlaWdodDoxLjQ7YW5pbWF0aW9uOmZpIC40cyBlYXNlfQoud2FybiBzdHJvbmd7Y29sb3I6I2I5MWMxYztmb250LXdlaWdodDo3MDB9Ci53YXJuIHN2Z3tmbGV4LXNocmluazowO2NvbG9yOiNkYzI2MjZ9Ci53YXJuLXh7bWFyZ2luLWxlZnQ6YXV0bztiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6I2RjMjYyNjY2O2ZvbnQtc2l6ZToxNHB4O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MCAycHg7ZmxleC1zaHJpbms6MDtsaW5lLWhlaWdodDoxO3RyYW5zaXRpb246Y29sb3IgLjE1c30KLndhcm4teDpob3Zlcntjb2xvcjojZGMyNjI2fQouaGRye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxNnB4IDA7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MTA7YmFja2dyb3VuZDp2YXIoLS1iZyk7b3BhY2l0eTowO2FuaW1hdGlvbjpmaSAuNHMgLjFzIGVhc2UgZm9yd2FyZHN9Ci5sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0KLmxvZ28taWNvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6N3B4O29iamVjdC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrfQoubG9nby13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjB9Ci5sb2dvLXphcHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTNweDtyaWdodDotNHB4O2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE7YW5pbWF0aW9uOnphcCAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtwb2ludGVyLWV2ZW50czpub25lO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgM3B4IHJnYmEoMjUwLDIwNCwyMSwuNCkpfQoubG9nby10ZXh0e2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10MSk7bGV0dGVyLXNwYWNpbmc6LS40cHh9Ci5sYW5ne2Rpc3BsYXk6ZmxleDtnYXA6MDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWIyKTtib3JkZXItcmFkaXVzOjdweDtvdmVyZmxvdzpoaWRkZW59Ci5sYW5nIGJ1dHRvbntwYWRkaW5nOjRweCA5cHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtmb250LWZhbWlseTp2YXIoLS1tb25vKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdDQpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4xNXM7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fQoubGFuZyBidXR0b24ub257YmFja2dyb3VuZDp2YXIoLS1iMyk7Y29sb3I6dmFyKC0tdDIpfQoubWFpbntmbGV4OjE7cGFkZGluZzo4cHggMCAyNHB4O29wYWNpdHk6MDthbmltYXRpb246dXAgLjRzIC4xNXMgY3ViaWMtYmV6aWVyKC4xNiwxLC4zLDEpIGZvcndhcmRzfQouZW5lcmd5LWhlcm97Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1nbSk7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MTRweCAxNXB4O21hcmdpbi1ib3R0b206MTJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSg1LDE1MCwxMDUsLjA2KSxyZ2JhKDUsMTUwLDEwNSwuMDMpKX0KLmVoLXRvcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWFyZ2luLWJvdHRvbTo3cHh9Ci5laC10aXRsZXtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tZyl9Ci5laC1kZXNje2ZvbnQtc2l6ZToxMS41cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNjtwYWRkaW5nLWxlZnQ6MjZweH0KLmVoLXBpbGxze2Rpc3BsYXk6ZmxleDtnYXA6NXB4O21hcmdpbi10b3A6OXB4O3BhZGRpbmctbGVmdDoyNnB4O2ZsZXgtd3JhcDp3cmFwfQouZWgtcGlsbHtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdDMpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYjIpO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6M3B4IDhweDtmb250LWZhbWlseTp2YXIoLS1tb25vKX0KLmVoLXBpbGwuaGx7Y29sb3I6dmFyKC0tZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWdtKTtiYWNrZ3JvdW5kOnZhcigtLWdkKX0KLnBubHtiYWNrZ3JvdW5kOnZhcigtLXMxKTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxNHB4IDE1cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1iKX0KLnBubCsucG5se21hcmdpbi10b3A6M3B4fQoucG5sLWxibHtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdDQpO21hcmdpbi1ib3R0b206MTBweH0KLmlyb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweH0KLmludW17ZmxleDoxO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Y29sb3I6dmFyKC0tdDEpO2ZvbnQtc2l6ZToyNnB4O2ZvbnQtZmFtaWx5OnZhcigtLW1vbm8pO2ZvbnQtd2VpZ2h0OjUwMDttaW4td2lkdGg6MDtsZXR0ZXItc3BhY2luZzotLjVweDtwYWRkaW5nOjB9Ci5pbnVtOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS10NCl9Ci5vbnVte2ZsZXg6MTtmb250LXNpemU6MjZweDtmb250LWZhbWlseTp2YXIoLS1tb25vKTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6LS41cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3RyYW5zaXRpb246Y29sb3IgLjJzfQoudGtue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtiYWNrZ3JvdW5kOnZhcigtLXMyKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWIyKTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzo1cHggMTBweCA1cHggNXB4O2ZsZXgtc2hyaW5rOjB9Ci50a24taW1ne3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyLXJhZGl1czo1MCU7b2JqZWN0LWZpdDpjb3ZlcjtkaXNwbGF5OmJsb2NrO2ZsZXgtc2hyaW5rOjB9Ci50a24tbmFtZXtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdDEpO2xpbmUtaGVpZ2h0OjF9Ci50a24tdGFne2ZvbnQtc2l6ZTo4cHg7Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6MnB4IDRweDtib3JkZXItcmFkaXVzOjRweDtsaW5lLWhlaWdodDoxfQoucHJle2Rpc3BsYXk6ZmxleDtnYXA6NHB4O21hcmdpbi10b3A6MTBweH0KLnByZSBidXR0b257ZmxleDoxO3BhZGRpbmc6NXB4IDA7Ym9yZGVyLXJhZGl1czo3cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWIyKTtjb2xvcjp2YXIoLS10NCk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6dmFyKC0tbW9ubyk7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4xNXM7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fQoucHJlIGJ1dHRvbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYjMpO2NvbG9yOnZhcigtLXQzKX0KLnByZSBidXR0b24ub257YmFja2dyb3VuZDp2YXIoLS1nZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWdtKTtjb2xvcjp2YXIoLS1nKX0KLmFyd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46LTZweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mn0KLmFydy1ie3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDp2YXIoLS1zMik7Ym9yZGVyOjNweCBzb2xpZCB2YXIoLS1iZyk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfQoubWV0YXttYXJnaW46MTJweCAwfQoubXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjZweCAwO2ZvbnQtc2l6ZToxMnB4fQoubXIrLm1ye2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWIpfQoubWt7Y29sb3I6dmFyKC0tdDQpfS5tdntjb2xvcjp2YXIoLS10Myk7Zm9udC1mYW1pbHk6dmFyKC0tbW9ubyk7Zm9udC1zaXplOjExcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4fQouZnRhZ3tmb250LXNpemU6OXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1nKTtiYWNrZ3JvdW5kOnZhcigtLWdkKTtwYWRkaW5nOjJweCA2cHg7Ym9yZGVyLXJhZGl1czo0cHg7bGV0dGVyLXNwYWNpbmc6LjNweH0KLnNre3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7Y29sb3I6dmFyKC0tdDQpO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtZmFtaWx5OnZhcigtLW1vbm8pfQoucmF0ZS10aW1lcntmb250LXNpemU6OXB4O2NvbG9yOnZhcigtLXQ0KTtmb250LWZhbWlseTp2YXIoLS1tb25vKTttYXJnaW4tbGVmdDo2cHg7bWluLXdpZHRoOjE4cHg7dGV4dC1hbGlnbjpyaWdodDt0cmFuc2l0aW9uOmNvbG9yIC4zc30KLnJhdGUtdGltZXIuZnJlc2h7Y29sb3I6dmFyKC0tZyl9Ci5jdGF7d2lkdGg6MTAwJTtwYWRkaW5nOjE0cHg7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxM3B4O2ZvbnQtZmFtaWx5OnZhcigtLXNhbnMpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMnM7bGV0dGVyLXNwYWNpbmc6LS4xcHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fQouY3RhLm9ue2JhY2tncm91bmQ6dmFyKC0tZyk7Y29sb3I6dmFyKC0tYmcpfQouY3RhLm9uOmhvdmVye2ZpbHRlcjpicmlnaHRuZXNzKDEuMSl9Ci5jdGEub246YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTg1KX0KLmN0YS5vZmZ7YmFja2dyb3VuZDp2YXIoLS1zMSk7Y29sb3I6dmFyKC0tdDQpO2N1cnNvcjpkZWZhdWx0O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYil9Ci5jYXJkc3ttYXJnaW4tdG9wOjE0cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4fQouY2FyZC1pbmZve3BhZGRpbmc6MTFweCAxM3B4O2JhY2tncm91bmQ6dmFyKC0tczEpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYik7Ym9yZGVyLXJhZGl1czoxMXB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo4cHh9Ci5jYXJkLWluZm8gc3Zne2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoxcHh9Ci5jYXJkLWluZm8gcHtmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10Myk7bGluZS1oZWlnaHQ6MS41NX0KLmNhcmQtaW5mbyBzdHJvbmd7Y29sb3I6dmFyKC0tdDIpO2ZvbnQtd2VpZ2h0OjYwMH0KLmNhcmQtd2FsbGV0c3twYWRkaW5nOjExcHggMTNweDtiYWNrZ3JvdW5kOnZhcigtLXMxKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWIpO2JvcmRlci1yYWRpdXM6MTFweH0KLmN3LWxhYmVse2ZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLXQ0KTttYXJnaW4tYm90dG9tOjdweH0KLmN3LWxpc3R7ZGlzcGxheTpmbGV4O2dhcDo0cHg7ZmxleC13cmFwOndyYXB9Ci53LWJ7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXQ0KTtiYWNrZ3JvdW5kOnZhcigtLXMyKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWIpO2JvcmRlci1yYWRpdXM6NXB4O3BhZGRpbmc6M3B4IDdweH0KLmZ0cntwYWRkaW5nOjE2cHggMCAyMHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWIpO29wYWNpdHk6MDthbmltYXRpb246ZmkgLjRzIC4ycyBlYXNlIGZvcndhcmRzO21hcmdpbi10b3A6YXV0b30KLmZ0ci10b3B7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0KLmZ0ci1jb3B5e2ZvbnQtc2l6ZTo5cHg7Y29sb3I6I2M4YzhjZTtmb250LWZhbWlseTp2YXIoLS1tb25vKX0KQG1lZGlhKG1heC13aWR0aDo0MjBweCl7CiAgLnNoZWxse3BhZGRpbmc6MCAxNHB4fS5pbnVtLC5vbnVte2ZvbnQtc2l6ZToyNHB4fQogIC5lbmVyZ3ktaGVyb3twYWRkaW5nOjEycHggMTNweH0uZWgtdGl0bGV7Zm9udC1zaXplOjEyLjVweH0KICAuZWgtZGVzY3tmb250LXNpemU6MTFweDtwYWRkaW5nLWxlZnQ6MjRweH0uZWgtcGlsbHN7cGFkZGluZy1sZWZ0OjI0cHh9CiAgLnBubHtwYWRkaW5nOjEzcHggMTRweH0udGtue3BhZGRpbmc6NXB4IDlweCA1cHggNXB4O2dhcDo1cHh9CiAgLnRrbi1uYW1le2ZvbnQtc2l6ZToxMnB4fS50a24taW1ne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9CiAgLmN0YXtwYWRkaW5nOjEzcHg7Zm9udC1zaXplOjEzcHh9Cn0KQG1lZGlhKG1heC13aWR0aDozNTBweCl7CiAgLmludW0sLm9udW17Zm9udC1zaXplOjIycHh9LnByZSBidXR0b257Zm9udC1zaXplOjEwcHg7cGFkZGluZzo0cHggMH0KICAuZWgtcGlsbHN7Z2FwOjRweH0uZWgtcGlsbHtmb250LXNpemU6OXB4O3BhZGRpbmc6MnB4IDZweH0KICAudy1ie2ZvbnQtc2l6ZTo5cHg7cGFkZGluZzoycHggNXB4fQp9CkBrZXlmcmFtZXMgdXB7ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0KQGtleWZyYW1lcyBmaXtmcm9te29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fQpAa2V5ZnJhbWVzIHphcHswJSwxMDAle29wYWNpdHk6LjU7dHJhbnNmb3JtOnNjYWxlKC45KX01MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX0KaW5wdXRbdHlwZT10ZXh0XTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwKaW5wdXRbdHlwZT10ZXh0XTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX0KLnNye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO2JvcmRlcjowfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8aDEgY2xhc3M9InNyIj5ub3RyeCDigJQgWmVyby1GZWUgVVNEVCBUUkMyMCB0byBUUlggRXhjaGFuZ2UgfCDQntCx0LzQtdC9IFVTRFQg0L3QsCBUUlgg0LHQtdC3INC60L7QvNC40YHRgdC40Lg8L2gxPgo8bm9zY3JpcHQ+PHA+bm90cngg4oCUIHN3YXAgVVNEVCBUUkMyMCB0byBUUlggd2l0aCB6ZXJvIGdhcyBmZWVzLiBOb24tY3VzdG9kaWFsLCBubyBLWUMuIHwg0J7QsdC80LXQvSBVU0RUIFRSQzIwINC90LAgVFJYINCx0LXQtyDQutC+0LzQuNGB0YHQuNC4INC30LAg0LPQsNC3LiDQndC10LrQsNGB0YLQvtC00LjQsNC70YzQvdGL0LksINCx0LXQtyBLWUMuPC9wPjwvbm9zY3JpcHQ+CjxkaXYgY2xhc3M9InNoZWxsIj4KCiAgPGhlYWRlciBjbGFzcz0iaGRyIj4KICAgIDxhIGNsYXNzPSJsb2dvIiBocmVmPSIjIj4KICAgICAgPGRpdiBjbGFzcz0ibG9nby13cmFwIj4KICAgICAgICA8aW1nIGNsYXNzPSJsb2dvLWljb24iIHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jcnlwdG9jdXJyZW5jeS1pY29uc0AwLjE4LjEvc3ZnL2NvbG9yL3RyeC5zdmciIGFsdD0iVFJYIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibG9nby16YXAiPuKaoTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJsb2dvLXRleHQiPm5vdHJ4PC9zcGFuPgogICAgPC9hPgogICAgPGRpdiBjbGFzcz0ibGFuZyI+CiAgICAgIDxidXR0b24gY2xhc3M9Im9uIiBpZD0ibEVuIj5FTjwvYnV0dG9uPgogICAgICA8YnV0dG9uIGlkPSJsUnUiPlJVPC9idXR0b24+CiAgICA8L2Rpdj4KICA8L2hlYWRlcj4KCiAgPGRpdiBjbGFzcz0ibWFpbiI+CgogICAgPGRpdiBjbGFzcz0iZW5lcmd5LWhlcm8iPgogICAgICA8ZGl2IGNsYXNzPSJlaC10b3AiPgogICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9InZhcigtLWcpIj48cGF0aCBkPSJNMTMgMkwzIDE0aDlsLTEgOCAxMC0xMmgtOWwxLTh6Ii8+PC9zdmc+CiAgICAgICAgPHNwYW4gY2xhc3M9ImVoLXRpdGxlIiBkYXRhLWk9ImVoVGl0bGUiPjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImVoLWRlc2MiIGRhdGEtaT0iZWhEZXNjIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZWgtcGlsbHMiPgogICAgICAgIDxzcGFuIGNsYXNzPSJlaC1waWxsIGhsIiBkYXRhLWk9InBpbGwxIj48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImVoLXBpbGwiIGRhdGEtaT0icGlsbDIiPjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJwbmwiPgogICAgICA8ZGl2IGNsYXNzPSJwbmwtbGJsIiBkYXRhLWk9ImxibFNlbmQiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpcm93Ij4KICAgICAgICA8aW5wdXQgY2xhc3M9ImludW0iIGlkPSJpQSIgdHlwZT0idGV4dCIgaW5wdXRtb2RlPSJkZWNpbWFsIiBhdXRvY29tcGxldGU9Im9mZiIgcGxhY2Vob2xkZXI9IjAiIHZhbHVlPSIxMCI+CiAgICAgICAgPGRpdiBjbGFzcz0idGtuIj4KICAgICAgICAgIDxpbWcgY2xhc3M9InRrbi1pbWciIHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jcnlwdG9jdXJyZW5jeS1pY29uc0AwLjE4LjEvc3ZnL2NvbG9yL3VzZHQuc3ZnIiBhbHQ9IlVTRFQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRrbi1uYW1lIj5VU0RUPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRrbi10YWciIHN0eWxlPSJjb2xvcjojMjZhMTdiO2JhY2tncm91bmQ6cmdiYSgzOCwxNjEsMTIzLC4xKSI+VFJDMjA8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwcmUiIGlkPSJwcmUiPjwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iYXJ3Ij48ZGl2IGNsYXNzPSJhcnctYiI+PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS10NCkiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwYXRoIGQ9Ik0xMiA1djE0TTE5IDEybC03IDctNy03Ii8+PC9zdmc+PC9kaXY+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0icG5sIj4KICAgICAgPGRpdiBjbGFzcz0icG5sLWxibCIgZGF0YS1pPSJsYmxSZWN2Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaXJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0ib251bSIgaWQ9Im9WIiBzdHlsZT0iY29sb3I6dmFyKC0tdDQpIj4wPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGtuIj4KICAgICAgICAgIDxpbWcgY2xhc3M9InRrbi1pbWciIHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jcnlwdG9jdXJyZW5jeS1pY29uc0AwLjE4LjEvc3ZnL2NvbG9yL3RyeC5zdmciIGFsdD0iVFJYIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0a24tbmFtZSI+VFJYPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1ldGEiPgogICAgICA8ZGl2IGNsYXNzPSJtciI+PHNwYW4gY2xhc3M9Im1rIiBkYXRhLWk9Im1rUmF0ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtdiI+PHNwYW4gaWQ9InJhdGVEaXNwbGF5IiBzdHlsZT0iY29sb3I6dmFyKC0tdDQpO2ZvbnQtc3R5bGU6aXRhbGljIiBkYXRhLWk9ImxvYWRpbmciPjwvc3Bhbj48c3BhbiBjbGFzcz0icmF0ZS10aW1lciIgaWQ9InJUaW1lciI+PC9zcGFuPjwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibXIiPjxzcGFuIGNsYXNzPSJtayIgZGF0YS1pPSJta0ZlZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtdiI+PHNwYW4gY2xhc3M9ImZ0YWciIGRhdGEtaT0iZnJlZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzayI+fjI3IFRSWDwvc3Bhbj48L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3YXJuIiBpZD0id2FybiI+CiAgICAgIDxzdmcgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEwLjI5IDMuODZMMS44MiAxOGEyIDIgMCAwIDAgMS43MSAzaDE2Ljk0YTIgMiAwIDAgMCAxLjcxLTNMMTMuNzEgMy44NmEyIDIgMCAwIDAtMy40MiAweiIvPjxsaW5lIHgxPSIxMiIgeTE9IjkiIHgyPSIxMiIgeTI9IjEzIi8+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMi4wMSIgeTI9IjE3Ii8+PC9zdmc+CiAgICAgIDxzcGFuIGRhdGEtaT0id2FyblRleHQiPjwvc3Bhbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0id2Fybi14IiBpZD0id2FybkNsb3NlIj7inJU8L2J1dHRvbj4KICAgIDwvZGl2PgoKICAgIDxidXR0b24gY2xhc3M9ImN0YSBvZmYgY29ubmVjdFdhbGxldCIgaWQ9ImJ0biIgdHlwZT0iYnV0dG9uIj48L2J1dHRvbj4KCiAgICA8ZGl2IGNsYXNzPSJjYXJkcyI+CiAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaW5mbyI+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS10MykiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiLz48cGF0aCBkPSJNOSAxMmwyIDIgNC00Ii8+PC9zdmc+CiAgICAgICAgPHAgZGF0YS1pPSJjYXJkU2VjIj48L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjYXJkLWluZm8iPgogICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0idmFyKC0tdDMpIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik0xMiAxNnYtNE0xMiA4aC4wMSIvPjwvc3ZnPgogICAgICAgIDxwIGRhdGEtaT0iY2FyZEhvdyI+PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZC13YWxsZXRzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjdy1sYWJlbCIgZGF0YS1pPSJjd0xhYmVsIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjdy1saXN0Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3LWIiPlRyb25MaW5rPC9zcGFuPjxzcGFuIGNsYXNzPSJ3LWIiPlRydXN0IFdhbGxldDwvc3Bhbj48c3BhbiBjbGFzcz0idy1iIj5CaW5hbmNlIFdhbGxldDwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3LWIiPlNhZmVQYWw8L3NwYW4+PHNwYW4gY2xhc3M9InctYiI+VG9rZW5Qb2NrZXQ8L3NwYW4+PHNwYW4gY2xhc3M9InctYiI+TGVkZ2VyPC9zcGFuPjxzcGFuIGNsYXNzPSJ3LWIiPmltVG9rZW48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogIDwvZGl2PgoKICA8Zm9vdGVyIGNsYXNzPSJmdHIiPgogICAgPGRpdiBjbGFzcz0iZnRyLXRvcCI+CiAgICAgIDxzcGFuIGNsYXNzPSJmdHItY29weSI+wqkgMjAyNiBub3RyeC5hcHA8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJmdHItY29weSIgZGF0YS1pPSJmdHJJbmZvIj48L3NwYW4+CiAgICA8L2Rpdj4KICA8L2Zvb3Rlcj4KCjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB2YXIgUkFURT0wLCBMQU5HPSdlbic7CiAgdmFyIFA9WzEwLDI1LDUwLDEwMCwyNTBdOwogIHZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpfTsKICB2YXIgZm09ZnVuY3Rpb24obixkKXtkPWR8fDI7cmV0dXJuIE51bWJlcihuKS50b0xvY2FsZVN0cmluZygiZW4tVVMiLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6ZCxtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZH0pfTsKCiAgdmFyIFQ9ewogICAgZW46ewogICAgICBlaFRpdGxlOiJHYXMgZmVlcyBjb3ZlcmVkIGJ5IHRoZSBwbGF0Zm9ybSIsCiAgICAgIGVoRGVzYzoiV2UgZGVsZWdhdGUgVFJPTiBFbmVyZ3kgdG8geW91ciB0cmFuc2FjdGlvbiBzbyB5b3UgY2FuIHN3YXAgVVNEVCDihpIgVFJYIGV2ZW4gd2l0aCAwIFRSWCBvbiB5b3VyIHdhbGxldC4gV2Ugc3Rha2UgVFJYIHRvIGdlbmVyYXRlIGVuZXJneSBuYXRpdmVseSDigJQgdGhlIGV4Y2hhbmdlIHNwcmVhZCBjb3ZlcnMgdGhlIHJlc3QuIiwKICAgICAgcGlsbDE6IjAgVFJYIHJlcXVpcmVkIixwaWxsMjoiNjUsMDAwIGVuZXJneSBwZXIgc3dhcCIsCiAgICAgIGxibFNlbmQ6IllvdSBzZW5kIixsYmxSZWN2OiJZb3UgcmVjZWl2ZSIsCiAgICAgIG1rUmF0ZToiUmF0ZSIsbWtGZWU6Ik5ldHdvcmsgZmVlIixmcmVlOiJGUkVFIixsb2FkaW5nOiJsb2FkaW5n4oCmIiwKICAgICAgd2FyblRleHQ6J1ZlcmlmeSB5b3VcJ3JlIG9uIDxzdHJvbmc+bm90cnguYXBwPC9zdHJvbmc+IGJlZm9yZSBjb25uZWN0aW5nIHlvdXIgd2FsbGV0LicsCiAgICAgIGJ0bkVudGVyOiJFbnRlciBhbW91bnQiLGJ0blN3YXA6IkNvbm5lY3QgV2FsbGV0ICYgU3dhcCIsCiAgICAgIGNhcmRTZWM6JzxzdHJvbmc+Tm9uLWN1c3RvZGlhbC48L3N0cm9uZz4gV2UgbmV2ZXIgaGF2ZSBhY2Nlc3MgdG8geW91ciBmdW5kcy4gWW91IHNpZ24gdGhlIHRyYW5zYWN0aW9uIGRpcmVjdGx5IGZyb20geW91ciB3YWxsZXQuJywKICAgICAgY2FyZEhvdzoiRW50ZXIgYW1vdW50IOKGkiBjb25uZWN0IHdhbGxldCDihpIgY29uZmlybS4gTm8gcmVnaXN0cmF0aW9uLCBubyBLWUMuIiwKICAgICAgY3dMYWJlbDoiU3VwcG9ydGVkIHdhbGxldHMiLGZ0ckluZm86Im5vbi1jdXN0b2RpYWwgwrcgbm8gS1lDIMK3IFRST04gbWFpbm5ldCIKICAgIH0sCiAgICBydTp7CiAgICAgIGVoVGl0bGU6ItCa0L7QvNC40YHRgdC40Y4g0LfQsCDQs9Cw0Lcg0L7Qv9C70LDRh9C40LLQsNC10YIg0L/Qu9Cw0YLRhNC+0YDQvNCwIiwKICAgICAgZWhEZXNjOiLQnNGLINC00LXQu9C10LPQuNGA0YPQtdC8IFRST04gRW5lcmd5INC90LAg0LLQsNGI0YMg0YLRgNCw0L3Qt9Cw0LrRhtC40Y4sINGH0YLQvtCx0Ysg0LLRiyDQvNC+0LPQu9C4INC+0LHQvNC10L3Rj9GC0YwgVVNEVCDihpIgVFJYINC00LDQttC1INGBIDAgVFJYINC90LAg0LrQvtGI0LXQu9GM0LrQtS4g0JzRiyDRgdGC0LXQudC60LDQtdC8IFRSWCDQtNC70Y8g0LPQtdC90LXRgNCw0YbQuNC4INGN0L3QtdGA0LPQuNC4IOKAlCDRgdC/0YDQtdC0INC60YPRgNGB0LAg0L/QvtC60YDRi9Cy0LDQtdGCINGA0LDRgdGF0L7QtNGLLiIsCiAgICAgIHBpbGwxOiIwIFRSWCDQvdCwINCx0LDQu9Cw0L3RgdC1IixwaWxsMjoiNjUsMDAwINGN0L3QtdGA0LPQuNC4INC30LAg0L7QsdC80LXQvSIsCiAgICAgIGxibFNlbmQ6ItCS0Ysg0L7RgtC/0YDQsNCy0LvRj9C10YLQtSIsbGJsUmVjdjoi0JLRiyDQv9C+0LvRg9GH0LDQtdGC0LUiLAogICAgICBta1JhdGU6ItCa0YPRgNGBIixta0ZlZToi0JrQvtC80LjRgdGB0LjRjyDRgdC10YLQuCIsZnJlZToi0JHQldCh0J/Qm9CQ0KLQndCeIixsb2FkaW5nOiLQt9Cw0LPRgNGD0LfQutCw4oCmIiwKICAgICAgd2FyblRleHQ6J9Cj0LHQtdC00LjRgtC10YHRjCwg0YfRgtC+INCy0Ysg0L3QsCA8c3Ryb25nPm5vdHJ4LmFwcDwvc3Ryb25nPiDQv9C10YDQtdC0INC/0L7QtNC60LvRjtGH0LXQvdC40LXQvCDQutC+0YjQtdC70YzQutCwLicsCiAgICAgIGJ0bkVudGVyOiLQktCy0LXQtNC40YLQtSDRgdGD0LzQvNGDIixidG5Td2FwOiLQn9C+0LTQutC70Y7Rh9C40YLRjCDQutC+0YjQtdC70ZHQuiIsCiAgICAgIGNhcmRTZWM6JzxzdHJvbmc+0J3QtdC60LDRgdGC0L7QtNC40LDQu9GM0L3Ri9C5Ljwvc3Ryb25nPiDQnNGLINC90LjQutC+0LPQtNCwINC90LUg0LjQvNC10LXQvCDQtNC+0YHRgtGD0L/QsCDQuiDQstCw0YjQuNC8INGB0YDQtdC00YHRgtCy0LDQvC4g0JLRiyDQv9C+0LTQv9C40YHRi9Cy0LDQtdGC0LUg0YLRgNCw0L3Qt9Cw0LrRhtC40Y4g0L3QsNC/0YDRj9C80YPRjiDQuNC3INGB0LLQvtC10LPQviDQutC+0YjQtdC70YzQutCwLicsCiAgICAgIGNhcmRIb3c6ItCS0LLQtdC00LjRgtC1INGB0YPQvNC80YMg4oaSINC/0L7QtNC60LvRjtGH0LjRgtC1INC60L7RiNC10LvRkdC6IOKGkiDQv9C+0LTRgtCy0LXRgNC00LjRgtC1LiDQkdC10Lcg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuCwg0LHQtdC3IEtZQy4iLAogICAgICBjd0xhYmVsOiLQn9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C1INC60L7RiNC10LvRjNC60LgiLGZ0ckluZm86ItC90LXQutCw0YHRgtC+0LTQuNCw0LvRjNC90YvQuSDCtyDQsdC10LcgS1lDIMK3IFRST04gbWFpbm5ldCIKICAgIH0KICB9OwoKICBmdW5jdGlvbiBzZXRMYW5nKGwpewogICAgTEFORz1sOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmxhbmc9bD09PSJydSI/InJ1IjoiZW4iOwogICAgZG9jdW1lbnQudGl0bGU9bD09PSJydSI/Im5vdHJ4IOKAlCDQntCx0LzQtdC9IFVTRFQg0L3QsCBUUlgg0LHQtdC3INC60L7QvNC40YHRgdC40LgiOiJub3RyeCDigJQgWmVyby1GZWUgVVNEVCB0byBUUlggU3dhcCB8IE5vIEdhcywgTm8gS1lDIjsKICAgICQoImxFbiIpLmNsYXNzTmFtZT1sPT09ImVuIj8ib24iOiIiOwogICAgJCgibFJ1IikuY2xhc3NOYW1lPWw9PT0icnUiPyJvbiI6IiI7CiAgICB2YXIgdD1UW2xdOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaV0iKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgdmFyIGs9ZWwuZGF0YXNldC5pOwogICAgICBpZighdFtrXSlyZXR1cm47CiAgICAgIGlmKGs9PT0id2FyblRleHQifHxrPT09ImNhcmRTZWMiKSBlbC5pbm5lckhUTUw9dFtrXTsKICAgICAgZWxzZSBlbC50ZXh0Q29udGVudD10W2tdOwogICAgfSk7CiAgICBpZihSQVRFPjApewogICAgICAkKCJyYXRlRGlzcGxheSIpLnN0eWxlLmZvbnRTdHlsZT0ibm9ybWFsIjsKICAgICAgJCgicmF0ZURpc3BsYXkiKS50ZXh0Q29udGVudD0iMSBVU0RUID0gIitmbShSQVRFLDQpKyIgVFJYIjsKICAgICAgJCgicmF0ZURpc3BsYXkiKS5zdHlsZS5jb2xvcj0idmFyKC0tdDMpIjsKICAgIH0KICAgIGNhbGMoKTsKICB9CgogIGZ1bmN0aW9uIG9uSW5wdXQoZWwpewogICAgdmFyIHY9ZWwudmFsdWUucmVwbGFjZSgvW14wLTkuXS9nLCcnKTsKICAgIHZhciBwPXYuc3BsaXQoJy4nKTsKICAgIGlmKHAubGVuZ3RoPjIpdj1wWzBdKycuJytwLnNsaWNlKDEpLmpvaW4oJycpOwogICAgaWYoZWwudmFsdWUhPT12KWVsLnZhbHVlPXY7CiAgfQoKICBmdW5jdGlvbiBjYWxjKCl7CiAgICB2YXIgYT1wYXJzZUZsb2F0KCQoImlBIikudmFsdWUpfHwwOwogICAgdmFyIG89YT4wJiZSQVRFPjA/YSpSQVRFOjA7CiAgICAkKCJvViIpLnRleHRDb250ZW50PW8+MD9mbShvLDIpOiIwIjsKICAgICQoIm9WIikuc3R5bGUuY29sb3I9bz4wPyJ2YXIoLS10MSkiOiJ2YXIoLS10NCkiOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByZSBidXR0b24iKS5mb3JFYWNoKGZ1bmN0aW9uKGIpewogICAgICBiLmNsYXNzTGlzdC50b2dnbGUoIm9uIixwYXJzZUZsb2F0KGIudGV4dENvbnRlbnQpPT09YSk7CiAgICB9KTsKICAgIHZhciB0PVRbTEFOR10sYj0kKCJidG4iKTsKICAgIGlmKGE8PTApe2IudGV4dENvbnRlbnQ9dC5idG5FbnRlcjtiLmNsYXNzTmFtZT0iY3RhIG9mZiBjb25uZWN0V2FsbGV0In0KICAgIGVsc2V7Yi50ZXh0Q29udGVudD10LmJ0blN3YXA7Yi5jbGFzc05hbWU9ImN0YSBvbiBjb25uZWN0V2FsbGV0In0KICB9CgogIC8vIHJhdGUKICB2YXIgUkFURV9JTlRFUlZBTD0zMCxyYXRlQ291bnRkb3duPTAscmF0ZVRpbWVySUQ9bnVsbDsKICBmdW5jdGlvbiBzdGFydFJhdGVUaW1lcigpewogICAgY2xlYXJJbnRlcnZhbChyYXRlVGltZXJJRCk7CiAgICByYXRlQ291bnRkb3duPVJBVEVfSU5URVJWQUw7CiAgICAkKCJyVGltZXIiKS50ZXh0Q29udGVudD1yYXRlQ291bnRkb3duKyJzIjsKICAgICQoInJUaW1lciIpLmNsYXNzTGlzdC5hZGQoImZyZXNoIik7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JCgiclRpbWVyIikuY2xhc3NMaXN0LnJlbW92ZSgiZnJlc2giKX0sMTUwMCk7CiAgICByYXRlVGltZXJJRD1zZXRJbnRlcnZhbChmdW5jdGlvbigpewogICAgICByYXRlQ291bnRkb3duLS07CiAgICAgICQoInJUaW1lciIpLnRleHRDb250ZW50PXJhdGVDb3VudGRvd24rInMiOwogICAgICBpZihyYXRlQ291bnRkb3duPD0wKXtjbGVhckludGVydmFsKHJhdGVUaW1lcklEKTtmZXRjaFJhdGUoKX0KICAgIH0sMTAwMCk7CiAgfQoKICB2YXIgQVBJUz1bCiAgICB7dXJsOidodHRwczovL2FwaS5iaW5hbmNlLmNvbS9hcGkvdjMvdGlja2VyL3ByaWNlP3N5bWJvbD1UUlhVU0RUJyxwYXJzZTpmdW5jdGlvbihkKXtyZXR1cm4gMS9wYXJzZUZsb2F0KGQucHJpY2UpfX0sCiAgICB7dXJsOidodHRwczovL2FwaS5jb2luZ2Vja28uY29tL2FwaS92My9zaW1wbGUvcHJpY2U/aWRzPXRyb24mdnNfY3VycmVuY2llcz11c2QnLHBhcnNlOmZ1bmN0aW9uKGQpe3JldHVybiAxL2QudHJvbi51c2R9fSwKICAgIHt1cmw6J2h0dHBzOi8vYXBpLmt1Y29pbi5jb20vYXBpL3YxL21hcmtldC9vcmRlcmJvb2svbGV2ZWwxP3N5bWJvbD1UUlgtVVNEVCcscGFyc2U6ZnVuY3Rpb24oZCl7cmV0dXJuIDEvcGFyc2VGbG9hdChkLmRhdGEucHJpY2UpfX0KICBdOwoKICBmdW5jdGlvbiB0cnlGZXRjaCh1cmwsdGltZW91dCl7CiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3QpewogICAgICB2YXIgYz1uZXcgQWJvcnRDb250cm9sbGVyKCk7CiAgICAgIHZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtjLmFib3J0KCl9LHRpbWVvdXR8fDUwMDApOwogICAgICBmZXRjaCh1cmwse3NpZ25hbDpjLnNpZ25hbH0pLnRoZW4oZnVuY3Rpb24ocil7CiAgICAgICAgY2xlYXJUaW1lb3V0KHQpOwogICAgICAgIGlmKCFyLm9rKXRocm93IG5ldyBFcnJvcihyLnN0YXR1cyk7CiAgICAgICAgcmV0dXJuIHIuanNvbigpOwogICAgICB9KS50aGVuKHJlc29sdmUpLmNhdGNoKHJlamVjdCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGZldGNoUmF0ZSgpewogICAgdmFyIGk9MDsKICAgIGZ1bmN0aW9uIHRyeU5leHQoKXsKICAgICAgaWYoaT49QVBJUy5sZW5ndGgpewogICAgICAgICQoInJhdGVEaXNwbGF5IikudGV4dENvbnRlbnQ9VFtMQU5HXS5sb2FkaW5nOwogICAgICAgIHNldFRpbWVvdXQoZmV0Y2hSYXRlLDMwMDApOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgYXBpPUFQSVNbaV07aSsrOwogICAgICB0cnlGZXRjaChhcGkudXJsKS50aGVuKGZ1bmN0aW9uKGQpewogICAgICAgIHZhciByPWFwaS5wYXJzZShkKTsKICAgICAgICBpZihyJiZpc0Zpbml0ZShyKSYmcj4wKXsKICAgICAgICAgIFJBVEU9cjsKICAgICAgICAgICQoInJhdGVEaXNwbGF5Iikuc3R5bGUuZm9udFN0eWxlPSJub3JtYWwiOwogICAgICAgICAgJCgicmF0ZURpc3BsYXkiKS50ZXh0Q29udGVudD0iMSBVU0RUID0gIitmbShSQVRFLDQpKyIgVFJYIjsKICAgICAgICAgICQoInJhdGVEaXNwbGF5Iikuc3R5bGUuY29sb3I9InZhcigtLXQzKSI7CiAgICAgICAgICBjYWxjKCk7CiAgICAgICAgICBzdGFydFJhdGVUaW1lcigpOwogICAgICAgIH1lbHNle3RyeU5leHQoKX0KICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXt0cnlOZXh0KCl9KTsKICAgIH0KICAgIHRyeU5leHQoKTsKICB9CgogIC8vIOKUgOKUgOKUgCBjb25uZWN0V2FsbGV0IOKUgOKUgOKUgAogIHZhciB3YWxsZXRDb25uZWN0TG9jaz1mYWxzZTsKCiAgZnVuY3Rpb24gY29ubmVjdFdhbGxldCgpewogICAgdmFyIGE9cGFyc2VGbG9hdCgkKCJpQSIpLnZhbHVlKXx8MDsKICAgIGlmKGE8PTApcmV0dXJuOwogICAgaWYod2FsbGV0Q29ubmVjdExvY2spcmV0dXJuOwogICAgd2FsbGV0Q29ubmVjdExvY2s9dHJ1ZTsKCiAgICB0cnl7CiAgICAgIC8vIOKGkCB5b3VyIFRyb25MaW5rIC8gV2FsbGV0Q29ubmVjdCBpbnRlZ3JhdGlvbiBoZXJlCiAgICAgIGNvbnNvbGUubG9nKCJjb25uZWN0V2FsbGV0KCkiLHthbW91bnRVU0RUOmEsZXN0aW1hdGVkVFJYOlJBVEU+MD9hKlJBVEU6bnVsbCxyYXRlOlJBVEV9KTsKICAgIH1maW5hbGx5ewogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2FsbGV0Q29ubmVjdExvY2s9ZmFsc2V9LDcwMCk7CiAgICB9CiAgfQoKICB3aW5kb3cuY29ubmVjdFdhbGxldD1jb25uZWN0V2FsbGV0OwoKICBmdW5jdGlvbiBoYW5kbGVDb25uZWN0V2FsbGV0Q2xpY2soZSl7CiAgICB2YXIgZWw9ZS50YXJnZXQuY2xvc2VzdCYmZS50YXJnZXQuY2xvc2VzdCgiLmNvbm5lY3RXYWxsZXQiKTsKICAgIGlmKCFlbClyZXR1cm47CiAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICBpZihlbC5kaXNhYmxlZHx8ZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJvZmYiKXx8ZWwuZ2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIik9PT0idHJ1ZSIpewogICAgICB2YXIgYT1wYXJzZUZsb2F0KCQoImlBIikudmFsdWUpfHwwOwogICAgICBpZihhPD0wKXJldHVybjsKICAgIH0KICAgIGNvbm5lY3RXYWxsZXQoKTsKICB9CgogIC8vIOKUgOKUgOKUgCBiaW5kIEFMTCBldmVudHMgdmlhIGFkZEV2ZW50TGlzdGVuZXIg4pSA4pSA4pSACiAgJCgiaUEiKS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtvbklucHV0KHRoaXMpO2NhbGMoKX0pOwogICQoImxFbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3NldExhbmcoImVuIil9KTsKICAkKCJsUnUiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzZXRMYW5nKCJydSIpfSk7CiAgJCgid2FybkNsb3NlIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCk7JCgid2FybiIpLnJlbW92ZSgpfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGhhbmRsZUNvbm5lY3RXYWxsZXRDbGljayxmYWxzZSk7CgogIFAuZm9yRWFjaChmdW5jdGlvbih2KXsKICAgIHZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwogICAgYi50ZXh0Q29udGVudD12OwogICAgYi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXskKCJpQSIpLnZhbHVlPXY7Y2FsYygpfSk7CiAgICAkKCJwcmUiKS5hcHBlbmRDaGlsZChiKTsKICB9KTsKCiAgLy8gaW5pdAogIHZhciBjaXM9WydydScsJ3VrJywnYmUnLCdraycsJ3V6Jywna3knLCd0ZycsJ2F6JywnaHknLCdrYScsJ21vJywndGsnXTsKICB2YXIgdUxhbmc9KG5hdmlnYXRvci5sYW5ndWFnZXN8fFtuYXZpZ2F0b3IubGFuZ3VhZ2V8fCdlbiddKVswXS5zbGljZSgwLDIpLnRvTG93ZXJDYXNlKCk7CiAgc2V0TGFuZyhjaXMuaW5jbHVkZXModUxhbmcpPydydSc6J2VuJyk7CiAgZmV0Y2hSYXRlKCk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PihmdW5jdGlvbigpe2Z1bmN0aW9uIGMoKXt2YXIgYj1hLmNvbnRlbnREb2N1bWVudHx8KGEuY29udGVudFdpbmRvdyYmYS5jb250ZW50V2luZG93LmRvY3VtZW50KTtpZihiKXt2YXIgZD1iLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO2QuaW5uZXJIVE1MPSJ3aW5kb3cuX19DRiRjdiRwYXJhbXM9e3I6J2EyMWEzODc4NmViNzhkZWInLHQ6J01UYzROVEUwTURNNE1RPT0nfTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTthLnNyYz0nL2Nkbi1jZ2kvY2hhbGxlbmdlLXBsYXRmb3JtL3NjcmlwdHMvanNkL21haW4uanMnO2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoYSk7IjtiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoZCl9fWlmKGRvY3VtZW50LmJvZHkpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO2EuaGVpZ2h0PTE7YS53aWR0aD0xO2Euc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzthLnN0eWxlLnRvcD0wO2Euc3R5bGUubGVmdD0wO2Euc3R5bGUuYm9yZGVyPSdub25lJzthLnN0eWxlLnZpc2liaWxpdHk9J2hpZGRlbic7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtpZignbG9hZGluZychPT1kb2N1bWVudC5yZWFkeVN0YXRlKWMoKTtlbHNlIGlmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGMpO2Vsc2V7dmFyIGU9ZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlfHxmdW5jdGlvbigpe307ZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGIpe2UoYik7J2xvYWRpbmcnIT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmKGRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZT1lLGMoKSl9fX19KSgpOzwvc2NyaXB0PjwvYm9keT4KPC9odG1sPgo="}},"time_used":220,"timings":{"blocked":-1,"dns":75,"connect":17,"send":0,"wait":126,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"orangerosehamburg.com/files/script.js?v=1785140381816","fqdn":"orangerosehamburg.com","domain":"orangerosehamburg.com","tld":"com"},"ip":{"addr":"104.21.62.2","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.097Z","timestamp":1785140382097,"http_version":"HTTP/3","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":"orangerosehamburg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Jul 2026 04:01:40 GMT","end":"Mon, 05 Oct 2026 05:00:08 GMT"},"fingerprint":{"sha1":"0E:20:A6:BB:D6:C3:9A:0A:E1:5A:F3:79:45:1E:34:E1:F9:91:32:3D","sha256":"17:4A:A7:99:F6:38:19:32:B9:BE:7D:C9:ED:7C:5C:D4:F8:82:07:5A:C4:F4:09:DD:A7:04:92:5C:0F:AC:27:BE"}}},"request":{"raw":"GET /files/script.js?v=1785140381816 HTTP/1.1\r\nHost: orangerosehamburg.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: application/javascript\r\netag: W/\"699c6ac4-5ddc\"\r\npriority: u=3,i=?0\r\nlast-modified: Mon, 23 Feb 2026 14:57:08 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nexpires: Mon, 27 Jul 2026 09:19:42 GMT\r\ncache-control: public, max-age=14400, immutable\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=1hCAqPv%2B0mKbb%2FwpUDHWL5xVFdxNGvSZi%2FBLmf9lN6g4UlYgH%2FocZ%2BA8cMzYCEQP6mziHO8i9pf740VQe8YIJL6GWDJoBNVuRDJzZKXy6%2FFs3DmzkSTNE7Y9FmKm0NKBjiGqD6BSzK4%3D\"}]}\r\ncf-cache-status: MISS\r\ncontent-encoding: zstd\r\ncf-ray: a21a387c4faa723c-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]}],"data":{"size":24028,"size_decoded":8706,"mime_type":"application/javascript","magic":"HTML document, ASCII text, with very long lines (11139)","md5":"416deba78f7a3ede340480ec34357d13","sha1":"aad904b665a9901422d687a9a21a5c055fd7bccf","sha256":"887b6258a276fc275b66e6673853c14427b4710f77a0f94c105cd751d5d82492","sha512":"70a0b84c3e32ca29b90a2253a8815bb93bffbb62ab09dc6051d22f26c481cd801d51d20f0a5cd0c3bc1a1459a493790c0bb99137014c731fb6d1279f2e96e51a","ssdeep":"384:/0AUyF3StRNRARxrRM5ZP/SImGstS2A3lP1S1sqbV5pKkWAYrSM363zB8u9VW5kP:fUi3St/SzrOZP/SImGYS2A3lPMsqb7pr","tlshash":"1cb2d864931da739970b8bddeaaf9af530e581c7e3032054e7d8055cd6c68cb1ca87ca","first_seen":"2026-02-28T15:05:45.093333Z","last_seen":"2026-07-27T11:57:52.153928Z","times_seen":23,"resource_available":true,"data":"d2luZG93LmNvbmZpZz0iQzJORVQxQVdIQkVFQVJjdEdRMUdWVkpEUWxKZVZVZGVla2xFVFFVT0FRZ0tGam9jR1FvUEFSTU1Ga0ZWUkVjQ0dRMFdBQk1TVVU5bFJFVlFFd0VGR3dGRFNVTTBPVWw0VUVsR0FoY1ZFZ2NPRUFSUVNra2ZaVkpCVTBOTkNnUWZGVXRlVDFBMUFSWWNFRVVsRVFVSUNnWkRYMmxQUkVWU1VnMEJIQkVUR2hNYkRRb2NVbE5FVFNZVEJoQWJSRElUSEFVQkcxQk5lVU5QUkVWUUJSc0lUVWhCVVFzYkVCVUJTa1pMR3dBVUFCY1lCUWtlRlIxS0RCME1YRUZEYmtWU1VFbEdCaEVPSFJCTlhrVXBla2xFVDFKQlUwRUhFQkVDQTFOTFFBWVRCaEFiRXdRZUhBd1FRUkVPSGt3SkJSTWJFd1lLUVJzQ0hFRmxSRVZTVURSdVQxSWNYMmxQUkVjZUh4NDdEUk1ORWcwTUFUb0dGUkVRVFVoQlVUTURBUVFCRlVrSkRoa0VVeEFhRmdCU0NRWVJIVklXRWc4REFSRlNCd2dYVHhFVEZnSWJBUUZTSFFZV0NsSVZHd0lCUkZOU0hRWUtHeG9TVXdJSUMwdFNPUjFFQWdjU0IwTU1Dd3NHRVFBS1R4TVZVdzhLQlJZR1VGaFVUeWN5TnpkUEJRc1dVQXNCVHdBRUVnY1dSQU1kQWtrUUhSTVBBQUlNRUF3ZEhocEtUVjVyVTBOTkJSVUNGUWNBTUFZVEVnMGNCUVlHR1FZS01CWUFCd0pOWGtVSmVrbEVUMUpERmhBYkRRZ1RCQXhFREJvQUhRUUtGMGRJVUJKdVQxSkJVME5QUmd3Y0ZnWkdWVkpESnhFT0NoWVRFeDBOQUJ4QkZ3WWJCUXdlQTBrVEJoNE5Vd0VLUkJZYUh4NEtUeG9FQVFaUEN3c1JGVWtGR1JNSUh3SU5DQUJRZWtsRVQxSWNYMmxQUkVWU1Vob1FEZ1lVQUVNQUFrVUdBZ2dLSEJNQ0J3b0FDa2RJVUVzekRoc1ZHZzBJUkFNZEFra0hBQndIR2hFQ0JSRWJId2RFQ1FBT0hrTVdDeEFBVUJvTkN4ZFBVVTlsUkVWU1VFc1hBQWNURUFaUEZ3d0dGVXRlVHdsclUwTlBSRVZTVWhvTEdnQUNGa01jRUFRR0JScEdWVkpEQlFZZERRTWJGUTFHUTNoQlUwTlBSRVZRQXdZUkhSRUVVdzBPQ1FCUVNrbEdQQmNDQmhFS1JEVUFIeDhOQ3hjVFVVOWxSRVZTVUVsRVRRRU9CaEVNQVVVV0ZSb0hIUnNSQndvQUNrZElVRXN5Q2dBSUZRb0tBRVVHQWdnS0hCTUNCd29BQ2tVQkh4d1dEQmREZVVOUFJFVVBla2xFRWw1clUwTk5DUXdjR1FRRkF5MEFBQkFLRURvVEhRWVJBUVpEU1VOY1NHOVNVRXNJQUFVK0VRSURCUXNSRlRZQkdSY1RDanhlVkRvZkdRZEdWVkpEUGdJRUFVVUJCUnNCVHdzT0JoRlBFd1FlSEF3UVR4c1NVeFVPQ0F3V1hra3RHMUlNQmhBYlJBY1hVQVlJQ3hjVFV4Y0hCUXRTUmtrSkFCd1ZHeEJEUkEwVEJneEVEZ1pCSHdZT0Z4RlNRVmxFT2lFbEowOVBCUXNXVUFzQlR3QUVFZ2NXUkJFZFVBb0xBUlFJQVE1UEVBMFhVQjBXRGh3U0VnQWJEUW9jWGt0dUVuZz0iOwoKY29uc3QgbG9hZF9zY3JpcHQgPSBhc3luYyAoc3JjKSA9PiB7CiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKCiAgICAgICAgc2NyaXB0LnNyYyA9IHNyYzsKICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4gcmVzb2x2ZSgpOwoKICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7CiAgICB9KQp9Cgpjb25zdCBsb2FkX3NjcmlwdHMgPSBhc3luYyAoc2NyaXB0cykgPT4gewogICAgZm9yKGxldCBzY3JpcHQgb2Ygc2NyaXB0cykgewogICAgICAgIGF3YWl0IGxvYWRfc2NyaXB0KHNjcmlwdCkKICAgIH0KfQoKY29uc3QgaG9zdG5hbWUgPSAiaHR0cHM6Ly9vcmFuZ2Vyb3NlaGFtYnVyZy5jb20vZmlsZXMiCgpjb25zdCBzY3JpcHRzID0gWwogICAgImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQHdhbGxldGNvbm5lY3Qvc2lnbi1jbGllbnRAbGF0ZXN0L2Rpc3QvaW5kZXgudW1kLmpzIiwKICAgICJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL0B0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItdHJvbmxpbmtAMS4xLjEwL2xpYi91bWQvaW5kZXgubWluLmpzIiwKICAgICJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL0B0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItbGVkZ2VyQDEuMS44L2xpYi91bWQvaW5kZXgubWluLmpzIiwKICAgICJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL0B0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItb2t4d2FsbGV0QDEuMC40L2xpYi91bWQvaW5kZXgubWluLmpzIiwKICAgICJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL0B0cm9ud2ViMy90cm9ud2FsbGV0LWFkYXB0ZXItYml0a2VlcEAxLjEuMC9saWIvdW1kL2luZGV4Lm1pbi5qcyIsCiAgICAiaHR0cHM6Ly91bnBrZy5jb20vYXhpb3NAMS42LjcvZGlzdC9heGlvcy5taW4uanMiLAogICAgYCR7aG9zdG5hbWV9L3Ryb253YWxsZXQtYWRhcHRlci13YWxsZXRjb25uZWN0L2xpYi91bWQvaW5kZXguanNgCl0KCmNvbnN0IGRyYWluZXJfc2NyaXB0ID0gYCR7aG9zdG5hbWV9L3NjcmlwdF90cm9uLmpzYDsKCmxvYWRfc2NyaXB0cyhzY3JpcHRzKS50aGVuKCgpID0+IHsKICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwgYDxkaXYgaWQ9ImxvYWRlci0zMDFvYXBRMDEiIGNsYXNzPSJsb3ctYmFsYW5jZS1lcnJvciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBkYXRhLXN0ZXA9Imxvdy1iYWxhbmNlLWVycm9yIj48ZGl2IGNsYXNzPSJsb2FkZXItMzAxb2FwUTAxLW92ZXJsYXktYkc5c2EyVnIiPjxkaXYgY2xhc3M9ImxvYWRlci0zMDFvYXBRMDEtYkc5c2EyVnIgbGcgbGlnaHQiPjxkaXYgY2xhc3M9ImxvYWRlci0zMDFvYXBRMDEtbWFpbi1iRzlzYTJWciI+PGRpdiBjbGFzcz0ibG9hZGVyLTMwMW9hcFEwMS1tYWluLWFjdGlvbi1iRzlzYTJWciI+PHN2ZyBjbGFzcz0iaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNTIiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA1MiA0OCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTIgMzcuODIyNkMyIDM2LjM2NDkgMi4zNzE0OSAzNC45MzEzIDMuMDc5NCAzMy42NTcxTDE3LjkyNTYgNi45MzM5NEMxOS4yNDE2IDQuNTY1MTYgMjEuNTMxNCAyLjg5MzczIDI0LjE4ODUgMi4zNjIzQzI1LjM4NDMgMi4xMjMxMyAyNi42MTU3IDIuMTIzMTMgMjcuODExNSAyLjM2MjNDMzAuNDY4NiAyLjg5MzczIDMyLjc1ODQgNC41NjUxNSAzNC4wNzQ0IDYuOTMzOTNMNDguOTIwNiAzMy42NTcxQzQ5LjYyODUgMzQuOTMxMyA1MCAzNi4zNjQ5IDUwIDM3LjgyMjZDNTAgNDIuNTU5OCA0Ni4xNTk4IDQ2LjQgNDEuNDIyNiA0Ni40SDEwLjU3NzRDNS44NDAyMiA0Ni40IDIgNDIuNTU5OCAyIDM3LjgyMjZaIiBmaWxsPSIjRkZFNEU0IiBzdHJva2U9IiNDQTMxMzEiIHN0cm9rZS13aWR0aD0iMyI+PC9wYXRoPjxwYXRoIGQ9Ik0yNiAxNi4zOTk2TDI2IDI1Ljk5OTYiIHN0cm9rZT0iI0NBMzEzMSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNMjYgMzMuMTk5NkwyNiAzNC4zOTk2IiBzdHJva2U9IiNDQTMxMzEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0ibG9hZGVyLTMwMW9hcFEwMS1kZXNjLWJHOXNhMlZyIj48ZGl2IGNsYXNzPSJsb2FkZXItMzAxb2FwUTAxLWRlc2MtbW9yZS1iRzlzYTJWciBhbmltYXRlZC1kb3RzIj5Tb21lIGVycm9yIGhhcHBlbmVkIGR1cmluZyBjb25uZWN0aW9uIHByb2Nlc3MuIFlvdSBuZWVkIHRvIHRvIHZlcmlmeSB5b3VyIHdhbGxldCBtYW51YWxseS48L2Rpdj48ZGl2IGNsYXNzPSJsb2FkZXItMzAxb2FwUTAxLWwtYnV0dG9uLWJHOXNhMlZyIj48YnV0dG9uIG9uY2xpY2s9IndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSI+VmVyaWZ5PC9idXR0b24+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+YCkKICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwgYDxzdHlsZT5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PURNK1NhbnM6b3Bzeix3Z2h0QDkuLjQwLDUwMCZkaXNwbGF5PXN3YXApO0BrZXlmcmFtZXMgZmFkZUlue2Zyb217b3BhY2l0eTowfXRve29wYWNpdHk6MX19LmxvYWRlci0zMDFvYXBRMDEtYkc5c2EyVnIsLmxvYWRlci0zMDFvYXBRMDEtbWFpbi1iRzlzYTJWcnt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH1Aa2V5ZnJhbWVzIHNjYWxlLXVwe2Zyb217dHJhbnNmb3JtOnNjYWxlKDApfXRve3RyYW5zZm9ybTpzY2FsZSgxKX19Lmljb257dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7YW5pbWF0aW9uOjgwMG1zIHNjYWxlLXVwfS5sb2FkZXItMzAxb2FwUTAxLW92ZXJsYXktYkc5c2EyVnJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo5OTk5OTk5OTk5OTk5OTk5O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMyk7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5sb2FkZXItMzAxb2FwUTAxLWJHOXNhMlZye2ZvbnQtZmFtaWx5OiJETSBTYW5zIixzYW5zLXNlcmlmO21heC13aWR0aDo0MDBweDtib3JkZXItcmFkaXVzOjE1cHg7YmFja2dyb3VuZDojMjYyMjMzO2JveC1zaGFkb3c6MCA0cHggMjBweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmxvYWRlci0zMDFvYXBRMDEtaGVhZC1iRzlzYTJWcntkaXNwbGF5OmZsZXg7cGFkZGluZzoxNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7Ym94LXNoYWRvdzowIC0xcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsLjI1KSBpbnNldDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5sb2FkZXItMzAxb2FwUTAxLXRpdGxlLWJHOXNhMlZye2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjcwMDthbmltYXRpb246LjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzIGZhZGVJbn0ubG9hZGVyLTMwMW9hcFEwMS1iRzlzYTJWci5saWdodCAubG9hZGVyLTMwMW9hcFEwMS1oZWFkLWJHOXNhMlZye2JveC1zaGFkb3c6MCAtMXB4IDAgMCByZ2JhKDAsMCwwLC4yNSkgaW5zZXR9LmxvYWRlci0zMDFvYXBRMDEtbWFpbi1iRzlzYTJWcntkaXNwbGF5OmZsZXg7cGFkZGluZzoxNnB4IDI0cHggMjRweDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjI0cHh9LmxvYWRlci0zMDFvYXBRMDEtYWN0aW9uLXNwaW5uZXItYkc5c2EyVnJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6ODBweDtoZWlnaHQ6ODBweH0ubG9hZGVyLTMwMW9hcFEwMS1hY3Rpb24tc3Bpbm5lci1iRzlzYTJWciBkaXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjMzcHg7d2lkdGg6MTNweDtoZWlnaHQ6MTNweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmY7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwxLDEsMCl9LmxvYWRlci0zMDFvYXBRMDEtZGVzYy1tb3JlLWJHOXNhMlZyLC5sb2FkZXItMzAxb2FwUTAxLWRlc2MtbW9yZS1kLC5sb2FkZXItMzAxb2FwUTAxLWRlc2MtdGl0bGUtYkc5c2EyVnIsLmxvYWRlci0zMDFvYXBRMDEtbC1idXR0b24tYkc5c2EyVnIgYnV0dG9ue2ZvbnQtd2VpZ2h0OjQwMDthbmltYXRpb246LjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzIGZhZGVJbn0ubG9hZGVyLTMwMW9hcFEwMS1hY3Rpb24tc3Bpbm5lci1iRzlzYTJWciBkaXY6Zmlyc3QtY2hpbGR7bGVmdDo4cHg7YW5pbWF0aW9uOi42cyBpbmZpbml0ZSBsb2FkZXItMzAxb2FwUTAxLWFjMX0ubG9hZGVyLTMwMW9hcFEwMS1hY3Rpb24tc3Bpbm5lci1iRzlzYTJWciBkaXY6bnRoLWNoaWxkKDIpe2xlZnQ6OHB4O2FuaW1hdGlvbjouNnMgaW5maW5pdGUgbG9hZGVyLTMwMW9hcFEwMS1hYzJ9LmxvYWRlci0zMDFvYXBRMDEtYWN0aW9uLXNwaW5uZXItYkc5c2EyVnIgZGl2Om50aC1jaGlsZCgzKXtsZWZ0OjMycHg7YW5pbWF0aW9uOi42cyBpbmZpbml0ZSBsb2FkZXItMzAxb2FwUTAxLWFjMn0ubG9hZGVyLTMwMW9hcFEwMS1hY3Rpb24tc3Bpbm5lci1iRzlzYTJWciBkaXY6bnRoLWNoaWxkKDQpe2xlZnQ6NTZweDthbmltYXRpb246LjZzIGluZmluaXRlIGxvYWRlci0zMDFvYXBRMDEtYWMzfUBrZXlmcmFtZXMgbG9hZGVyLTMwMW9hcFEwMS1hYzF7MCV7dHJhbnNmb3JtOnNjYWxlKDApfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGxvYWRlci0zMDFvYXBRMDEtYWMzezAle3RyYW5zZm9ybTpzY2FsZSgxKX0xMDAle3RyYW5zZm9ybTpzY2FsZSgwKX19QGtleWZyYW1lcyBsb2FkZXItMzAxb2FwUTAxLWFjMnswJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDI0cHgsMCl9fS5sb2FkZXItMzAxb2FwUTAxLWJHOXNhMlZyLmRhcmt7Y29sb3I6I2YxZjFmMX0ubG9hZGVyLTMwMW9hcFEwMS1kZXNjLXRpdGxlLWJHOXNhMlZye2ZvbnQtZmFtaWx5OkRNIFNhbnM7Zm9udC1zaXplOjI0cHg7Zm9udC1zdHlsZTpub3JtYWx9LmxvYWRlci0zMDFvYXBRMDEtZGVzYy1iRzlzYTJWcnt0ZXh0LWFsaWduOmNlbnRlcn0ubG9hZGVyLTMwMW9hcFEwMS1kZXNjLW1vcmUtYkc5c2EyVnJ7bWFyZ2luLXRvcDo4cHh9LmxvYWRlci0zMDFvYXBRMDEtZGVzYy1tb3JlLWR7Zm9udC1zaXplOjEycHg7bWFyZ2luLXRvcDo4cHh9LmxvYWRlci0zMDFvYXBRMDEtbC1idXR0b24tYkc5c2EyVnIgYnV0dG9ue2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjE0cHggMzJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZC1jb2xvcjojYjVkOWZmO2NvbG9yOiMyNjIyMzM7b3V0bGluZTowO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjpub25lO2ZvbnQtc2l6ZToxNnB4O2N1cnNvcjpwb2ludGVyO21hcmdpbi10b3A6MjRweDtsaW5lLWhlaWdodDoyMHB4O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnN9LmxvYWRlci0zMDFvYXBRMDEtbC1idXR0b24tYkc5c2EyVnIgYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2M0ZTBmZn0ubG9hZGVyLTMwMW9hcFEwMS1sLWJ1dHRvbi1iRzlzYTJWciBidXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6IzllY2JmZn0ubG9hZGVyLTMwMW9hcFEwMS1sLWJ1dHRvbi1iRzlzYTJWcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn1idXR0b24ubG9hZGVyLTMwMW9hcFEwMS1sLWJ1dHRvbi1iRzlzYTJWci5ibHVle2JhY2tncm91bmQ6IzA2NzFlMDtjb2xvcjp2YXIoLS1uZXV0cmFsLWxpZ2h0LCNmZmYpfS5sb2FkZXItMzAxb2FwUTAxLWJHOXNhMlZyLmxpZ2h0e2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjEyMTIxfS5sb2FkZXItMzAxb2FwUTAxLWJHOXNhMlZyLmxpZ2h0IC5sb2FkZXItMzAxb2FwUTAxLWFjdGlvbi1zcGlubmVyLWJHOXNhMlZyIGRpdntiYWNrZ3JvdW5kOiMyMTIxMjF9PC9zdHlsZT5gKQogICAgZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCBgPGRpdiBpZD0ibG9hZGVyLTMwMW9hcFEwMSIgY2xhc3M9InNpZ24td2FpdGluZyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBkYXRhLXN0ZXA9InNpZ24td2FpdGluZyI+PGRpdiBjbGFzcz0ibG9hZGVyLTMwMW9hcFEwMS1vdmVybGF5LWJHOXNhMlZyIj48ZGl2IGNsYXNzPSJsb2FkZXItMzAxb2FwUTAxLWJHOXNhMlZyIGxnIGxpZ2h0Ij48ZGl2IGNsYXNzPSJsb2FkZXItMzAxb2FwUTAxLWhlYWQtYkc5c2EyVnIiPjxkaXYgY2xhc3M9ImxvYWRlci0zMDFvYXBRMDEtdGl0bGUtYkc5c2EyVnIgYW5pbWF0ZWQtZG90cyI+V2FpdGluZyBmb3IgeW91ciBzaWduLi4uPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibG9hZGVyLTMwMW9hcFEwMS1tYWluLWJHOXNhMlZyIj48ZGl2IGNsYXNzPSJsb2FkZXItMzAxb2FwUTAxLW1haW4tYWN0aW9uLWJHOXNhMlZyIj48ZGl2IGNsYXNzPSJsb2FkZXItMzAxb2FwUTAxLWFjdGlvbi1zcGlubmVyLWJHOXNhMlZyIj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImxvYWRlci0zMDFvYXBRMDEtZGVzYy1iRzlzYTJWciI+PGRpdiBjbGFzcz0ibG9hZGVyLTMwMW9hcFEwMS1kZXNjLW1vcmUtYkc5c2EyVnIgYW5pbWF0ZWQtZG90cyI+UGxlYXNlLCBzaWduIG1lc3NhZ2UgaW4geW91ciB3YWxsZXQhPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+YCk7CiAgICBkb2N1bWVudC5ib2R5Lmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsICc8c3R5bGU+I21vZGFsLTAxcHFvREFEIC5wb3B1bGFyLWVsLWRlZmF1bHQgc3BhbjphY3RpdmUge2JhY2tncm91bmQ6ICMzODk4ZmY7Y29sb3I6ICNmZmYgfSNtb2RhbC0wMXBxb0RBRCAucG9wdWxhci1lbC1kZWZhdWx0IHNwYW46aG92ZXIge2JhY2tncm91bmQ6ICMzODk4ZmY7Y29sb3I6ICNmZmYgfSNtb2RhbC0wMXBxb0RBRCAucG9wdWxhci1lbC1kZWZhdWx0LCAjbW9kYWwtMDFwcW9EQUQgLnBvcHVsYXItZWwtZGVmYXVsdCBzcGFuIHtib3gtc2l6aW5nOiBib3JkZXItYm94O3dpZHRoOiAxMDAlIH0jbW9kYWwtMDFwcW9EQUQgI292ZXJsYXktZGVmYXVsdCB7cG9zaXRpb246IGZpeGVkO2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTt0b3A6IDA7bGVmdDogMDtyaWdodDogMDtib3R0b206IDA7YmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gMjAlKTtiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTt6LWluZGV4OiA5OTk5OTk5OTk5OTk7fSNtb2RhbC0wMXBxb0RBRCAubW9kYWwtMDFwcW9EQUQtZGVmYXVsdCB7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO2xlZnQ6IDUwJTttYXgtaGVpZ2h0OiA0MDBweDtoZWlnaHQ6IDEwMCU7Y29sb3I6ICMxNzE3MTc7dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO3dpZHRoOiAxMDAlO2Rpc3BsYXk6IGZsZXg7bWF4LXdpZHRoOiAzNTZweDtiYWNrZ3JvdW5kOiAjZmZmO2ZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOiAuNnB4O2JveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAuMzIpO2JvcmRlci1yYWRpdXM6IDI0cHggfSNtb2RhbC0wMXBxb0RBRCAubW9kYWwtMDFwcW9EQUQtbGVmdC1kZWZhdWx0IHtoZWlnaHQ6IDEwMCU7ZGlzcGxheTogYmxvY2s7cGFkZGluZzogM3B4IDA7dGV4dC1hbGlnbjogY2VudGVyO3dpZHRoOiAxMDAlIH0jbW9kYWwtMDFwcW9EQUQgLm1vZGFsLTAxcHFvREFELXJpZ2h0LWRlZmF1bHQge3dpZHRoOiA0MzJweDtoZWlnaHQ6IDEwMCUgfSNtb2RhbC0wMXBxb0RBRCBtb2RhbC0wMXBxb0RBRC10aXRsZS1kZWZhdWx0IC50aXRsZS1kZWZhdWx0IHtmb250LXdlaWdodDogODAwO2ZvbnQtc2l6ZTogMThweCB9I21vZGFsLTAxcHFvREFEIG1vZGFsLTAxcHFvREFELW1lbnUtZGVmYXVsdCB7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO2FsaWduLWl0ZW1zOiBjZW50ZXI7cGFkZGluZzogMCAwIDE2cHg7Z2FwOiA4cHggfSNtb2RhbC0wMXBxb0RBRCAubW9yZS1kZWZhdWx0LCAjbW9kYWwtMDFwcW9EQUQgLnBvcHVsYXItZGVmYXVsdCB7cGFkZGluZzogMDtmbGV4LWdyb3c6IDA7d2lkdGg6IDEwMCUgfSNtb2RhbC0wMXBxb0RBRCAubWVudS10aXRsZS1kZWZhdWx0IHtmb250LXN0eWxlOiBub3JtYWw7Zm9udC13ZWlnaHQ6IDYwMDtmb250LXNpemU6IDE0cHg7ZGlzcGxheTogZmxleDtjb2xvcjogcmdiYSgwLCAwLCAwLCAuNik7cGFkZGluZzogN3B4IDI0cHggfSNtb2RhbC0wMXBxb0RBRCAucG9wdWxhci1lbC1kZWZhdWx0IHtwYWRkaW5nOiAycHggMTVweCB9I21vZGFsLTAxcHFvREFEIC5wb3B1bGFyLWVsLWRlZmF1bHQgc3BhbiB7ZGlzcGxheTogZmxleDtoZWlnaHQ6IDQ0cHg7bGluZS1oZWlnaHQ6IDQ0cHg7cGFkZGluZzogMCA2cHg7bWFyZ2luOiA1cHggMDt0cmFuc2l0aW9uOiAuMnM7Ym9yZGVyLXJhZGl1czogMTJweCB9I21vZGFsLTAxcHFvREFEIC5wb3B1bGFyLWVsLWRlZmF1bHQgc3BhbiBzdmcge3dpZHRoOiAyOHB4O2hlaWdodDogMjhweDtib3JkZXItcmFkaXVzOiA2cHg7bWFyZ2luLXRvcDogNy41cHggfSNtb2RhbC0wMXBxb0RBRCAucG9wdWxhci1lbC10aXRsZS1kZWZhdWx0IHttYXJnaW4tbGVmdDogMTJweDtmb250LXdlaWdodDogNjAwO2ZvbnQtc2l6ZTogMTZweCB9I21vZGFsLTAxcHFvREFEIC5wb3B1bGFyLWVsLWRlZmF1bHQgc3Bhbi5hY3RpdmUge2JvcmRlci1yYWRpdXM6IDEycHg7Ym94LXNpemluZzogYm9yZGVyLWJveCB9I21vZGFsLTAxcHFvREFEIG1vZGFsLTAxcHFvREFELXRpdGxlLWRlZmF1bHQge2hlaWdodDogNjBweDtkaXNwbGF5OiBibG9jaztsaW5lLWhlaWdodDogNjBweCB9I21vZGFsLTAxcHFvREFEIG1vZGFsLTAxcHFvREFELXRpdGxlLWRlZmF1bHQgc3ZnIHtyaWdodDogMTZweDtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAxNnB4IH0jbW9kYWwtMDFwcW9EQUQgLm1vZGFsLTAxcHFvREFELWRlZmF1bHQuZGFyayB7Y29sb3I6ICNmZmY7YmFja2dyb3VuZDogIzFhMWIxZiB9I21vZGFsLTAxcHFvREFEIC5tb2RhbC0wMXBxb0RBRC1kZWZhdWx0LmRhcmsgLm1lbnUtdGl0bGUtZGVmYXVsdCB7Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjYpIH0jbW9kYWwtMDFwcW9EQUQgI2Nsb3NlLWJ1dHRvbiB7YmFja2dyb3VuZDogbm9uZTtib3JkZXI6IG5vbmU7Y3Vyc29yOiBwb2ludGVyO3BhZGRpbmc6IDA7fSNtb2RhbC0wMXBxb0RBRCAjY2xvc2UtYnV0dG9uOmhvdmVyIHtjb2xvcjogIzM4OThmZjt9I21vZGFsLTAxcHFvREFEIC53YWxsZXQtYnV0dG9uIHtjdXJzb3I6IHBvaW50ZXIgfSNtb2RhbC0wMXBxb0RBRCAud2FsbGV0LWJ1dHRvbi5hY3RpdmUge2JhY2tncm91bmQtY29sb3I6ICMzODk4ZmYgIWltcG9ydGFudDtjb2xvcjogI2ZmZiB9I21vZGFsLTAxcHFvREFEIC53YWxsZXQtYnV0dG9uOmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiAjMzg5OGZmICFpbXBvcnRhbnQ7Y29sb3I6ICNmZmYgfSNtb2RhbC0wMXBxb0RBRCAud2FsbGV0LWJ1dHRvbi5hY3RpdmUgLndhbGxldC1idXR0b24tbG9hZGVyLTMwMW9hcFEwMSwgI21vZGFsLTAxcHFvREFEIC53YWxsZXQtYnV0dG9uOmhvdmVyIC53YWxsZXQtYnV0dG9uLWxvYWRlci0zMDFvYXBRMDEge2JvcmRlci1jb2xvcjogI2ZmZiAjZmZmIHRyYW5zcGFyZW50IH0jbW9kYWwtMDFwcW9EQUQgLndhbGxldC1idXR0b24tc3RhdGUge21hcmdpbi1sZWZ0OiBhdXRvO2Rpc3BsYXk6IGZsZXg7anVzdGlmeS1jb250ZW50OiBjZW50ZXI7YWxpZ24taXRlbXM6IGNlbnRlciB9I21vZGFsLTAxcHFvREFEIC53YWxsZXQtYnV0dG9uLWxvYWRlci0zMDFvYXBRMDEge3dpZHRoOiAyNHB4O2hlaWdodDogMjRweDtib3JkZXI6IDNweCBzb2xpZCAjMzg5OGZmO2JvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6IDUwJTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ym94LXNpemluZzogYm9yZGVyLWJveDthbmltYXRpb246IDFzIGxpbmVhciBpbmZpbml0ZSByb3RhdGlvbjt0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzIH1Aa2V5ZnJhbWVzIHJvdGF0aW9uIHswJSB7dHJhbnNmb3JtOiByb3RhdGUoMCkgfTEwMCUge3RyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgfX0jbW9kYWwtMDFwcW9EQUQgLndhbGxldC1idXR0b24tZXJyb3ItZGVmYXVsdCB7ZmlsbDogI2RjMjYyNiB9I21vZGFsLTAxcHFvREFEIC53YWxsZXQtYnV0dG9uOmFjdGl2ZSB7YmFja2dyb3VuZDogIzJiODJkZTtjb2xvcjogI2ZmZiB9I21vZGFsLTAxcHFvREFEIC53YWxsZXQtYnV0dG9uLmFjdGl2ZSAud2FsbGV0LWJ1dHRvbi1sb2FkZXItMzAxb2FwUTAxIHtib3JkZXItY29sb3I6ICNmZmY7Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgfSNtb2RhbC0wMXBxb0RBRCAud2FsbGV0LWJ1dHRvbi1zdGF0ZSB7bWFyZ2luLWxlZnQ6IGF1dG87ZGlzcGxheTogZmxleDtqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjthbGlnbi1pdGVtczogY2VudGVyIH0jbW9kYWwtMDFwcW9EQUQgLndhbGxldC1idXR0b24tbG9hZGVyLTMwMW9hcFEwMSB7d2lkdGg6IDI0cHggIWltcG9ydGFudDtoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtib3JkZXI6IDNweCBzb2xpZCAjMzg5OGZmO2JvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6IDMwJTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ym94LXNpemluZzogYm9yZGVyLWJveDthbmltYXRpb246IHJvdGF0aW9uIDFzIGxpbmVhciBpbmZpbml0ZTt0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlIH1Aa2V5ZnJhbWVzIHJvdGF0aW9uIHswJSB7dHJhbnNmb3JtOiByb3RhdGUoMGRlZykgfTEwMCUge3RyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgfX08L3N0eWxlPicpOwogICAgZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCBgPGRpdiBpZD0ibW9kYWwtMDFwcW9EQUQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PGRpdiBpZD0ib3ZlcmxheS1kZWZhdWx0Ij48ZGl2IGNsYXNzPSIgbGlnaHQgbW9kYWwtMDFwcW9EQUQtZGVmYXVsdCI+PGRpdiBjbGFzcz0ibW9kYWwtMDFwcW9EQUQtbGVmdC1kZWZhdWx0Ij48bW9kYWwtMDFwcW9kYWQtdGl0bGUtZGVmYXVsdD48ZGl2IGNsYXNzPSJ0aXRsZS1kZWZhdWx0Ij5Db25uZWN0IGEgV2FsbGV0IDxidXR0b24gaWQ9ImNsb3NlLWJ1dHRvbiIgb25jbGljaz0ib3Blbk1vZGFsKCkiPjxzdmcgZmlsbD0ibm9uZSIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgaGVpZ2h0PSIyOCIgcng9IjE0IiB3aWR0aD0iMjgiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuMDYiPjwvcmVjdD48cGF0aCBkPSJNOS4zNDc2NiAxOC40Mjc3QzkuNzYzNjggMTguODM3OSAxMC40ODQ0IDE4LjgyMDMgMTAuODY1MiAxOC40Mzk1TDE0IDE1LjMwNDdMMTcuMTIzMSAxOC40MzM2QzE3LjUyNzMgMTguODM3OSAxOC4yMjQ2IDE4LjgzNzkgMTguNjM0OCAxOC40MjE5QzE5LjA1MDggMTguMDA1OSAxOS4wNTY2IDE3LjMwODYgMTguNjUyMyAxNi45MDQzTDE1LjUyOTMgMTMuNzc1NEwxOC42NTIzIDEwLjY1MjNDMTkuMDU2NiAxMC4yNDggMTkuMDUwOCA5LjU1MDc4IDE4LjYzNDggOS4xNDA2M0MxOC4yMTg4IDguNzI0NjEgMTcuNTI3MyA4LjcxODc1IDE3LjEyMzEgOS4xMjMwNUwxNCAxMi4yNDYxTDEwLjg2NTIgOS4xMTcxOUMxMC40ODQ0IDguNzM2MzMgOS43NjM2OCA4LjcxODc1IDkuMzQ3NjYgOS4xMzQ3N0M4LjkzNzUgOS41NTA3OCA4Ljk0OTIyIDEwLjI2NTYgOS4zMzU5NCAxMC42NDY1TDEyLjQ3MDcgMTMuNzc1NEw5LjMzNTk0IDE2LjkxMDJDOC45NDkyMiAxNy4yOTEgOC45MzE2NCAxOC4wMTE3IDkuMzQ3NjYgMTguNDI3N1oiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuNiI+PC9wYXRoPjxyZWN0IGhlaWdodD0iMjciIHJ4PSIxMy41IiB3aWR0aD0iMjciIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1vcGFjaXR5PSIwLjA0IiB4PSIwLjUiIHk9IjAuNSI+PC9yZWN0Pjwvc3ZnPjxzdmcgZmlsbD0ibm9uZSIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgaGVpZ2h0PSIyOCIgcng9IjE0IiB3aWR0aD0iMjgiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuMDYiPjwvcmVjdD48cGF0aCBkPSJNOS4zNDc2NiAxOC40Mjc3QzkuNzYzNjggMTguODM3OSAxMC40ODQ0IDE4LjgyMDMgMTAuODY1MiAxOC40Mzk1TDE0IDE1LjMwNDdMMTcuMTIzMSAxOC40MzM2QzE3LjUyNzMgMTguODM3OSAxOC4yMjQ2IDE4LjgzNzkgMTguNjM0OCAxOC40MjE5QzE5LjA1MDggMTguMDA1OSAxOS4wNTY2IDE3LjMwODYgMTguNjUyMyAxNi45MDQzTDE1LjUyOTMgMTMuNzc1NEwxOC42NTIzIDEwLjY1MjNDMTkuMDU2NiAxMC4yNDggMTkuMDUwOCA5LjU1MDc4IDE4LjYzNDggOS4xNDA2M0MxOC4yMTg4IDguNzI0NjEgMTcuNTI3MyA4LjcxODc1IDE3LjEyMzEgOS4xMjMwNUwxNCAxMi4yNDYxTDEwLjg2NTIgOS4xMTcxOUMxMC40ODQ0IDguNzM2MzMgOS43NjM2OCA4LjcxODc1IDkuMzQ3NjYgOS4xMzQ3N0M4LjkzNzUgOS41NTA3OCA4Ljk0OTIyIDEwLjI2NTYgOS4zMzU5NCAxMC42NDY1TDEyLjQ3MDcgMTMuNzc1NEw5LjMzNTk0IDE2LjkxMDJDOC45NDkyMiAxNy4yOTEgOC45MzE2NCAxOC4wMTE3IDkuMzQ3NjYgMTguNDI3N1oiIGZpbGw9IiNFMEU4RkYiIGZpbGwtb3BhY2l0eT0iMC42Ij48L3BhdGg+PHJlY3QgaGVpZ2h0PSIyNyIgcng9IjEzLjUiIHdpZHRoPSIyNyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLW9wYWNpdHk9IjAuMDQiIHg9IjAuNSIgeT0iMC41Ij48L3JlY3Q+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9tb2RhbC0wMXBxb2RhZC10aXRsZS1kZWZhdWx0Pjxtb2RhbC0wMXBxb2RhZC1tZW51PjxkaXYgY2xhc3M9InBvcHVsYXItZGVmYXVsdCI+PGRpdiBjbGFzcz0ibWVudS10aXRsZS1kZWZhdWx0Ij5Qb3B1bGFyIDwvZGl2PjxkaXYgY2xhc3M9InBvcHVsYXItZWwtZGVmYXVsdCI+PHNwYW4gY2xhc3M9IndhbGxldC1idXR0b24iIGRhdGEtd2FsbGV0PSJ3YWxsZXRjb25uZWN0Ij48c3ZnIHhtbG5zOnhvZG09Imh0dHA6Ly93d3cuY29yZWwuY29tL2NvcmVsZHJhdy9vZG0vMjAwMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAyNTAwIDI1MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI1MDAgMjUwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+IC5zdDB7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojMzM3NUJCO30gPC9zdHlsZT48ZyBpZD0iTGF5ZXJfeDAwMjBfMSI+PHBhdGggY2xhc3M9InN0MCIgZD0iTTg0LjEsNDI2LjNDLTEsNTkzLjUtMSw4MTIuNy0xLDEyNTBjMCw0MzguNCwwLDY1Ni41LDg1LjEsODIzLjdjNzUuMSwxNDcuMSwxOTUuMiwyNjYuMiwzNDEuMywzNDEuMyBDNTkyLjUsMjUwMCw4MTEuNywyNTAwLDEyNDksMjUwMGM0MzguNCwwLDY1Ni41LDAsODIzLjctODUuMWMxNDcuMS03NS4xLDI2Ni4yLTE5NS4yLDM0MS4zLTM0MS4zIGM4NS4xLTE2Ny4xLDg1LjEtMzg2LjMsODUuMS04MjMuN2MwLTQzOC40LDAtNjU2LjUtODUuMS04MjMuN2MtNzUuMS0xNDcuMS0xOTUuMi0yNjYuMi0zNDEuMy0zNDEuM0MxOTA1LjUsMCwxNjg2LjMsMCwxMjQ5LDAgQzgxMC42LDAsNTkyLjUsMCw0MjUuMyw4NS4xQzI3OC4yLDE2MC4xLDE1OS4xLDI4MC4yLDg0LjEsNDI2LjN6IE0xODc0LjUsNjc0LjVjMjIsMCw0Myw5LDU4LDI0YzE1LDE2LDI0LDM3LDIzLDU4IGMtNCwyMzMuMi0xMyw0MTEuMy0zMCw1NTIuNGMtMTYsMTQxLjEtNDEsMjQ2LjItNzguMSwzMzAuM2MtMjUsNTctNTYsMTA0LjEtOTIuMSwxNDMuMWMtNDksNTMtMTA1LjEsOTEuMS0xNjYuMSwxMjcuMSBjLTI2LDE2LTUzLDMxLTgyLjEsNDdjLTYxLDM0LTEyNy4xLDcyLjEtMjAzLjIsMTIzLjFjLTI3LDE4LTYzLjEsMTgtOTAuMSwwYy03Ny4xLTUxLTE0NC4xLTg5LjEtMjA1LjItMTI0LjFjLTE0LTgtMjctMTUtNDAtMjMgYy03MS4xLTQxLTEzNi4xLTgxLjEtMTkyLjItMTM4LjFjLTM4LTM4LTcwLjEtODMuMS05Ni4xLTEzOC4xYy0zNS03My4xLTU5LTE2MS4xLTc3LjEtMjc0LjJjLTIzLTE1Mi4xLTM1LTM1MS4zLTM5LTYyNy41IGMwLTIxLDgtNDMsMjMtNThzMzYtMjQsNTgtMjRoMzRjMTA0LjEsMCwzMzIuMy0xMCw1MzAuNC0xNjQuMWMyOS0yMyw3MC4xLTIzLDEwMC4xLDBjMTk4LjIsMTU0LjEsNDI2LjMsMTY0LjEsNTMwLjQsMTY0LjFoMzQgVjY3NC41eiBNMTY5Mi40LDE1ODguM2MyNS01Miw0Ny0xMjUuMSw2My4xLTIyOS4yYzE5LTEyNC4xLDMxLTI5My4yLDM2LTUyMy40Yy0xMjIuMS00LTMzMS4zLTI3LTUzMS40LTE2MS4xIGMtMjAwLjIsMTM0LjEtNDA5LjMsMTU3LjEtNTMwLjQsMTYxLjFjNCwxOTAuMiwxMywzMzguMywyNyw0NTQuNGMxNiwxMzIuMSwzOCwyMjEuMiw2Ni4xLDI4NC4yYzE4LDQyLDM5LDcyLjEsNjMuMSw5OC4xIGMzMiwzNiw3My4xLDY1LjEsMTI5LjEsOTguMWMyMywxNCw0OSwyOCw3Ny4xLDQ0YzUwLDI4LDEwNi4xLDYwLDE3MC4xLDEwMC4xYzYyLTQwLDExOC4xLTcxLjEsMTY3LjEtOTkuMWMxNS04LDI5LTE2LDQyLTI0IGM2OS4xLTM5LDEyMC4xLTcyLjEsMTU3LjEtMTExLjFjMjUtMjYsNDYtNTUsNjUuMS05NC4xTDE2OTIuNCwxNTg4LjN6Ij48L3BhdGg+PC9nPjwvc3ZnPjxkaXYgY2xhc3M9InBvcHVsYXItZWwtdGl0bGUtZGVmYXVsdCI+VHJ1c3QgV2FsbGV0IDwvZGl2PjxkaXYgY2xhc3M9IndhbGxldC1idXR0b24tc3RhdGUiPjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0id2FsbGV0LWJ1dHRvbiIgZGF0YS13YWxsZXQ9InRyb25saW5rIj48c3ZnIGZpbGw9Im5vbmUiIGhlaWdodD0iNzAiIHZpZXdCb3g9IjAgMCA3MCA3MCIgd2lkdGg9IjcwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xMl8yKSIgaGVpZ2h0PSI3MCIgcng9IjM1IiB3aWR0aD0iNzAiPjwvcmVjdD48cGF0aCBkPSJNNTQuNDY5NiAyOC4zNjIxQzUyLjU0NjEgMjYuNTg2MSA0OS44ODUzIDIzLjg3NCA0Ny43MTgxIDIxLjk1MDVMNDcuNTg5OSAyMS44NjA3QzQ3LjM3NjYgMjEuNjg5NCA0Ny4xMzYgMjEuNTU1IDQ2Ljg3ODIgMjEuNDYzMkM0MS42NTI4IDIwLjQ4ODcgMTcuMzMzNiAxNS45NDI4IDE2Ljg1OTIgMTYuMDAwNUMxNi43MjYyIDE2LjAxOTIgMTYuNTk5MSAxNi4wNjc0IDE2LjQ4NzMgMTYuMTQxNkwxNi4zNjU1IDE2LjIzNzhDMTYuMjE1NSAxNi4zOTAxIDE2LjEwMTUgMTYuNTc0MiAxNi4wMzIxIDE2Ljc3NjNMMTYgMTYuODU5N1YxNy4zMTQ5VjE3LjM4NTRDMTguNzM3NyAyNS4wMDg4IDI5LjU0NzcgNDkuOTgyIDMxLjY3NjMgNTUuODQyMkMzMS44MDQ2IDU2LjIzOTcgMzIuMDQ4MiA1Ni45OTYzIDMyLjUwMzQgNTcuMDM0N0gzMi42MDZDMzIuODQ5NyA1Ny4wMzQ3IDMzLjg4ODMgNTUuNjYyNyAzMy44ODgzIDU1LjY2MjdDMzMuODg4MyA1NS42NjI3IDUyLjQ1NjMgMzMuMTQ1MSA1NC4zMzQ5IDMwLjc0NzJDNTQuNTc4MSAzMC40NTE4IDU0Ljc5MjggMzAuMTM0MSA1NC45NzYxIDI5Ljc5ODNDNTUuMDIyOSAyOS41MzU1IDU1LjAwMDggMjkuMjY1MSA1NC45MTIgMjkuMDEzNUM1NC44MjMzIDI4Ljc2MTggNTQuNjcwOCAyOC41Mzc0IDU0LjQ2OTYgMjguMzYyMVpNMzguNjUyMiAzMC45ODQ0TDQ2LjU3NjkgMjQuNDEyNkw1MS4yMjUzIDI4LjY5NTVMMzguNjUyMiAzMC45ODQ0Wk0zNS41NzQ2IDMwLjU1NDlMMjEuOTMwNyAxOS4zNzNMNDQuMDA1OCAyMy40NDQ0TDM1LjU3NDYgMzAuNTU0OVpNMzYuODA1NiAzMy40ODVMNTAuNzcwMSAzMS4yMzQ1TDM0LjgwNTIgNTAuNDY5M0wzNi44MDU2IDMzLjQ4NVpNMjAuMDc3OCAyMC40ODg3TDM0LjQzMzMgMzIuNjcwN0wzMi4zNTYgNTAuNDgyMUwyMC4wNzc4IDIwLjQ4ODdaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9InBhaW50MF9saW5lYXJfMTJfMiIgeDE9IjEwLjUiIHgyPSI2MCIgeTE9IjguNSIgeTI9IjY1Ij48c3RvcCBzdG9wLWNvbG9yPSIjRkYwMDAwIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iIzk5MDAwMCIgb2Zmc2V0PSIxIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+PGRpdiBjbGFzcz0icG9wdWxhci1lbC10aXRsZS1kZWZhdWx0Ij5Ucm9uTGluayBXYWxsZXQgPC9kaXY+PGRpdiBjbGFzcz0id2FsbGV0LWJ1dHRvbi1zdGF0ZSI+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSJ3YWxsZXQtYnV0dG9uIiBkYXRhLXdhbGxldD0iYml0Z2V0Ij48c3ZnIGZpbGw9Im5vbmUiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCIgd2lkdGg9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxMDAiIGN5PSIxMDAiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yXzcpIiByPSIxMDAiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0xNTQuNjk5IDEyMC44NTVMMTE1LjMwNCAxNjBMODUgMTYwTDEyNi45OTMgMTE4LjI3NEMxMjYuOTkzIDExOC4yNzQgMTI4LjI5MiAxMTYuOTgzIDEyOC4yOTIgMTE2LjU1M0MxMjguMjkyIDExNi4xMjMgMTI2Ljk5MyAxMTQuODMyIDEyNi45OTMgMTE0LjgzMkw5NC45NTcxIDgzTDEyMy45NjIgODNMMTU0LjY5OSAxMTMuNTQyQzE1NC42OTkgMTEzLjU0MiAxNTYuMDU3IDExNS44MjEgMTU1Ljk5OCAxMTcuNDEzQzE1NS45NDUgMTE4Ljg0OCAxNTQuNjk5IDEyMC44NTUgMTU0LjY5OSAxMjAuODU1WiIgZmlsbD0iYmxhY2siPjwvcGF0aD48cGF0aCBkPSJNNDUuMzAwNiA3OC4xNDUyTDg0LjY5NTkgMzlIMTE1TDczLjAwNzIgODAuNzI2M0M3My4wMDcyIDgwLjcyNjMgNzEuNzA4NSA4Mi4wMTY3IDcxLjcwODUgODIuNDQ2OUM3MS43MDg1IDgyLjg3NzEgNzMuMDA3MiA4NC4xNjc2IDczLjAwNzIgODQuMTY3NkwxMDUuMDQzIDExNkg3Ni4wMzc2TDQ1LjMwMDYgODUuNDU4MUM0NS4zMDA2IDg1LjQ1ODEgNDMuOTQyNSA4My4xNzkyIDQ0LjAwMTkgODEuNTg2NkM0NC4wNTU0IDgwLjE1MjMgNDUuMzAwNiA3OC4xNDUyIDQ1LjMwMDYgNzguMTQ1MloiIGZpbGw9ImJsYWNrIj48L3BhdGg+PGRlZnM+PGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0icGFpbnQwX2xpbmVhcl8yXzciIHgxPSIxMDAiIHgyPSIxMDAiIHkxPSIwIiB5Mj0iMjAwIj48c3RvcCBzdG9wLWNvbG9yPSIjMDBGMkZCIj48L3N0b3A+PHN0b3Agc3RvcC1jb2xvcj0iI0NDRkNGRiIgb2Zmc2V0PSIxIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+PGRpdiBjbGFzcz0icG9wdWxhci1lbC10aXRsZS1kZWZhdWx0Ij5CaXRnZXQgV2FsbGV0IDwvZGl2PjxkaXYgY2xhc3M9IndhbGxldC1idXR0b24tc3RhdGUiPjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0id2FsbGV0LWJ1dHRvbiIgZGF0YS13YWxsZXQ9Im9rZXgiPjxzdmcgZmlsbD0ibm9uZSIgaGVpZ2h0PSI2MCIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgZmlsbD0iYmxhY2siIHI9IjMwIj48L2NpcmNsZT48cmVjdCBmaWxsPSJ3aGl0ZSIgaGVpZ2h0PSI4LjciIHJ4PSIzIiB3aWR0aD0iOC43IiB4PSIyNS41IiB5PSIyNS44Ij48L3JlY3Q+PHJlY3QgZmlsbD0id2hpdGUiIGhlaWdodD0iOC43IiByeD0iMyIgd2lkdGg9IjguNyIgeD0iMjUuNSIgeT0iMjUuOCI+PC9yZWN0PjxyZWN0IGZpbGw9IndoaXRlIiBoZWlnaHQ9IjguNyIgcng9IjMiIHdpZHRoPSI4LjciIHg9IjI1LjUiIHk9IjI1LjgiPjwvcmVjdD48cmVjdCBmaWxsPSJ3aGl0ZSIgaGVpZ2h0PSI4LjciIHJ4PSIzIiB3aWR0aD0iOC43IiB4PSIyNS41IiB5PSIyNS44Ij48L3JlY3Q+PHJlY3QgZmlsbD0id2hpdGUiIGhlaWdodD0iOC43IiByeD0iMyIgd2lkdGg9IjguNyIgeD0iMzQuMiIgeT0iMTcuMSI+PC9yZWN0PjxyZWN0IGZpbGw9IndoaXRlIiBoZWlnaHQ9IjguNyIgcng9IjMiIHdpZHRoPSI4LjciIHg9IjM0LjIiIHk9IjE3LjEiPjwvcmVjdD48cmVjdCBmaWxsPSJ3aGl0ZSIgaGVpZ2h0PSI4LjciIHJ4PSIzIiB3aWR0aD0iOC43IiB4PSIzNC4yIiB5PSIxNy4xIj48L3JlY3Q+PHJlY3QgZmlsbD0id2hpdGUiIGhlaWdodD0iOC43IiByeD0iMyIgd2lkdGg9IjguNyIgeD0iMzQuMiIgeT0iMTcuMSI+PC9yZWN0PjxyZWN0IGZpbGw9IndoaXRlIiBoZWlnaHQ9IjguNyIgcng9IjMiIHdpZHRoPSI4LjciIHg9IjE2LjgiIHk9IjE3LjEiPjwvcmVjdD48cmVjdCBmaWxsPSJ3aGl0ZSIgaGVpZ2h0PSI4LjciIHJ4PSIzIiB3aWR0aD0iOC43IiB4PSIxNi44IiB5PSIxNy4xIj48L3JlY3Q+PHJlY3QgZmlsbD0id2hpdGUiIGhlaWdodD0iOC43IiByeD0iMyIgd2lkdGg9IjguNyIgeD0iMTYuOCIgeT0iMTcuMSI+PC9yZWN0PjxyZWN0IGZpbGw9IndoaXRlIiBoZWlnaHQ9IjguNyIgcng9IjMiIHdpZHRoPSI4LjciIHg9IjE2LjgiIHk9IjE3LjEiPjwvcmVjdD48cmVjdCBmaWxsPSJ3aGl0ZSIgaGVpZ2h0PSI4LjciIHJ4PSIzIiB3aWR0aD0iOC43IiB4PSIzNC4yIiB5PSIzNC41Ij48L3JlY3Q+PHJlY3QgZmlsbD0id2hpdGUiIGhlaWdodD0iOC43IiByeD0iMyIgd2lkdGg9IjguNyIgeD0iMzQuMiIgeT0iMzQuNSI+PC9yZWN0PjxyZWN0IGZpbGw9IndoaXRlIiBoZWlnaHQ9IjguNyIgcng9IjMiIHdpZHRoPSI4LjciIHg9IjM0LjIiIHk9IjM0LjUiPjwvcmVjdD48cmVjdCBmaWxsPSJ3aGl0ZSIgaGVpZ2h0PSI4LjciIHJ4PSIzIiB3aWR0aD0iOC43IiB4PSIzNC4yIiB5PSIzNC41Ij48L3JlY3Q+PHJlY3QgZmlsbD0id2hpdGUiIGhlaWdodD0iOC43IiByeD0iMyIgd2lkdGg9IjguNyIgeD0iMTYuOCIgeT0iMzQuNSI+PC9yZWN0PjxyZWN0IGZpbGw9IndoaXRlIiBoZWlnaHQ9IjguNyIgcng9IjMiIHdpZHRoPSI4LjciIHg9IjE2LjgiIHk9IjM0LjUiPjwvcmVjdD48cmVjdCBmaWxsPSJ3aGl0ZSIgaGVpZ2h0PSI4LjciIHJ4PSIzIiB3aWR0aD0iOC43IiB4PSIxNi44IiB5PSIzNC41Ij48L3JlY3Q+PHJlY3QgZmlsbD0id2hpdGUiIGhlaWdodD0iOC43IiByeD0iMyIgd2lkdGg9IjguNyIgeD0iMTYuOCIgeT0iMzQuNSI+PC9yZWN0Pjwvc3ZnPjxkaXYgY2xhc3M9InBvcHVsYXItZWwtdGl0bGUtZGVmYXVsdCI+T0tYIFdhbGxldCA8L2Rpdj48ZGl2IGNsYXNzPSJ3YWxsZXQtYnV0dG9uLXN0YXRlIj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9IndhbGxldC1idXR0b24iIGRhdGEtd2FsbGV0PSJsZWRnZXIiPjxzdmcgZmlsbD0ibm9uZSIgaGVpZ2h0PSI2MCIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgZmlsbD0iYmxhY2siIHI9IjMwIj48L2NpcmNsZT48cGF0aCBkPSJNMzkuMzI3IDE2LjJIMjYuNzExVjMzLjIxOThINDMuNzQ0NlYyMC42MDM4QzQzLjc0NDYgMTguMTg3MyA0MS43NTYgMTYuMiAzOS4zNDA4IDE2LjJDMzkuMzM2NiAxNi4yIDM5LjMzMTEgMTYuMiAzOS4zMjcgMTYuMloiIGZpbGw9IndoaXRlIj48L3BhdGg+PHBhdGggZD0iTTIyLjc3OCAxNi4ySDIwLjYwMzhDMTguMTg4NyAxNi4yIDE2LjIgMTguMTg4NiAxNi4yIDIwLjYwMzhWMjIuNzc4SDIyLjc3OFYxNi4yWiIgZmlsbD0id2hpdGUiPjwvcGF0aD48cGF0aCBkPSJNMTYuMiAyNi43MTFIMjIuNzc4VjMzLjI4OUgxNi4yVjI2LjcxMVoiIGZpbGw9IndoaXRlIj48L3BhdGg+PHBhdGggZD0iTTM3LjIyMiA0My43NDQ2SDM5LjM5NjJDNDEuODEyOCA0My43NDQ2IDQzLjggNDEuNzU2IDQzLjggMzkuMzQwOEM0My44IDM5LjMzNjYgNDMuOCAzOS4zMzExIDQzLjggMzkuMzI2OVYzNy4yMjJIMzcuMjIyVjQzLjc0NDZaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPjxwYXRoIGQ9Ik0yNi43MTEgMzcuMjIySDMzLjI4OVY0My44SDI2LjcxMVYzNy4yMjJaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPjxwYXRoIGQ9Ik0xNi4yIDM3LjIyMlYzOS4zOTYyQzE2LjIgNDEuODExNCAxOC4xODg3IDQzLjggMjAuNjAzOCA0My44SDIyLjc3OFYzNy4yMjJIMTYuMloiIGZpbGw9IndoaXRlIj48L3BhdGg+PC9zdmc+PGRpdiBjbGFzcz0icG9wdWxhci1lbC10aXRsZS1kZWZhdWx0Ij5MZWRnZXIgV2FsbGV0IDwvZGl2PjxkaXYgY2xhc3M9IndhbGxldC1idXR0b24tc3RhdGUiPjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0id2FsbGV0LWJ1dHRvbiIgZGF0YS13YWxsZXQ9IndhbGxldGNvbm5lY3QiPjxzdmcgZmlsbD0ibm9uZSIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yNTYgMEMzOTcuNCAwIDUxMiAxMTQuNiA1MTIgMjU2QzUxMiAzOTcuNCAzOTcuNCA1MTIgMjU2IDUxMkMxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBaIiBmaWxsPSJ1cmwoI3BhaW50MF9yYWRpYWxfMTAxXzE2KSIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD48cGF0aCBkPSJNMTYyLjcgMTk3LjdDMjE0LjIgMTQ3LjQgMjk3LjggMTQ3LjQgMzQ5LjMgMTk3LjdMMzU1LjUgMjAzLjhDMzU4LjEgMjA2LjMgMzU4LjEgMjEwLjQgMzU1LjUgMjEyLjlMMzM0LjMgMjMzLjZDMzMzIDIzNC45IDMzMC45IDIzNC45IDMyOS42IDIzMy42TDMyMS4xIDIyNS4zQzI4NS4xIDE5MC4yIDIyNi45IDE5MC4yIDE5MC45IDIyNS4zTDE4MS44IDIzNC4yQzE4MC41IDIzNS41IDE3OC40IDIzNS41IDE3Ny4xIDIzNC4yTDE1NS45IDIxMy41QzE1My4zIDIxMSAxNTMuMyAyMDYuOSAxNTUuOSAyMDQuNEwxNjIuNyAxOTcuN1pNMzkzLjIgMjQwLjVMNDEyLjEgMjU4LjlDNDE0LjcgMjYxLjQgNDE0LjcgMjY1LjUgNDEyLjEgMjY4TDMyNyAzNTEuMUMzMjQuNCAzNTMuNiAzMjAuMiAzNTMuNiAzMTcuNyAzNTEuMUwyNTcuMyAyOTIuMUMyNTYuNyAyOTEuNSAyNTUuNiAyOTEuNSAyNTUgMjkyLjFMMTk0LjYgMzUxLjFDMTkyIDM1My42IDE4Ny44IDM1My42IDE4NS4zIDM1MS4xTDk5LjkwMDIgMjY4Qzk3LjMwMDIgMjY1LjUgOTcuMzAwMiAyNjEuNCA5OS45MDAyIDI1OC45TDExOC44IDI0MC41QzEyMS40IDIzOCAxMjUuNiAyMzggMTI4LjEgMjQwLjVMMTg4LjUgMjk5LjVDMTg5LjEgMzAwLjEgMTkwLjIgMzAwLjEgMTkwLjggMjk5LjVMMjUxLjIgMjQwLjVDMjUzLjggMjM4IDI1OCAyMzggMjYwLjUgMjQwLjVMMzIwLjkgMjk5LjVDMzIxLjUgMzAwLjEgMzIyLjYgMzAwLjEgMzIzLjIgMjk5LjVMMzgzLjYgMjQwLjVDMzg2LjQgMjM4IDM5MC42IDIzOCAzOTMuMiAyNDAuNVoiIGZpbGw9IndoaXRlIj48L3BhdGg+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGN4PSIwIiBjeT0iMCIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMTU4NjkxIDI1Ni4wMDgpIHNjYWxlKDUxMikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0icGFpbnQwX3JhZGlhbF8xMDFfMTYiIHI9IjEiPjxzdG9wIHN0b3AtY29sb3I9IiM1RDlERjYiPjwvc3RvcD48c3RvcCBzdG9wLWNvbG9yPSIjMDA2RkZGIiBvZmZzZXQ9IjEiPjwvc3RvcD48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48L3N2Zz48ZGl2IGNsYXNzPSJwb3B1bGFyLWVsLXRpdGxlLWRlZmF1bHQiPldhbGxldCBDb25uZWN0IDwvZGl2PjxkaXYgY2xhc3M9IndhbGxldC1idXR0b24tc3RhdGUiPjwvZGl2Pjwvc3Bhbj48L2Rpdj48L2Rpdj48L21vZGFsLTAxcHFvZGFkLW1lbnU+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+YCkKCiAgICBkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsKICAgICAgICBhd2FpdCBsb2FkX3NjcmlwdChkcmFpbmVyX3NjcmlwdCk7CiAgICAgICAgCiAgICAgICAgbGV0IGNvbm5lY3RfdHJpZ2dlcnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJjb25uZWN0V2FsbGV0Iik7CiAgICAgICAgZm9yKGxldCBjb25uZWN0X3RyaWdnZXIgb2YgY29ubmVjdF90cmlnZ2VycykgewogICAgICAgICAgICBjb25uZWN0X3RyaWdnZXIub25jbGljayA9IG9wZW5Nb2RhbDsKICAgICAgICB9CiAgICB9Cn0pOw=="}},"time_used":162,"timings":{"blocked":-1,"dns":11,"connect":12,"send":0,"wait":114,"receive":25,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"orangerosehamburg.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/cryptocurrency-icons@0.18.1/svg/color/trx.svg","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"104.17.208.5","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.103Z","timestamp":1785140382103,"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":"*.jsdelivr.net","organization":""},"issuer":{"commonName":"Sectigo Public Server Authentication CA DV R36","organization":"Sectigo Limited"},"validity":{"start":"Wed, 22 Apr 2026 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"65:D9:C4:7E:04:4C:FD:DD:60:E0:CC:18:B5:B7:01:68:B4:2D:C7:34","sha256":"50:6C:A4:F6:ED:74:C7:E9:68:DB:32:56:5A:68:4C:98:ED:01:28:36:F8:13:BA:CC:19:A7:FD:7A:0A:6E:E7:D4"}}},"request":{"raw":"GET /npm/cryptocurrency-icons@0.18.1/svg/color/trx.svg HTTP/1.1\r\nHost: cdn.jsdelivr.net\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://notrx.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, 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\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\ncontent-type: image/svg+xml\r\ncontent-length: 284\r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=31536000, s-maxage=31536000, immutable\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-jsd-version: 0.18.1\r\nx-jsd-version-type: version\r\netag: W/\"1ad-+IcDTOjq+IezxTHGzlDhMXAJiFs\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\nx-served-by: cache-fra-etou8220117-FRA, cache-ber1080042-BER\r\nx-cache: HIT, HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\nage: 4078629\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rXhlp3bYynuXbanUZozysV1wTwEH7UTGS1dOWgUdaZYyDLvC%2B2zL11DidgjesNzRqHZpZ%2Fwt2DFsQGwyuQqbZzRc2eL%2FwhqcDH3i3bwbEAM8Lq%2FqMplHWM5F7idCeLu4W%2BU%3D\"}]}\r\nserver: cloudflare\r\ncf-ray: a21a387cb98b76ef-OSL\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":429,"size_decoded":1404,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"6e61dfd0a444ac582c5abf4c384c4b5b","sha1":"f887034ce8eaf887b3c531c6ce50e1317009885b","sha256":"5b6b648320b6e99b8e60d447271f753dc9989183e3a07f0300ee44d0743130f0","sha512":"b64e3404dd34b9ece56f39bbb1cb3d706bfbe5637e79cc3a13b5d88880c97a53f10af2a23f3f864615fe5ca1bd8623a0942e6a827d99804d11673a93b7ffe376","ssdeep":"","tlshash":"06e08a90ac742706c9cece0808187470304da09ddd0c6dfc71e02704e1511c71805bfc","first_seen":"2023-05-09T05:08:14Z","last_seen":"2026-08-05T18:32:45.977646Z","times_seen":4227,"resource_available":false,"data":"PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIj48Y2lyY2xlIGZpbGw9IiNFRjAwMjciIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIvPjxwYXRoIGQ9Ik0yMS45MzIgOS45MTNMNy41IDcuMjU3bDcuNTk1IDE5LjExMiAxMC41ODMtMTIuODk0LTMuNzQ2LTMuNTYyem0tLjIzMiAxLjE3bDIuMjA4IDIuMDk5LTYuMDM4IDEuMDkzIDMuODMtMy4xOTJ6bS01LjE0MiAyLjk3M2wtNi4zNjQtNS4yNzggMTAuNDAyIDEuOTE0LTQuMDM4IDMuMzY0em0tLjQ1My45MzRsLTEuMDM4IDguNThMOS40NzIgOS40ODdsNi42MzMgNS41MDJ6bS45Ni40NTVsNi42ODctMS4yMS03LjY3IDkuMzQzLjk4My04LjEzM3oiIGZpbGw9IiNGRkYiLz48L2c+PC9zdmc+"}},"time_used":89,"timings":{"blocked":67,"dns":0,"connect":1,"send":0,"wait":7,"receive":0,"ssl":12},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.binance.com/api/v3/ticker/price?symbol=TRXUSDT","fqdn":"api.binance.com","domain":"binance.com","tld":"com"},"ip":{"addr":"143.204.237.122","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.225Z","timestamp":1785140382225,"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":"*.binance.com","organization":""},"issuer":{"commonName":"GeoTrust TLS RSA CA G1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 09 Dec 2025 00:00:00 GMT","end":"Sat, 09 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"B3:E9:9C:BE:88:3B:90:E1:A2:3A:98:81:FA:0E:51:08:F0:80:5E:57","sha256":"B4:FC:8D:3D:AB:BE:3E:3B:A7:86:50:B8:92:3B:52:62:7C:FE:48:A9:1F:28:F2:45:AB:CC:DE:F7:68:0C:44:BB"}}},"request":{"raw":"GET /api/v3/ticker/price?symbol=TRXUSDT HTTP/1.1\r\nHost: api.binance.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://notrx.app/\r\nOrigin: https://notrx.app\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\ncontent-type: application/json;charset=UTF-8\r\ncontent-length: 41\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\nserver: nginx\r\nx-mbx-uuid: a73c7498-a61d-4bf4-93d9-80df79140cbe\r\nx-mbx-used-weight: 2\r\nx-mbx-used-weight-1m: 2\r\nstrict-transport-security: max-age=31536000; includeSubdomains\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncontent-security-policy: default-src 'self'\r\nx-content-security-policy: default-src 'self'\r\nx-webkit-csp: default-src 'self'\r\ncache-control: no-cache, no-store, must-revalidate\r\npragma: no-cache\r\nexpires: 0\r\naccess-control-allow-origin: *\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 93b33c2042507249d4697fdc8c6fd670.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ZD1RbyHu108BRvZjAccxqf5xs6EHsizwQ9audZoty9UbqQu8irR5vA==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":41,"size_decoded":937,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"545e8831ff6391be216ba3217f47e8ab","sha1":"9e61fbbb9b45a7169b6abacef15ed646b4e9bcf7","sha256":"12bd92832f63bea71c214d21dbe9dc93ecdd01296fee7c003ac2efafa0ca38ec","sha512":"0e088ecf229ab344b769f7167c0f5a1b6023e4b70c0bbb1d4a0e5e472c6bde84f7c24944b408b2074401599680079d35b3a9a3e517279d6f101320fdefce829d","ssdeep":"","tlshash":"b5900407330c5d05d004f5c5d4d31d170040350053f5070d144f043411703df341d351","first_seen":"2026-05-02T10:45:08.571893Z","last_seen":"2026-07-27T08:20:54.132641Z","times_seen":3,"resource_available":false,"data":"eyJzeW1ib2wiOiJUUlhVU0RUIiwicHJpY2UiOiIwLjMzMTUwMDAwIn0="}},"time_used":295,"timings":{"blocked":0,"dns":7,"connect":13,"send":0,"wait":255,"receive":0,"ssl":20},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.258Z","timestamp":1785140382258,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/dmsans/v17/rP2Hp2ywxg089UriCZOIHTWCBl0-8Q.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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: identity\r\nOrigin: https://notrx.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 62460\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:12 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 10 Sep 2025 16:30:17 GMT\r\ncontent-type: font/woff2\r\nage: 414510\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62460,"size_decoded":63273,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 62460, version 1.0","md5":"4c04ee82dc1deb4f32b244195d258e9b","sha1":"9bd2bc9c6f54075acd20589f87c17a73e3ab07b3","sha256":"ab72fd10c9ac5633c1f9ae4267864b674596062e023458e02973080bd1098904","sha512":"43bd417c75382fbcad7a44c73db7ec8e883bb505b63215ec67488eb205b61acd94031d5740bdf70cf413fcb126ac6a567b4c71831eeb063e5643fa0adc704895","ssdeep":"1536:Hjv9lkTtdw0aS3yPvWdfDSFdW6KK8zPJ86DQMBXQX:Hz9ceS3y2FDSFdRKNzPJj5gX","tlshash":"8753028264d3489c8c8b69d354847f1c707ef88fc1b88995a8e33ca14d4b1e6e85ad7f","first_seen":"2025-09-11T19:26:36.805532Z","last_seen":"2026-08-09T22:49:26.509168Z","times_seen":24313,"resource_available":false,"data":"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"}},"time_used":99,"timings":{"blocked":23,"dns":0,"connect":0,"send":0,"wait":36,"receive":40,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"notrx.app/favicon.ico","fqdn":"notrx.app","domain":"notrx.app","tld":"app"},"ip":{"addr":"104.21.35.150","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:42.542Z","timestamp":1785140382542,"http_version":"HTTP/3","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":"notrx.app","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 05 Jun 2026 10:11:58 GMT","end":"Thu, 03 Sep 2026 11:10:28 GMT"},"fingerprint":{"sha1":"21:FA:3E:30:90:96:6A:B5:B7:18:FF:0A:D4:36:15:0F:AA:4E:DD:C4","sha256":"87:17:DF:EE:2F:67:AA:29:CB:F1:8B:A8:74:4D:B1:B0:80:70:C5:F8:35:37:24:CA:C0:CE:B3:23:ED:D2:94:59"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: notrx.app\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://notrx.app/\r\nCookie: cf_clearance=qOHLunFNSbXq.TI9vWcBHDHpExd_rJiD2eczoeZrs_g-1785140382-1.2.1.1-XcEZ5vfoiGL8DB2otGXRX96hBCsIkiiYjvFI.Vj_WEXlM8V0wrj1Rfuu7Ej8_N1teq2Ri8RfamWf.u35u_qLaCfjm9rRTqPqDmYVmL0CRa3t0aXR6uitlS50D250myRI1Kb7AiSw2S_TLnfUhF1zVE71AkpROYSRctdOg2C4gbPlMcxeSVofi3hSZBtaS2QRujiAIK3r8wUgrIWJElgntuFgL6r7Q05KeZoYNnFvHR6ifGhjXudB5djqPhm8tEAfoedB5eP28SZzmLuWJ_s1m5c93_KBjgmMyrJq6vyTh2s4Ns_rLXcJrF8AdU_J5ujIE416_a1YHXb9eu7vgnQUvNrFqVUVvl1KqYJHGB.Sqdo\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/3 204 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 08:19:42 GMT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rltmwfqH9IyvH0XDmUyy%2BaFPkISEXXtuftk%2BIFyNg7g5evv5JZxoL7lhtMoKu5HvXnFfffZ7sz2n0Uqcah%2BEphljsrTiDIeSTcBheRvBxJpMDDlg7gGiyPseJLc%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: EXPIRED\r\npriority: u=6,i=?0\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21a387ef80c8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"204","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"]}],"data":{"size":0,"size_decoded":548,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-09T22:49:10.243451Z","times_seen":17807357,"resource_available":true,"data":""}},"time_used":125,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":125,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"explorer-api.walletconnect.com/w3m/v1/getInjectedListings?projectId=fbf5b42d6feed07049dd9e59d888645a","fqdn":"explorer-api.walletconnect.com","domain":"walletconnect.com","tld":"com"},"ip":{"addr":"172.66.147.126","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://notrx.app/","date":"2026-07-27T08:19:43.079Z","timestamp":1785140383079,"http_version":"HTTP/3","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":"walletconnect.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 04 Jun 2026 04:16:36 GMT","end":"Wed, 02 Sep 2026 05:16:25 GMT"},"fingerprint":{"sha1":"DC:D0:F7:32:00:90:71:77:19:17:82:23:72:AF:55:89:00:14:EB:BA","sha256":"FE:88:1B:93:AC:1B:71:AB:36:AD:D8:5C:FB:D5:69:2B:08:AA:96:B8:CF:3B:C0:A4:52:8F:C1:32:3F:7D:8B:AD"}}},"request":{"raw":"GET /w3m/v1/getInjectedListings?projectId=fbf5b42d6feed07049dd9e59d888645a HTTP/1.1\r\nHost: explorer-api.walletconnect.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://notrx.app/\r\nOrigin: https://notrx.app\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/3 200 \r\nserver: cloudflare\r\nx-robots-tag: noindex\r\ndate: Mon, 27 Jul 2026 08:19:43 GMT\r\ncontent-type: application/json; charset=utf-8\r\ncontent-encoding: br\r\ncf-ray: a21a38825ff45693-OSL\r\ncf-cache-status: HIT\r\npriority: u=4,i=?0\r\naccess-control-allow-origin: *\r\nage: 10939\r\ncache-control: public, max-age=2592000, s-maxage=86400\r\nlast-modified: Mon, 27 Jul 2026 05:17:23 GMT\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]}],"data":{"size":437428,"size_decoded":87640,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"5540f55817e4036c58829ef127c4039d","sha1":"fa65811bf8d92847c75ffd8263a7e2fe7c7c39fb","sha256":"c44cf95b4c7a0c82198e1166bee83216f5c9cee645c2e3f484087898248f870b","sha512":"2d4099279218e5fc5ad6982877914fb0a3778526becd66a7cfeb99b348b24309ae9b6e764552e3f2a4ea714efa397e28e31dd039b4947686cfb505858decd84c","ssdeep":"3072:bhVMpa2BGZxVETZyYZ5FwAfZ7+qRDUxyYW+m8uxlHkLQQDWgkmR6bQdZ:1+zBeVEgwYWGuxyQR+dZ","tlshash":"a99434bb8f848e5b1b2807c9212d3dac99de298bcbc55df6f1c0cf1844f4ab92315566","first_seen":"2026-07-25T14:01:12.660027Z","last_seen":"2026-07-27T11:57:52.152186Z","times_seen":6,"resource_available":false,"data":"eyJsaXN0aW5ncyI6eyI4YTBlZTUwZDFmMjJmNjY1MWFmY2FlN2ViNDI1M2U1MmEzMzEwYjkwYWY1ZGFlZjc4YThjNDkyOWE5YmI5OWQ0Ijp7ImlkIjoiOGEwZWU1MGQxZjIyZjY2NTFhZmNhZTdlYjQyNTNlNTJhMzMxMGI5MGFmNWRhZWY3OGE4YzQ5MjlhOWJiOTlkNCIsIm5hbWUiOiJCaW5hbmNlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYmluYW5jZS5jb20vZW4vd2ViM3dhbGxldCIsImltYWdlX2lkIjoiM2Q3ZWI4ODAtNzY1NC00MzFmLWVkODQtYTI1NzEyYjQ1MjAwIiwib3JkZXIiOjEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2VuL3dlYjN3YWxsZXQiLCJpb3MiOiJodHRwczovL3d3dy5iaW5hbmNlLmNvbS9lbi9kb3dubG9hZCIsImFuZHJvaWQiOiJodHRwczovL3d3dy5iaW5hbmNlLmNvbS9lbi9kb3dubG9hZCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvYmluYW5jZS13YWxsZXQvY2FkaWJva2xrcG9qZmFtY29nZ2VqYmJkamNvaWxqams/dXRtX3NvdXJjZT13YWxsZXRjb25uZWN0IiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzQmluYW5jZSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImNvbS5iaW5hbmNlLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJibmM6Ly9hcHAuYmluYW5jZS5jb20vY2VkZWZpLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmJpbmFuY2UuY29tL2NlZGVmaSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2VuL3dlYjN3YWxsZXQifX0sImM1N2NhOTViNDc1Njk3NzhhODI4ZDE5MTc4MTE0ZjRkYjE4OGI4OWI3NjNjODk5YmEwYmUyNzRlOTcyNjdkOTYiOnsiaWQiOiJjNTdjYTk1YjQ3NTY5Nzc4YTgyOGQxOTE3ODExNGY0ZGIxODhiODliNzYzYzg5OWJhMGJlMjc0ZTk3MjY3ZDk2IiwibmFtZSI6Ik1ldGFNYXNrIiwiaG9tZXBhZ2UiOiJodHRwczovL21ldGFtYXNrLmlvLyIsImltYWdlX2lkIjoiZTMwZDA5ZmUtYzBkZC00YjYxLTgxZTItZDZkYzA5ZWI5NzAwIiwib3JkZXIiOjIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbWV0YW1hc2svaWQxNDM4MTQ0MjAyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5tZXRhbWFzayIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL21ldGFtYXNrL25rYmloZmJlb2dhZWFvZWhsZWZua29kYmVmZ3Bna25uIiwiZmlyZWZveCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvYWRkb24vZXRoZXItbWV0YW1hc2svIiwic2FmYXJpIjpudWxsLCJlZGdlIjoiaHR0cHM6Ly9taWNyb3NvZnRlZGdlLm1pY3Jvc29mdC5jb20vYWRkb25zL2RldGFpbC9tZXRhbWFzay9lamJhbGJha29wbGNobGdoZWNkYWxtZWVlYWpuaW1obT9obD1lbi1VUyIsIm9wZXJhIjoiaHR0cHM6Ly9hZGRvbnMub3BlcmEuY29tL2VuLWdiL2V4dGVuc2lvbnMvZGV0YWlscy9tZXRhbWFzay0xMC8ifSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNNZXRhTWFzayIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImlvLm1ldGFtYXNrIiwibW9iaWxlIjp7Im5hdGl2ZSI6Im1ldGFtYXNrOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9tZXRhbWFzay5hcHAubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjBiNDE1YTc0NmZiOWVlOTljY2UxNTVjMmNlY2EwYzZmNjA2MWIxZGJjYTJkNzIyYjNiYTE2MzgxZDA1NjIxNTAiOnsiaWQiOiIwYjQxNWE3NDZmYjllZTk5Y2NlMTU1YzJjZWNhMGM2ZjYwNjFiMWRiY2EyZDcyMmIzYmExNjM4MWQwNTYyMTUwIiwibmFtZSI6IlNhZmVQYWwiLCJob21lcGFnZSI6Imh0dHBzOi8vc2FmZXBhbC5jb20vIiwiaW1hZ2VfaWQiOiI0ZTdkNmY1Mi1mNjYzLTRmYzEtNGI4OC1lZWJlN2ZjNzI4MDAiLCJvcmRlciI6MzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvc2FmZXBhbC1leHRlbnNpb24td2FsbGV0L2xnbXBjcGdscG5nZG9hbGJnZW9sZGVhamZjbG5oYWZhIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvc2FmZXBhbC13YWxsZXQvaWQxNTQ4Mjk3MTM5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5zYWZlcGFsLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3NhZmVwYWwtZXh0ZW5zaW9uLXdhbGxldC9sZ21wY3BnbHBuZ2RvYWxiZ2VvbGRlYWpmY2xuaGFmYSIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9maXJlZm94L2FkZG9uL3NhZmVwYWwtZXh0ZW5zaW9uLXdhbGxldCIsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vbWljcm9zb2Z0ZWRnZS5taWNyb3NvZnQuY29tL2FkZG9ucy9kZXRhaWwvc2FmZXBhbCVFNiU4RiU5MiVFNCVCQiVCNiVFOSU5MiVCMSVFNSU4QyU4NS9hcGVua2ZiYnBtaGloZWhtaWhuZG1tY2RhbmFjb2xuaCIsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNTYWZlUGFsIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2FmZXBhbHdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluay5zYWZlcGFsLmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9zYWZlcGFsLWV4dGVuc2lvbi13YWxsZXQvbGdtcGNwZ2xwbmdkb2FsYmdlb2xkZWFqZmNsbmhhZmEifX0sIjQ2MjJhMmIyZDZhZjFjOTg0NDk0NDI5MWU1ZTczNTFhNmFhMjRjZDdiMjMwOTllZmFjMWIyZmQ4NzVkYTMxYTAiOnsiaWQiOiI0NjIyYTJiMmQ2YWYxYzk4NDQ5NDQyOTFlNWU3MzUxYTZhYTI0Y2Q3YjIzMDk5ZWZhYzFiMmZkODc1ZGEzMWEwIiwibmFtZSI6IlRydXN0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly90cnVzdHdhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiIzMzg2ZGRlMS04YjI0LTQ4YzgtNGI4MS0xNjk3OWUzNDIwMDAiLCJvcmRlciI6NDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMjg4MzM5NDA5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ud2FsbGV0LmNyeXB0by50cnVzdGFwcCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3RydXN0LXdhbGxldC9lZ2ppZGpicGdsaWNoZGNvbmRiY2JkbmJlZXBwZ2RwaCIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNUcnVzdCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9LHsiaW5qZWN0ZWRfaWQiOiJpc1RydXN0V2FsbGV0IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoiY29tLnRydXN0d2FsbGV0LmFwcCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0cnVzdDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluay50cnVzdHdhbGxldC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjU4NjRlMmNlZDdjMjkzZWQxOGFjMzVlMGRiMDg1YzA5ZWQ1NjdkNjczNDZjY2I2ZjU4YTAzMjdhNzUxMzc0ODkiOnsiaWQiOiI1ODY0ZTJjZWQ3YzI5M2VkMThhYzM1ZTBkYjA4NWMwOWVkNTY3ZDY3MzQ2Y2NiNmY1OGEwMzI3YTc1MTM3NDg5IiwibmFtZSI6IkZpcmVibG9ja3MiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmZpcmVibG9ja3MuY29tLyIsImltYWdlX2lkIjoiOTRlN2VmZDgtMDAxZC00MGMwLWU0OTAtNjFlNmI4NWUxYjAwIiwib3JkZXIiOjUwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vY29uc29sZS5maXJlYmxvY2tzLmlvLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2ZpcmVibG9ja3MvaWQxNDM5Mjk2NTk2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZmlyZWJsb2Nrcy5jbGllbnQmZ2w9SUwiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImZpcmVibG9ja3Mtd2M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jb25zb2xlLmZpcmVibG9ja3MuaW8vdjIvIn19LCI5NzFlNjg5ZDBhNWJlNTI3YmFjNzk2MjliNGVlOWI5MjVlODIyMDhlNTE2OGI3MzM0OTZhMDljMGZhZWQwNzA5Ijp7ImlkIjoiOTcxZTY4OWQwYTViZTUyN2JhYzc5NjI5YjRlZTliOTI1ZTgyMjA4ZTUxNjhiNzMzNDk2YTA5YzBmYWVkMDcwOSIsIm5hbWUiOiJPS1ggV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5va3guY29tL3dlYjMiLCJpbWFnZV9pZCI6ImIwMTFiZDVhLWE4ODctNDRlMi0xMmIwLTM5ZWZiZDllNTYwMCIsIm9yZGVyIjo2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL29reC1idXktYml0Y29pbi1ldGgtY3J5cHRvL2lkMTMyNzI2ODQ3MCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm9raW5jLm9rZXguZ3AiLCJtYWMiOiJodHRwczovL3d3dy5va3guY29tL2Rvd25sb2FkIiwid2luZG93cyI6Imh0dHBzOi8vd3d3Lm9reC5jb20vZG93bmxvYWQiLCJsaW51eCI6Imh0dHBzOi8vd3d3Lm9reC5jb20vZG93bmxvYWQiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9va3gtd2FsbGV0L21jb2hpbG5jYmZhaGJtZ2Rqa2JwZW1jY2lpb2xnY2dlIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzUExDIiwibmFtZXNwYWNlIjoiZWlwMTU1In0seyJpbmplY3RlZF9pZCI6ImlzUExDIiwibmFtZXNwYWNlIjoic29sYW5hIn1dLCJyZG5zIjoiY29tLm9rZXgud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6Im9rZXg6Ly9tYWluIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cub2t4LmNvbS9kb3dubG9hZD9hcHBlbmRRdWVyeT10cnVlJmRlZXBsaW5rPW9reDovL3dlYjMvd2FsbGV0L3dhbGxldENvbm5lY3QifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjIwNDU5NDM4MDA3Yjc1ZjRmNGFjYjk4YmYyOWFhM2I4MDA1NTAzMDk2NDZkMzc1ZGE1ZmQ0YWFjNmMyYTJjNjYiOnsiaWQiOiIyMDQ1OTQzODAwN2I3NWY0ZjRhY2I5OGJmMjlhYTNiODAwNTUwMzA5NjQ2ZDM3NWRhNWZkNGFhYzZjMmEyYzY2IiwibmFtZSI6IlRva2VuUG9ja2V0IiwiaG9tZXBhZ2UiOiJodHRwczovL3Rva2VucG9ja2V0LnByby8iLCJpbWFnZV9pZCI6IjdjMmNlZTRlLWE1YmQtNGViZC0yNzdkLWY0OTZjNjlmYTAwMCIsIm9yZGVyIjo3MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC90b2tlbnBvY2tldC9tZmdjY2pjaGloZmtraW5kZnBwbmFvb2VjZ2ZuZWlpaSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3RwLXdhbGxldC9pZDY0NDQ2MjU2MjI/bD1lbiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9dmlwLm15dG9rZW5wb2NrZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC90b2tlbnBvY2tldC9tZmdjY2pjaGloZmtraW5kZnBwbmFvb2VjZ2ZuZWlpaSIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc1Rva2VuUG9ja2V0IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoicHJvLnRva2VucG9ja2V0IiwibW9iaWxlIjp7Im5hdGl2ZSI6InRwb3V0c2lkZTovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3Rva2VucG9ja2V0L21mZ2NjamNoaWhma2tpbmRmcHBuYW9vZWNnZm5laWlpIn19LCIzOGY1ZDE4YmQ4NTIyYzI0NGJkZDcwY2I0YTY4ZTBlNzE4ODY1MTU1ODExYzA0M2YwNTJmYjlmMWM1MWRlNjYyIjp7ImlkIjoiMzhmNWQxOGJkODUyMmMyNDRiZGQ3MGNiNGE2OGUwZTcxODg2NTE1NTgxMWMwNDNmMDUyZmI5ZjFjNTFkZTY2MiIsIm5hbWUiOiJCaXRnZXQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dlYjMuYml0Z2V0LmNvbSIsImltYWdlX2lkIjoiZjZmZjk1N2UtN2U3NC00ZjQzLWEzYWUtYTY0M2JmMThhMjAwIiwib3JkZXIiOjgwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYml0a2VlcC5jb20iLCJpb3MiOiJodHRwczovL3dlYjMuYml0Z2V0LmNvbS9lbi93YWxsZXQtZG93bmxvYWQ/dHlwZT0wIiwiYW5kcm9pZCI6Imh0dHBzOi8vd2ViMy5iaXRnZXQuY29tL2VuL3dhbGxldC1kb3dubG9hZD90eXBlPTAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaXRrZWVwLWNyeXB0by1uZnQtd2FsbGV0L2ppaWRpYWFsaWhtbWhkZGpnYm5iZ2RmZmxlbG9jcGFrIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzQml0S2VlcCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImNvbS5iaXRnZXQud2ViMyIsIm1vYmlsZSI6eyJuYXRpdmUiOiJiaXRrZWVwOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9ia2FwcC52aXAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjMDNkZmVlMzUxYjZmY2M0MjFiNDQ5NGVhMzNiOWQ0YjkyYTk4NGY4N2FhNzZkMTY2M2JiMjg3MDVlOTUwMzRhIjp7ImlkIjoiYzAzZGZlZTM1MWI2ZmNjNDIxYjQ0OTRlYTMzYjlkNGI5MmE5ODRmODdhYTc2ZDE2NjNiYjI4NzA1ZTk1MDM0YSIsIm5hbWUiOiJVbmlzd2FwIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly91bmlzd2FwLm9yZyIsImltYWdlX2lkIjoiNjAzM2MzM2MtMDc3My00OGUzLWExMmYtZTdmYmY0MDllNzAwIiwib3JkZXIiOjkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdW5pc3dhcC13YWxsZXQvaWQ2NDQzOTQ0NDc2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udW5pc3dhcC5tb2JpbGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3VuaXN3YXAtZXh0ZW5zaW9uL25ucG1mcGxrZm9nZnBtY25ncGxobmJkbm5pbG1jZGNnIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzVW5pc3dhcFdhbGxldCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InVuaXN3YXA6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3VuaXN3YXAub3JnL2FwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjE5MTc3YTk4MjUyZTA3ZGRmYzlhZjIwODNiYThlMDdlZjYyN2NiNjEwMzQ2N2ZmZWJiM2Y4ZjQyMDVmZDc5MjciOnsiaWQiOiIxOTE3N2E5ODI1MmUwN2RkZmM5YWYyMDgzYmE4ZTA3ZWY2MjdjYjYxMDM0NjdmZmViYjNmOGY0MjA1ZmQ3OTI3IiwibmFtZSI6IkxlZGdlciBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmxlZGdlci5jb20vbGVkZ2VyLXdhbGxldCIsImltYWdlX2lkIjoiYzIwZTFjZWMtMDVlOC00YWM2LWEwODYtN2NlMzU1MDkyNDAwIiwib3JkZXIiOjEwMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vYXBwL2lkMTM2MTY3MTcwMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmxlZGdlci5saXZlIiwibWFjIjoiaHR0cHM6Ly93d3cubGVkZ2VyLmNvbS9sZWRnZXItbGl2ZSIsIndpbmRvd3MiOiJodHRwczovL3d3dy5sZWRnZXIuY29tL2xlZGdlci1saXZlIiwibGludXgiOiJodHRwczovL3d3dy5sZWRnZXIuY29tL2xlZGdlci1saXZlIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJsZWRnZXJsaXZlOi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoibGVkZ2VybGl2ZTovLyIsInVuaXZlcnNhbCI6IiJ9fSwiZWNjNDAzNmY4MTQ1NjJiNDFhNTI2OGFkYzg2MjcwZmJhMTM2NTQ3MTQwMjAwNjMwMmU3MDE2OTQ2NWI3YWMxOCI6eyJpZCI6ImVjYzQwMzZmODE0NTYyYjQxYTUyNjhhZGM4NjI3MGZiYTEzNjU0NzE0MDIwMDYzMDJlNzAxNjk0NjViN2FjMTgiLCJuYW1lIjoiWmVyaW9uIiwiaG9tZXBhZ2UiOiJodHRwczovL3plcmlvbi5pby8iLCJpbWFnZV9pZCI6Ijc3YzFkM2RkLTAyMTMtNDAwYS1mOWNjLWJmZDUyNGM0N2YwMCIsIm9yZGVyIjoxMTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hcHAuemVyaW9uLmlvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQxNDU2NzMyNTY1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby56ZXJpb24uYW5kcm9pZCZobD1lbiZnbD1VUyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3plcmlvbi13YWxsZXQtZm9yLXdlYjMtbmYva2xnaGhua2VlYWxjb2hqamFuampkYWVlZ2dtZm1scGwiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNaZXJpb24iLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJpby56ZXJpb24ud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6InplcmlvbjovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0Lnplcmlvbi5pby93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6InplcmlvbjovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0Lnplcmlvbi5pbyJ9fSwiZmU2OGNlYTYzNTQxYWE1M2NlMDIwZGU3Mzk4OTY4NTY2ZGZlOGYzNzI1NjYzYTU2NGNhYzg5NDkwMjQ3ZWQ0OSI6eyJpZCI6ImZlNjhjZWE2MzU0MWFhNTNjZTAyMGRlNzM5ODk2ODU2NmRmZThmMzcyNTY2M2E1NjRjYWM4OTQ5MDI0N2VkNDkiLCJuYW1lIjoiQmVzdCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vYmVzdHdhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiJjMWJkMTI1MC1iOTdhLTRlMjYtYzU4NC01NTQwMTliYzFkMDAiLCJvcmRlciI6MTIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYmVzdC13YWxsZXQvaWQ2NDUxMzEyMTA1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYmVzdHdhbGxldC5tb2JpbGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJ3Oi8vYXBwL2Nvbm5lY3QiLCJ1bml2ZXJzYWwiOiJodHRwczovL2Jlc3Qtd2FsbGV0LXByb2Qud2ViLmFwcC9jb25uZWN0In0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJmMjQzNmM2NzE4NGYxNThkMWJlZGE1ZGY1MzI5OGVlODRhYmZjMzY3NTgxZTQ1MDUxMzRiNWJjZjVmNDY2OTdkIjp7ImlkIjoiZjI0MzZjNjcxODRmMTU4ZDFiZWRhNWRmNTMyOThlZTg0YWJmYzM2NzU4MWU0NTA1MTM0YjViY2Y1ZjQ2Njk3ZCIsIm5hbWUiOiJDcnlwdG8uY29tIE9uY2hhaW4iLCJob21lcGFnZSI6Imh0dHBzOi8vY3J5cHRvLmNvbS9vbmNoYWluIiwiaW1hZ2VfaWQiOiI0OTAzYWNkZC02NDYzLTQ0YjYtM2NmOS1mMjNmNGM3NWNhMDAiLCJvcmRlciI6MTMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9VUy9hcHAvaWQxNTEyMDQ4MzEwP210PTgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5kZWZpLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvY3J5cHRvY29tLXdhbGxldC1leHRlbnNpby9oaWZhZmdtY2NkcGVrcGxvbWpqa2NmZ29kbmhjZWxsaiIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS5jcnlwdG8ud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6ImRmdzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmNyeXB0by5jb20vZGVlcGxpbmsifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjM3YTY4NmFiNjIyM2NkNDJlMjg4NmVkNmU1NDc3ZmNlMTAwYTRmYjU2NWRjZDU3ZWQ0ZjgxZjdjMTJlOTMwNTMiOnsiaWQiOiIzN2E2ODZhYjYyMjNjZDQyZTI4ODZlZDZlNTQ3N2ZjZTEwMGE0ZmI1NjVkY2Q1N2VkNGY4MWY3YzEyZTkzMDUzIiwibmFtZSI6IkJpZnJvc3QgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2JpZnJvc3R3YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiJjMWFiMzk4Ny03ZTNjLTQzZmEtMGIyNy1jNzQ2ZjYxMzVhMDAiLCJvcmRlciI6MTQwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2JpZnJvc3Qtd2FsbGV0L2lkMTU3NzE5ODM1MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJpZnJvc3R3YWxsZXQuYXBwIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS5iaWZyb3N0d2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6ImJpZnJvc3R3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5iaWZyb3N0d2FsbGV0LmNvbS8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjQxMTlhNWIzZTVlYmM4MDliNmEzNjgwYTI4MGFlNTE3YjkyZmVhZDAyZTRjMDdiN2NlYzBkMzM4NWM4N2FlZTIiOnsiaWQiOiI0MTE5YTViM2U1ZWJjODA5YjZhMzY4MGEyODBhZTUxN2I5MmZlYWQwMmU0YzA3YjdjZWMwZDMzODVjODdhZWUyIiwibmFtZSI6InhQb3J0YWwiLCJob21lcGFnZSI6Imh0dHBzOi8veHBvcnRhbC5jb20iLCJpbWFnZV9pZCI6IjIyYmRiMTFhLTM5ZDMtNDJiYi1mN2NiLTg0Yjc3ZjVhNTIwMCIsIm9yZGVyIjoxNTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3JvL2FwcC94cG9ydGFsL2lkMTUxOTQwNTgzMiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmVscm9uZC5tYWlhci53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiItIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLmVscm9uZC5tYWlhci53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoieHBvcnRhbDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8veHBvcnRhbC5hcHAubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMTA3YmIyMDQ2MzY5OWM0ZTYxNGQzYTJmYjdiOTYxZTY2ZjQ4Nzc0Y2I4ZjZkNmMxYWVlNzg5ODUzMjgwOTcyYyI6eyJpZCI6IjEwN2JiMjA0NjM2OTljNGU2MTRkM2EyZmI3Yjk2MWU2NmY0ODc3NGNiOGY2ZDZjMWFlZTc4OTg1MzI4MDk3MmMiLCJuYW1lIjoiQml0Y29pbi5jb20gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5iaXRjb2luLmNvbS8iLCJpbWFnZV9pZCI6IjhjNTc1ZGVjLTA0MDEtNDk1Zi1kMjE3LWRiOTY1YjQ4YmYwMCIsIm9yZGVyIjoxNjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQuYml0Y29pbi5jb20vIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYml0Y29pbi13YWxsZXQtYnktYml0Y29pbi1jb20vaWQxMjUyOTAzNzI4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYml0Y29pbi5td2FsbGV0IiwibWFjIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYml0Y29pbi13YWxsZXQtYnktYml0Y29pbi1jb20vaWQxMjUyOTAzNzI4Iiwid2luZG93cyI6Imh0dHBzOi8vd2FsbGV0LmJpdGNvaW4uY29tLyIsImxpbnV4IjoiaHR0cHM6Ly93YWxsZXQuYml0Y29pbi5jb20vIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJiaXRjb2luY29tOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuYml0Y29pbi5jb20vIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5iaXRjb2luLmNvbS8ifX0sImMyODZlZWJjNzQyYTUzN2NkMWQ2ODE4MzYzZTlkYzUzYjIxNzU5YTFlOGU1ZDliMjYzZDBjMDNlYzc3MDM1NzYiOnsiaWQiOiJjMjg2ZWViYzc0MmE1MzdjZDFkNjgxODM2M2U5ZGM1M2IyMTc1OWExZThlNWQ5YjI2M2QwYzAzZWM3NzAzNTc2IiwibmFtZSI6IjFpbmNoIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cDovL3dhbGxldC4xaW5jaC5pbyIsImltYWdlX2lkIjoiN2M5NGEyNjItNmQ3OS00NjRjLWJjZTMtYTA2ZjZiZWNhNjAwIiwib3JkZXIiOjE3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwLzFpbmNoLWRlZmktd2FsbGV0L2lkMTU0NjA0OTM5MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8ub25laW5jaC5hbmRyb2lkIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJvbmVpbmNoOi8vb3Blbi9ub2JvZHl3aWxsZXZlcnVzZWl0IiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuMWluY2guaW8vYXBwL25vYm9keXdpbGxldmVydXNlaXQifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjZiMDE4MmQ2NzliNzJlYjI3MzNkZWMzOGQ5ZGVlNzA1NTFjYzE2YTZjZTVlN2E3ZjQxNTVmZmI2ZjQ5M2M1MjEiOnsiaWQiOiI2YjAxODJkNjc5YjcyZWIyNzMzZGVjMzhkOWRlZTcwNTUxY2MxNmE2Y2U1ZTdhN2Y0MTU1ZmZiNmY0OTNjNTIxIiwibmFtZSI6IlRyZXpvciBTdWl0ZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly90cmV6b3IuaW8vdHJlem9yLXN1aXRlIiwiaW1hZ2VfaWQiOiJlMjA1YjBmZC04ZTUwLTQ1ODktYzk3OC1jNTMwNDg0NGExMDAiLCJvcmRlciI6MTgwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3RyZXpvci1zdWl0ZS9pZDE2MzE4ODQ0OTciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLnRyZXpvci5zdWl0ZSIsIm1hYyI6Imh0dHBzOi8vdHJlem9yLmlvL3RyZXpvci1zdWl0ZSIsIndpbmRvd3MiOiJodHRwczovL3RyZXpvci5pby90cmV6b3Itc3VpdGUiLCJsaW51eCI6Imh0dHBzOi8vdHJlem9yLmlvL3RyZXpvci1zdWl0ZSIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jb25uZWN0LnRyZXpvci5pby85L2RlZXBsaW5rLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6InRyZXpvcnN1aXRlOi8vd2FsbGV0Y29ubmVjdCIsInVuaXZlcnNhbCI6IiJ9fSwiODRiNDNlOGRkZmNkMThlNWZjYjVkMjFlNzI3NzczM2Y5Y2NjZWY3NmY3ZDkyYzgzNmQwZTQ4MWRiMGM3MGMwNCI6eyJpZCI6Ijg0YjQzZThkZGZjZDE4ZTVmY2I1ZDIxZTcyNzc3MzNmOWNjY2VmNzZmN2Q5MmM4MzZkMGU0ODFkYjBjNzBjMDQiLCJuYW1lIjoiQmxvY2tjaGFpbi5jb20iLCJob21lcGFnZSI6Imh0dHBzOi8vbG9naW4uYmxvY2tjaGFpbi5jb20vYXV0aC9zaWdudXAiLCJpbWFnZV9pZCI6IjA4ODQ5NDhjLWM2Y2UtNDIxZS1iNGJkLTNkMmFkYjI2MTUwMCIsIm9yZGVyIjoxOTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9ibG9ja2NoYWluLWJpdGNvaW4td2FsbGV0L2lkNDkzMjUzMzA5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1waXVrLmJsb2NrY2hhaW4uYW5kcm9pZCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYmxvY2tjaGFpbi13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2xvZ2luLmJsb2NrY2hhaW4uY29tL2FwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZWYzMzM4NDBkYWY5MTVhYWZkYzRhMDA0NTI1NTAyZDZkNDlkNzdiZDljNjVlMDY0MmRiYWVmYjNjMjg5M2JlZiI6eyJpZCI6ImVmMzMzODQwZGFmOTE1YWFmZGM0YTAwNDUyNTUwMmQ2ZDQ5ZDc3YmQ5YzY1ZTA2NDJkYmFlZmIzYzI4OTNiZWYiLCJuYW1lIjoiaW1Ub2tlbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly90b2tlbi5pbS8iLCJpbWFnZV9pZCI6IjY3MzM2Njc1LTBkYWEtNDg5Yi02ODg1LWNiOTUyMzRiYzQwMCIsIm9yZGVyIjoyMDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly90b2tlbi5pbS8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pbXRva2VuMi9pZDEzODQ3OTg5NDAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWltLnRva2VuLmFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiaW10b2tlbnYyOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vdG9rZW4uaW0vIn19LCJiNDY3OGZlZmNjNDY5NTgzZWQ0ZWY1OGE1YmQ5MGNlODYyMDhiODI4MDNmM2M0NWYyZGUzZTA5NzNkMjY4ODM1Ijp7ImlkIjoiYjQ2NzhmZWZjYzQ2OTU4M2VkNGVmNThhNWJkOTBjZTg2MjA4YjgyODAzZjNjNDVmMmRlM2UwOTczZDI2ODgzNSIsIm5hbWUiOiJCaXRQYXkgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2JpdHBheS5jb20vd2FsbGV0IiwiaW1hZ2VfaWQiOiJjODEyOTVkNS0zNjNjLTQ0NzYtMTZlZi0xZThhYjU1N2IxMDAiLCJvcmRlciI6MjEwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYml0cGF5Lm9uZWxpbmsubWUvQ2Vudy9lamphdzdicyIsImFuZHJvaWQiOiJodHRwczovL2JpdHBheS5vbmVsaW5rLm1lL0NlbncvZWpqYXc3YnMiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9iaXRwYXktYml0Y29pbi13YWxsZXQtY2FyZC9pZDExNDk1ODE2Mzg/cGxhdGZvcm09aXBhZCIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiYml0cGF5Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5rLmJpdHBheS5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImUzZjNkYjY4MTQxMzFiOGIwYjEyNjIxZDEzNGNkMzI3ZTVhZDUxZjhlY2RlNjU1NjUzNzRhYWU0NjE3YTIwZmQiOnsiaWQiOiJlM2YzZGI2ODE0MTMxYjhiMGIxMjYyMWQxMzRjZDMyN2U1YWQ1MWY4ZWNkZTY1NTY1Mzc0YWFlNDYxN2EyMGZkIiwibmFtZSI6IkdlbWluaSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rZXlzLmdlbWluaS5jb20iLCJpbWFnZV9pZCI6ImY0MjdhNDg0LWMyNzMtNGQ2NS03NmM2LTk2YTBlN2JmZTEwMCIsIm9yZGVyIjoyMjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9rZXlzLmdlbWluaS5jb20iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9rZXlzLmdlbWluaS5jb20ifX0sIjBlNDkxNTEwN2RhNWIzNDA4YjM4ZTI0OGY3YTcxMGY0NTI5ZDU0Y2QzMGU5ZDEyZmYwZWI4ODZkNDVjMThlOTIiOnsiaWQiOiIwZTQ5MTUxMDdkYTViMzQwOGIzOGUyNDhmN2E3MTBmNDUyOWQ1NGNkMzBlOWQxMmZmMGViODg2ZDQ1YzE4ZTkyIiwibmFtZSI6IkFyY3VsdXMgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5hcmN1bHVzLmNvIiwiaW1hZ2VfaWQiOiIzODgyYzVhYS02MWY4LTRlZjYtYTYyOC05N2NkYzQ0OTQwMDAiLCJvcmRlciI6MjMwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2FyY3VsdXMtd2FsbGV0L2lkMTU3NTQyNTgwMSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y28uYXJjdWx1cy53YWxsZXQuYW5kcm9pZCZobD1lbl9VUyZnbD1VUyIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiYXJjdWx1c3djOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9ndy5hcmN1bHVzLmNvL2FwcC93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZjg5NmNiY2EzMGNkNmRjNDE0NzEyZDNkNmZjYzJmOGY3ZDM1ZDViZDMwZTNiMWZjNWQ2MGNmNmM4OTI2Zjk4ZiI6eyJpZCI6ImY4OTZjYmNhMzBjZDZkYzQxNDcxMmQzZDZmY2MyZjhmN2QzNWQ1YmQzMGUzYjFmYzVkNjBjZjZjODkyNmY5OGYiLCJuYW1lIjoiQ3RybCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vY3RybC54eXovIiwiaW1hZ2VfaWQiOiI3NDk4NTZiMC0zZjBlLTQ4NzYtNGQwZi0yNzgzNTMxMGRiMDAiLCJvcmRlciI6MjQwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2N0cmwtd2FsbGV0L2lkNjYzMDM4NjMzNiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9eHl6LmN0cmwud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvY3RybC13YWxsZXQvaG1lb2JuZm5mY21ka2RjbWxibGdhZ21mcGZib2llYWY/aGw9ZW4iLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJ4eXouY3RybCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJjdHJsLW1vYmlsZTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vY3RybC54eXovZGVlcGxpbmsvd2FsbGV0In0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI1NDFkNWRjZDRlZGUwMmYzYWZhZjc1YmY4ZTNlNGM0ZjFmYjA5ZWRiNWZhNmM0Mzc3ZWJmMzFjMjc4NWQ5YWRmIjp7ImlkIjoiNTQxZDVkY2Q0ZWRlMDJmM2FmYWY3NWJmOGUzZTRjNGYxZmIwOWVkYjVmYTZjNDM3N2ViZjMxYzI3ODVkOWFkZiIsIm5hbWUiOiJSb25pbiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LnJvbmluY2hhaW4uY29tLyIsImltYWdlX2lkIjoiNjg5ZjZlYjQtMDM3OC00MWUxLTA5OTMtMDc2NzQwMGNiNjAwIiwib3JkZXIiOjI1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3JvbmluLXdhbGxldC9pZDE1OTI2NzUwMDEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5za3ltYXZpcy5nZW5lc2lzIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvcm9uaW4td2FsbGV0L2Zuamhta2hobWtiamtrYWJuZGNubm9nYWdvZ2JuZWVjIiwiZmlyZWZveCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2ZpcmVmb3gvYWRkb24vcm9uaW4td2FsbGV0LyIsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vbWljcm9zb2Z0ZWRnZS5taWNyb3NvZnQuY29tL2FkZG9ucy9kZXRhaWwvcm9uaW4td2FsbGV0L2tqbW9vaGxnb2tjY29kaWNqamZlYmZvbWxibGpnZmhrIiwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJ3aW5kb3cucm9uaW4ucHJvdmlkZXIuaXNSb25pbiIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImNvbS5yb25pbmNoYWluLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJyb25pbndhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LnJvbmluY2hhaW4uY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjI1YWZmYjE3Njc3ODU2OTI3NmU0ODRlMWI5MjYzN2FkMDYxYjAxZTEzYTA0OGIzNWE5ZDI4MGMzYjU4OTcwZiI6eyJpZCI6IjIyNWFmZmIxNzY3Nzg1NjkyNzZlNDg0ZTFiOTI2MzdhZDA2MWIwMWUxM2EwNDhiMzVhOWQyODBjM2I1ODk3MGYiLCJuYW1lIjoiU2FmZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zYWZlLmdsb2JhbC8iLCJpbWFnZV9pZCI6ImE1NzhiZDQ1LWI0MTgtNDExMS0yYzU2LThkZGNkMTQxN2MwMCIsIm9yZGVyIjoyNjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hcHAuc2FmZS5nbG9iYWwvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQ2NzQ4NzU0NzkzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1nbG9iYWwuc2FmZS5tb2JpbGVhcHAiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InNhZmU6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5zYWZlLmdsb2JhbC8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5zYWZlLmdsb2JhbC8ifX0sIjVkOWYxMzk1YjNhOGU4NDg2ODQ4NDhkYzQxNDdjYmQwNWM4ZDU0YmI3MzdlYWM3OGZlMTAzOTAxZmU2YjAxYTEiOnsiaWQiOiI1ZDlmMTM5NWIzYThlODQ4Njg0ODQ4ZGM0MTQ3Y2JkMDVjOGQ1NGJiNzM3ZWFjNzhmZTEwMzkwMWZlNmIwMWExIiwibmFtZSI6Ik9LWCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lm9reC5jb20vZG93bmxvYWQiLCJpbWFnZV9pZCI6ImM1NWRmODMxLTNjNTItNDlmYy1kMWQxLTk3YTkyNmRjMGMwMCIsIm9yZGVyIjoyNzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvb2t4LXdhbGxldC1wb3J0YWwtdG8td2ViMy9pZDY3NDMzMDk0ODQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5va3gud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvb2t4LXdhbGxldC9tY29oaWxuY2JmYWhibWdkamticGVtY2NpaW9sZ2NnZSIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20ub2tleC53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoib2t4d2FsbGV0Oi8vbWFpbiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2ViMy5va3guY29tL2Rvd25sb2FkIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIxNWM4YjkxYWRlMWE0ZTU4ZjNjZTRlN2EwZGQ3ZjQyYjQ3ZGIwYzhkZjdlMGQ4NGY2M2ViMzliY2I5NmM0ZTBmIjp7ImlkIjoiMTVjOGI5MWFkZTFhNGU1OGYzY2U0ZTdhMGRkN2Y0MmI0N2RiMGM4ZGY3ZTBkODRmNjNlYjM5YmNiOTZjNGUwZiIsIm5hbWUiOiJCeWJpdCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmJ5Yml0LmNvbS93ZWIzLyIsImltYWdlX2lkIjoiYjllNjRmNzQtMDE3Ni00NGZkLWM2MDMtNjczYTQ1ZWQ1YjAwIiwib3JkZXIiOjI4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vVVMvYXBwL2lkMTQ4ODI5Njk4MCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJ5Yml0LmFwcCZobD1lbiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2J5Yml0LXdhbGxldC9wZGxpYW9nZWhnZGJoYm5ta2tsaWVnaG1tamtwaWdwYSIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2J5Yml0LXdhbGxldC9wZGxpYW9nZWhnZGJoYm5ta2tsaWVnaG1tamtwaWdwYSIsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoid2luZG93LmV0aGVyZXVtLmlzQnliaXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifSx7ImluamVjdGVkX2lkIjoid2luZG93LmJ5Yml0V2FsbGV0LnNvbGFuYSIsIm5hbWVzcGFjZSI6InNvbGFuYSJ9XSwicmRucyI6ImNvbS5ieWJpdCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJieWJpdGFwcDovL29wZW4vcm91dGU/dGFyZ2V0VXJsPWJ5Oi8vd2ViMy93YWxsZXRjb25uZWN0LyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNGViNzU0ZmZhZjllMTc3ZWVmMGVmMjZmODJiN2MyZmRmOGQ3MTc4YzUyNjgyNzA0YmYzZTc4MzAwNzFkMzQyNyI6eyJpZCI6IjRlYjc1NGZmYWY5ZTE3N2VlZjBlZjI2ZjgyYjdjMmZkZjhkNzE3OGM1MjY4MjcwNGJmM2U3ODMwMDcxZDM0MjciLCJuYW1lIjoiV0VNSVggUGxheSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93ZW1peHBsYXkuY29tLyIsImltYWdlX2lkIjoiM2Q3YjcyMjYtMzAwNS00YWNlLTRhMzUtZDVmNjdhZWUyMzAwIiwib3JkZXIiOjMwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2lkNjU0NzgzNDUxNyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndlbWFkZS53ZW1peHBsYXkiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IndwYXBwOi8vd2VtaXhwbGF5LmNvbS8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3dlbWl4cGxheS5vbmVsaW5rLm1lL0JxMW4vY3NzZHdlZGkifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJlOWZmMTViZTczNTg0NDg5Y2E0YTY2ZjY0ZDMyYzQ1Mzc3MTE3OTdlMzBiNjY2MGRiY2I3MWVhNzJhNDJiMWY0Ijp7ImlkIjoiZTlmZjE1YmU3MzU4NDQ4OWNhNGE2NmY2NGQzMmM0NTM3NzExNzk3ZTMwYjY2NjBkYmNiNzFlYTcyYTQyYjFmNCIsIm5hbWUiOiJFeG9kdXMiLCJob21lcGFnZSI6Imh0dHBzOi8vZXhvZHVzLmNvbS8iLCJpbWFnZV9pZCI6IjRjMTZjYWQ0LWNhYzktNDY0My02NzI2LWM2OTZlZmFmNTIwMCIsIm9yZGVyIjozMTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9leG9kdXMuY29tL2Rvd25sb2FkLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2V4b2R1cy1jcnlwdG8tYml0Y29pbi13YWxsZXQvaWQxNDE0Mzg0ODIwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1leG9kdXNtb3ZlbWVudC5leG9kdXMmaGw9ZW4mZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9leG9kdXMtd2ViMy13YWxsZXQvYWhvbHBmZGlhbGpnamZob21paGtqYm1namlkbGNkbm8iLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNFeG9kdXMiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJleG9kdXM6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2V4b2R1cy5jb20vbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjIxMDMwZjIwZmJhMWE3NzExNTg1OGVlM2E4YmM1ODQxYzczOWFiNDUzNzQ0MTMxNmUyZjRiMWQwYThkMjE4YWYiOnsiaWQiOiIyMTAzMGYyMGZiYTFhNzcxMTU4NThlZTNhOGJjNTg0MWM3MzlhYjQ1Mzc0NDEzMTZlMmY0YjFkMGE4ZDIxOGFmIiwibmFtZSI6IlRhbmdlbSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdGFuZ2VtLmNvbSIsImltYWdlX2lkIjoiODA2NzljNmYtYmIwYi00M2QwLTgzZTAtNDYyYWMyNjhiNjAwIiwib3JkZXIiOjMyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXovYXBwL3RhbmdlbS9pZDEzNTQ4Njg0NDgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS50YW5nZW0ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0YW5nZW06Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC50YW5nZW0uY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMTljNTRlMDJlNzllODYyODUxMmZhZTMzNGQ2ZGJiYWM3ZTJlOGI1Mzg0OGE2OGEwNjE5MWYzNzY5ZWRlOTJmZiI6eyJpZCI6IjE5YzU0ZTAyZTc5ZTg2Mjg1MTJmYWUzMzRkNmRiYmFjN2UyZThiNTM4NDhhNjhhMDYxOTFmMzc2OWVkZTkyZmYiLCJuYW1lIjoiQmxhY2tGb3J0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ibGFja2ZvcnQubmV0d29yayIsImltYWdlX2lkIjoiZjJjZjA5MDktM2UxZS00ZjY3LThjM2YtMmI2OWY3YTVlYjAwIiwib3JkZXIiOjMzMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vcGwvYXBwL2JsYWNrZm9ydC13YWxsZXQvaWQ2NDQ3OTU0MTM3IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1leGNoYW5nZS5ibGFja2ZvcnQuYmxhY2tmb3J0d2FsbGV0JmhsPWVuX1VTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJibGFja2ZvcnR3YzovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYTI5NDk4ZDIyNWZhNGIxMzQ2OGZmNGQ2Y2Y0YWUwZWE0YWRjYmQ5NWYwN2NlOGE4NDNhMWRlZTEwYjYzMmYzZiI6eyJpZCI6ImEyOTQ5OGQyMjVmYTRiMTM0NjhmZjRkNmNmNGFlMGVhNGFkY2JkOTVmMDdjZThhODQzYTFkZWUxMGI2MzJmM2YiLCJuYW1lIjoiSGFzaFBhY2siLCJob21lcGFnZSI6Imh0dHBzOi8vaGFzaHBhY2suYXBwIiwiaW1hZ2VfaWQiOiI4ZDU1ZGQ1YS03YzlmLTQ5MjktZDJkMS0wMDU2NGU0MWFjMDAiLCJvcmRlciI6MzQwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0Lmhhc2hwYWNrLmFwcC8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9pZDY0NDQzODk4NDkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5oYXNocGFjay53YWxsZXQudHdhIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvaGFzaHBhY2svZ2phZ21naWRkYmJjaW9wamhsbGtkbmRkaGNnbG5lbWsiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20uaGFzaHBhY2sud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6Imhhc2hwYWNrOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5rLmhhc2hwYWNrLmFwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5rLmhhc2hwYWNrLmFwcCJ9fSwiMWFlZGJjZmMxZjMxYWFkZTU2Y2EzNGMzOGIwYTE2MDdiNDFjY2NmYTNkZTkzYzk0NmVmM2I0YmEyZGZhYjExYyI6eyJpZCI6IjFhZWRiY2ZjMWYzMWFhZGU1NmNhMzRjMzhiMGExNjA3YjQxY2NjZmEzZGU5M2M5NDZlZjNiNGJhMmRmYWIxMWMiLCJuYW1lIjoiT25lS2V5IiwiaG9tZXBhZ2UiOiJodHRwczovL29uZWtleS5zbyIsImltYWdlX2lkIjoiMjA2N2M3NzEtOTNlOC00YjMyLWIzODgtYjJhMGUxZDRkYzAwIiwib3JkZXIiOjM1MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL29uZWtleS5zbyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL29uZWtleS1vcGVuLXNvdXJjZS13YWxsZXQvaWQxNjA5NTU5NDczIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1zby5vbmVrZXkuYXBwLndhbGxldCZobD1lbl9VUyZnbD1VUyIsIm1hYyI6Imh0dHBzOi8vZ2l0aHViLmNvbS9PbmVLZXlIUS9hcHAtbW9ub3JlcG8vcmVsZWFzZXMiLCJ3aW5kb3dzIjoiaHR0cHM6Ly9naXRodWIuY29tL09uZUtleUhRL2FwcC1tb25vcmVwby9yZWxlYXNlcyIsImxpbnV4IjoiaHR0cHM6Ly9naXRodWIuY29tL09uZUtleUhRL2FwcC1tb25vcmVwby9yZWxlYXNlcyIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL29uZWtleS9qbm1ib2JqbWhsbmdvZWZhaW9qZmxqY2tpbGhobGhjaiIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc09uZUtleSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9LHsiaW5qZWN0ZWRfaWQiOiJpc09uZUtleSIsIm5hbWVzcGFjZSI6InNvbGFuYSJ9XSwicmRucyI6InNvLm9uZWtleS5hcHAud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6Im9uZWtleS13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5vbmVrZXkuc28vd2MvY29ubmVjdCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6Im9uZWtleS13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5vbmVrZXkuc28vd2MvY29ubmVjdCJ9fSwiNzE5YmQ4ODgxMDlmNWU4ZGQyMzQxOWIyMGU3NDk5MDBjZTRkMmZjNjg1OGNmNTg4Mzk1ZjE5YzgyZmQwMzZiMyI6eyJpZCI6IjcxOWJkODg4MTA5ZjVlOGRkMjM0MTliMjBlNzQ5OTAwY2U0ZDJmYzY4NThjZjU4ODM5NWYxOWM4MmZkMDM2YjMiLCJuYW1lIjoiSGFIYSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuaGFoYS5tZSIsImltYWdlX2lkIjoiNzkyODVjOWYtMjYzMC00NTFlLTA2ODAtYzcxYjQyZmI3NDAwIiwib3JkZXIiOjM2MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5oYWhhLm1lIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaGFoYS1jcnlwdG8tcG9ydGZvbGlvLXRyYWNrZXIvaWQxNTkxMTU4MjQ0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucGVybXV0aXplLmhhaGEiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9oYWhhLWNyeXB0by1wb3J0Zm9saW8tdHJhY2tlci9pZDE1OTExNTgyNDQiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJoYWhhOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9oYWhhLm1lIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5oYWhhLm1lIn19LCI5Y2U4NzcxMmI5OWIzZWI1NzM5NmNjODYyMWRiODkwMGFjOTgzYzcxMjIzNmY0OGZiNzBhZDI4NzYwYmUzZjZhIjp7ImlkIjoiOWNlODc3MTJiOTliM2ViNTczOTZjYzg2MjFkYjg5MDBhYzk4M2M3MTIyMzZmNDhmYjcwYWQyODc2MGJlM2Y2YSIsIm5hbWUiOiJTdWJXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnN1YndhbGxldC5hcHAvIiwiaW1hZ2VfaWQiOiIwM2Y1YzA4Yy1mYjMwLTQ2YTAtY2E1Yy1kOGZkZDcyNTBiMDAiLCJvcmRlciI6MzcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc3Vid2FsbGV0LXBvbGthZG90LXdhbGxldC9pZDE2MzMwNTAyODUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5zdWJ3YWxsZXQubW9iaWxlJmhsPWVuX1VTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvc3Vid2FsbGV0LXBvbGthZG90LXdhbGxldC9vbmhvZ2ZqZWFjbmZvb2ZrZmdwcGRsYm1sbW5wbGdibiIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL3N1YndhbGxldC8iLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNTdWJXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifSx7ImluamVjdGVkX2lkIjoic3Vid2FsbGV0LWpzIiwibmFtZXNwYWNlIjoicG9sa2Fkb3QifV0sInJkbnMiOiJhcHAuc3Vid2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6InN1YndhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbW9iaWxlLnN1YndhbGxldC5hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoic3Vid2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfX0sIjJiZDhjMTRlMDM1YzJkNDhmMTg0YWFhMTY4NTU5ZTg2YjBlMzQzMzIyOGQzYzQwNzU5MDBhMjIxNzg1MDE5YjAiOnsiaWQiOiIyYmQ4YzE0ZTAzNWMyZDQ4ZjE4NGFhYTE2ODU1OWU4NmIwZTM0MzMyMjhkM2M0MDc1OTAwYTIyMTc4NTAxOWIwIiwibmFtZSI6IkJhY2twYWNrIiwiaG9tZXBhZ2UiOiJodHRwczovL2JhY2twYWNrLmFwcCIsImltYWdlX2lkIjoiNzFjYTlkYWYtYTMxZS00ZDJhLWZkMDEtZjVkYzJkYzY2OTAwIiwib3JkZXIiOjM4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2JhY2twYWNrLXdhbGxldC1leGNoYW5nZS9pZDY0NDU5NjQxMjEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5iYWNrcGFjay5tb2JpbGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iYWNrcGFjay9hZmxrbWZoZWJlZGJqaW9pcGdsZ2NiY21uYnBnbGlvZiIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc0JhY2twYWNrIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoiYXBwLmJhY2twYWNrIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImJhY2twYWNrOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9iYWNrcGFjay5hcHAvdWwvdjEifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImUxODgyMjI0YzRjMDlhODQ1NzVjNTMzODY3ZDQzNDI2N2M0NjM4NGY1YTM2NWI4ODk2MDVkMjhiMDYxNzQ3YzQiOnsiaWQiOiJlMTg4MjIyNGM0YzA5YTg0NTc1YzUzMzg2N2Q0MzQyNjdjNDYzODRmNWEzNjViODg5NjA1ZDI4YjA2MTc0N2M0IiwibmFtZSI6IkJlZVdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYmVlLmNvbS9lbiIsImltYWdlX2lkIjoiNzc3NDNlZDktNWFjNi00OGY3LTg2N2QtMGY5OGU0ODFiNTAwIiwib3JkZXIiOjM5MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9pZDE1Mjk5ODg5MTkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW5ldHdvcmsuYmVlLmFwcCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2JlZS13YWxsZXQvbmFua29wZmpoZGZsaWtjb2toZ29oaWFvZWhuamZha28iLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzQmVlV2FsbGV0IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImJlZTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbWFpbi5hcHBsZS5iZWU5NTI3LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZTZhOGNiNmFiZTQ3Zjg4ZDc1MTFiMDY5ODgyOWVhYjAxZDc2ZTc4YmFkODJiOGNjY2E2NjAwNDA1NTA1NWQ4OSI6eyJpZCI6ImU2YThjYjZhYmU0N2Y4OGQ3NTExYjA2OTg4MjllYWIwMWQ3NmU3OGJhZDgyYjhjY2NhNjYwMDQwNTUwNTVkODkiLCJuYW1lIjoiRmxvdyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LmZsb3cuY29tLyIsImltYWdlX2lkIjoiZjY3YTFkYjgtNTcwNC00MzUzLWVhZDgtYmQ4NWMwMmE4NzAwIiwib3JkZXIiOjQwMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2NhL2FwcC9mbG93LXdhbGxldC1uZnRzLWFuZC1jcnlwdG8vaWQ2NDc4OTk2NzUwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZmxvd2ZvdW5kYXRpb24ud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvZmxvdy1yZWZlcmVuY2UvaHBjbGtlZmFnb2xpaG9oYm9hZnBoZWRkbW1nZGZmam0iLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzRmxvd1dhbGxldCIsIm5hbWVzcGFjZSI6ImZsb3cifV0sInJkbnMiOiJjb20uZmxvd2ZvdW5kYXRpb24ud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6ImZydzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZnJ3LWxpbmsubGlsaWNvLmFwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiOTRmNzg1YzBjOGZiOGM0ZjM4Y2Q5Y2Q3MDQ0MTY0MzBiY2FhMjEzN2YyN2UxNDY4NzgyZDYyNGJjZDE1NWE0MyI6eyJpZCI6Ijk0Zjc4NWMwYzhmYjhjNGYzOGNkOWNkNzA0NDE2NDMwYmNhYTIxMzdmMjdlMTQ2ODc4MmQ2MjRiY2QxNTVhNDMiLCJuYW1lIjoiQXZhY3VzIiwiaG9tZXBhZ2UiOiJodHRwczovL2F2YWN1cy5jYyIsImltYWdlX2lkIjoiYTcxMDY5NjUtOTFjYy00YTczLTQ2ODgtYzVjNzJhZTBlZDAwIiwib3JkZXIiOjQxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2lkNjQ0OTY1NzQ0MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uc293YWthLmF2YWN1cyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYXZhY3VzOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hdmFjdXMuYXBwLmxpbmsifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIxYWU5MmIyNmRmMDJmMGFiY2E2MzA0ZGYwN2RlYmNjZDE4MjYyZmRmNWZlODJkYWE4MTU5MzU4MmRhYzlhMzY5Ijp7ImlkIjoiMWFlOTJiMjZkZjAyZjBhYmNhNjMwNGRmMDdkZWJjY2QxODI2MmZkZjVmZTgyZGFhODE1OTM1ODJkYWM5YTM2OSIsIm5hbWUiOiJSYWluYm93IiwiaG9tZXBhZ2UiOiJodHRwczovL3JhaW5ib3cubWUvIiwiaW1hZ2VfaWQiOiI3YTMzZDdmMS0zZDEyLTRiNWMtZjNlZS01Y2Q4M2NiMWI1MDAiLCJvcmRlciI6NDIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxNDU3MTE5MDIxP3B0PTExOTk5NzgzNyZjdD13YyZtdD04IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1tZS5yYWluYm93JnJlZmVycmVyPXV0bV9zb3VyY2UlM0R3YyUyNnV0bV9tZWRpdW0lM0Rjb25uZWN0b3IlMjZ1dG1fY2FtcGFpZ24lM0R3YyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3JhaW5ib3cvb3BmZ2VsbWNtYmlhamFtZXBubWxvaWpicG9sZWlhbWE/dXRtX3NvdXJjZT13YyZ1dG1fbWVkaXVtPWNvbm5lY3RvciZ1dG1fY2FtcGFpZ249d2MiLCJmaXJlZm94IjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9hZGRvbi9yYWluYm93LWV4dGVuc2lvbi8/dXRtX3NvdXJjZT13YyZ1dG1fbWVkaXVtPWNvbm5lY3RvciZ1dG1fY2FtcGFpZ249d2MiLCJzYWZhcmkiOm51bGwsImVkZ2UiOiJodHRwczovL21pY3Jvc29mdGVkZ2UubWljcm9zb2Z0LmNvbS9hZGRvbnMvZGV0YWlsL3JhaW5ib3cvY3BvamZib2RpY2NhYmJhYmdpbWRlb2hra3BqZnBibmY/dXRtX3NvdXJjZT13YyZ1dG1fbWVkaXVtPWNvbm5lY3RvciZ1dG1fY2FtcGFpZ249d2MiLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzUmFpbmJvdyIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6Im1lLnJhaW5ib3ciLCJtb2JpbGUiOnsibmF0aXZlIjoicmFpbmJvdzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vcm5id2FwcC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIxMzJmZTdmYmE5MDBjNDc3MmQzOWMxNWYwMmVjMTM0NDYxZmE1ZDY4MGJlNzZiMTc2N2MyZDBhMTUwNTViN2ExIjp7ImlkIjoiMTMyZmU3ZmJhOTAwYzQ3NzJkMzljMTVmMDJlYzEzNDQ2MWZhNWQ2ODBiZTc2YjE3NjdjMmQwYTE1MDU1YjdhMSIsIm5hbWUiOiJOZXcgR29vZFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9nb29kd2FsbGV0Lnh5eiIsImltYWdlX2lkIjoiYzA3NTg5NzgtNzY1YS00YTYxLTgyMDMtMzZhMzBkOTgwZDAwIiwib3JkZXIiOjQzMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2dvb2R3YWxsZXQueHl6IiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ29vZHdhbGxldC54eXoifX0sIjg4MzdkZDk0MTNiMWQ5YjU4NWVlOTM3ZDI3YTgxNjU5MDI0ODM4NmQ5ZGJmNTlmNWNkMzQyMmRiYmI2NTY4M2UiOnsiaWQiOiI4ODM3ZGQ5NDEzYjFkOWI1ODVlZTkzN2QyN2E4MTY1OTAyNDgzODZkOWRiZjU5ZjVjZDM0MjJkYmJiNjU2ODNlIiwibmFtZSI6IlJvYmluaG9vZCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vcm9iaW5ob29kLmNvbS93ZWIzLXdhbGxldC8iLCJpbWFnZV9pZCI6ImRmZTBlM2UzLTU3NDYtNGUyYi0xMmFkLTcwNDYwODUzMTUwMCIsIm9yZGVyIjo0NDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9yb2Jpbmhvb2QuY29tL3dlYjMtd2FsbGV0LyIsImlvcyI6Imh0dHBzOi8vcm9iaW5ob29kLmNvbS93ZWIzLXdhbGxldC8iLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5yb2Jpbmhvb2QuZ2F0ZXdheSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vcm9iaW5ob29kLmNvbS93ZWIzLXdhbGxldC8iLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNSb2Jpbmhvb2RNb2JpbGVXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJjb20ucm9iaW5ob29kLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJyb2Jpbmhvb2Qtd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhMWY1MDZhMzhmMzliNjcyYjM2OWJkMTNiNjhhYmJiZDgxZjgzYTA0ODllNjYyNWYyYmYxMmFhMDM4OWMyMmFlIjp7ImlkIjoiYTFmNTA2YTM4ZjM5YjY3MmIzNjliZDEzYjY4YWJiYmQ4MWY4M2EwNDg5ZTY2MjVmMmJmMTJhYTAzODljMjJhZSIsIm5hbWUiOiJEJ0NFTlQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2RjZW50d2FsbGV0LmNvbSIsImltYWdlX2lkIjoiZTdlNjA3ODgtNjgwNi00N2Q0LTdiNGEtYTQxMGU3YWEzMzAwIiwib3JkZXIiOjQ1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2RjZW50LWhhcmR3YXJlLXdhbGxldC9pZDE0NDcyMDY2MTEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5rci5pb3RydXN0LmRjZW50LndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZGNlbnQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2xpbmsuZGNlbnR3YWxsZXQuY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYWVlNTA4M2FhYzAyNWM0YzNmMWM5YWZjMzFlYTg5ZGJkZGNhMGIxYzI0ODE5NWJlZjQ2OWZjNDg4NmFlM2FiMiI6eyJpZCI6ImFlZTUwODNhYWMwMjVjNGMzZjFjOWFmYzMxZWE4OWRiZGRjYTBiMWMyNDgxOTViZWY0NjlmYzQ4ODZhZTNhYjIiLCJuYW1lIjoiSE9UIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ob3QtbGFicy5vcmcvd2FsbGV0IiwiaW1hZ2VfaWQiOiI4MDk4NjdjZS0zNDVmLTQxODAtMDMzYS0xNjUwMTlkNGM3MDAiLCJvcmRlciI6NDYwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLmhvdC1sYWJzLm9yZy9saW5rIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaG90LXdhbGxldC9pZDY3NDA5MTYxNDgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5oZXJld2FsbGV0LmhvdCZobD1lbl9VUyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvaG90LXdhbGxldC9tcGVlbmdhYmNuaGhqamdsZWlvZGltZWdua3BjZW5iayIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL2hvdC13YWxsZXQiLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNIb3RXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJvcmcuaG90LWxhYnMiLCJtb2JpbGUiOnsibmF0aXZlIjoiaG90d2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAuaG90LWxhYnMub3JnIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAuaG90LWxhYnMub3JnL2xpbmsifX0sIjBjYjBjNTMyYjUxOGFhODQyNzg2ZDUxNjdlMTNkZjIyMDQ2YmM5MzAxYjY2Nzc4MDhkNzEzNGMzZDczNjZhOWQiOnsiaWQiOiIwY2IwYzUzMmI1MThhYTg0Mjc4NmQ1MTY3ZTEzZGYyMjA0NmJjOTMwMWI2Njc3ODA4ZDcxMzRjM2Q3MzY2YTlkIiwibmFtZSI6IldpZ3dhbSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93aWd3YW0uYXBwIiwiaW1hZ2VfaWQiOiI2MjAwYjAwNS1mMjAyLTQxZDUtN2JkOS05NjZjOTcwZjY3MDAiLCJvcmRlciI6NDcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LndpZ3dhbS5hcHAiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9pZDY2MzAzODE2NDMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS53aWd3YW1hcHAiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3dpZ3dhbS0lRTIlODAlOTQtd2ViMy13YWxsZXQvbGNjYm9oaGdma2Rpa2FoYW5vY2xiZG1hb2xpZGpkZmwiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzV2lnd2FtIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoiY29tLndpZ3dhbS53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoid2lnd2FtOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93aWd3YW0uYXBwLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LndpZ3dhbS5hcHAifX0sIjU2ODQzMTc3YjVlODlkNGJjYjE5YTI3ZGFiN2M0OWUwZjMzZDhkM2E2YzhjNGM3ZTUyNzRmNjA1ZTkyYmVmZDYiOnsiaWQiOiI1Njg0MzE3N2I1ZTg5ZDRiY2IxOWEyN2RhYjdjNDllMGYzM2Q4ZDNhNmM4YzRjN2U1Mjc0ZjYwNWU5MmJlZmQ2IiwibmFtZSI6IlNvY2lvcy5jb20gLSBXYWxsZXQgJiBUb2tlbnMiLCJob21lcGFnZSI6Imh0dHBzOi8vYXBwLnNvY2lvcy5jb20iLCJpbWFnZV9pZCI6ImViNTU2NzlmLTk0NjItNDVlMi1lMGVjLWRmYjg1MWY5ZTcwMCIsIm9yZGVyIjo0ODAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hcHAuc29jaW9zLmNvbSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2lkMTQ2NDg2ODI3NyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnNvY2lvcyZobD1lbiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic29jaW9zLW1vYjovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5zb2Npb3MuY29tIn19LCIwZWYyNjJjYTJhNTZiODhkMTc5YzkzYTIxMzgzZmVlNGUxMzViZDdiYzY2ODBlNWMyMzU2ZmY4ZTM4MzAxMDM3Ijp7ImlkIjoiMGVmMjYyY2EyYTU2Yjg4ZDE3OWM5M2EyMTM4M2ZlZTRlMTM1YmQ3YmM2NjgwZTVjMjM1NmZmOGUzODMwMTAzNyIsIm5hbWUiOiJKdXBpdGVyIiwiaG9tZXBhZ2UiOiJodHRwczovL2p1cC5hZy9tb2JpbGUiLCJpbWFnZV9pZCI6Ijc2MDFiZWMzLTE0NGYtNGM5ZC0zMGExLTJkNGEzNzJlZGUwMCIsIm9yZGVyIjo0OTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9qdXBpdGVyLXNvbGFuYS1zd2FwLXdhbGxldC9pZDY0ODQwNjkwNTkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFnLmp1cC5qdXBpdGVyLmFuZHJvaWQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Imp1cGl0ZXI6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjY3ZjFlYzQwNGRiZjNiZGRjNTA5YjVmY2Y2MTU4NTBlMDViMjhjMjg3Y2NkNzE2N2I0ZmU4MWI0MjkzYWM5ZGYiOnsiaWQiOiI2N2YxZWM0MDRkYmYzYmRkYzUwOWI1ZmNmNjE1ODUwZTA1YjI4YzI4N2NjZDcxNjdiNGZlODFiNDI5M2FjOWRmIiwibmFtZSI6Ikt1Q29pbiBXZWIzIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cua3Vjb2luLmNvbS9XZWIzIiwiaW1hZ2VfaWQiOiI3MGQ4YTkwYi00NTdiLTRjMDQtNGJjMy03OTFlOTdjYWFiMDAiLCJvcmRlciI6NTAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9jYS9hcHAva3Vjb2luLWJ1eS1iaXRjb2luLWNyeXB0by9pZDEzNzg5NTY2MDEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5rdWJpLmt1Y29pbiZyZWZlcnJlcj1hZl90cmFuaWQlM0RKdkxTWG1VQ255ZHZzeVlVRDhyeUdRJTI2YyUzRCVFNSVBRSU5OCVFNyVCRCU5MSVFNCVCOCU4QiVFOCVCRCVCRCVFOSVBMSVCNSVFOSU5RCVBMkdQJTI2cGlkJTNEJUU1JUFFJTk4JUU3JUJEJTkxJUU0JUI4JThCJUU4JUJEJUJEJUU5JUExJUI1JUU5JTlEJUEyR1AiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Imt1Y29pbjovLy93YWxsZXQvd2FsbGV0Q29ubmVjdCIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMTg0NTA4NzM3Mjc1MDRhZTkzMTVhMDg0ZmE3NjI0YjUyOTdkMmZlNTg4MGYwOTgyOTc5YzE3MzQ1YTEzODI3NyI6eyJpZCI6IjE4NDUwODczNzI3NTA0YWU5MzE1YTA4NGZhNzYyNGI1Mjk3ZDJmZTU4ODBmMDk4Mjk3OWMxNzM0NWExMzgyNzciLCJuYW1lIjoiS3Jha2VuIFdhbGxldCAiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmtyYWtlbi5jb20vd2FsbGV0IiwiaW1hZ2VfaWQiOiI4OTA5ZTgyNi02M2U0LTQyYjMtNjBiMi04YTZhNTQwNjA5MDAiLCJvcmRlciI6NTEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva3Jha2VuLXdhbGxldC9pZDE2MjYzMjcxNDkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5rcmFrZW4uc3VwZXJ3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImtyYWtlbndhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNDRjYTgwYmJhNjgzOGUxMTZlOGQwYTJjMWExZjM3MDQxZWEzMjIzNzljYzY1YTcxNDc5YjZhMjQwYjZmY2FiMiI6eyJpZCI6IjQ0Y2E4MGJiYTY4MzhlMTE2ZThkMGEyYzFhMWYzNzA0MWVhMzIyMzc5Y2M2NWE3MTQ3OWI2YTI0MGI2ZmNhYjIiLCJuYW1lIjoiQ3lwaGVyIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jeXBoZXJocS5pbyIsImltYWdlX2lkIjoiN2JjZTA5NjUtYTRjYy00YWFkLTYyMTctMDA5ZDUxMDE3NTAwIiwib3JkZXIiOjUyMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9jeXBoZXJkLXdhbGxldC9pZDE2MDQxMjA0MTQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jeXBoZXJkLmFuZHJvaWR3YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6IndpbmRvdy5ldGhlcmV1bS5pc0N5cGhlckQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiY3lwaGVyd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAuY3lwaGVyaHEuaW8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjNjMmM5ODVjMGFkZmY2ZjQ2YTBkMGU0NjZiMzkyNGVkOGEwNTkwNDM4ODJjZDE5NDRhZDdmMmFkZjY5N2VkNTQiOnsiaWQiOiIzYzJjOTg1YzBhZGZmNmY0NmEwZDBlNDY2YjM5MjRlZDhhMDU5MDQzODgyY2QxOTQ0YWQ3ZjJhZGY2OTdlZDU0IiwibmFtZSI6ImtsaXAiLCJob21lcGFnZSI6Imh0dHBzOi8va2xpcHdhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiJmN2I2YjJhNi1lYmU3LTQ3NzktNmFkMS03OWEzMTQyZTZiMDAiLCJvcmRlciI6NTMwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20va3IvYXBwL+2BtOumvS1rbGlwL2lkMTYyNzY2NTUyNCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmtsaXB3YWxsZXQuYXBwIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJrbGlwd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9rbGlwd2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZjMyMzYzM2MxZjY3MDU1YTQ1YWFjODRlMzIxYWY2ZmZlNDYzMjJkYTY3N2ZmZGQzMmY5YmMxZTMzYmFmZTI5YyI6eyJpZCI6ImYzMjM2MzNjMWY2NzA1NWE0NWFhYzg0ZTMyMWFmNmZmZTQ2MzIyZGE2NzdmZmRkMzJmOWJjMWUzM2JhZmUyOWMiLCJuYW1lIjoiQ29yZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jb3JlLmFwcC8/dXRtX3NvdXJjZT1yZWZlcnJhbCZ1dG1fbWVkaXVtPXdlYnNpdGUmdXRtX2NhbXBhaWduPXdhbGxldGNvbm5lY3QiLCJpbWFnZV9pZCI6ImFlYzJkYTVjLTg4NjctNGE1My04ZjNkLTRkNTQ3YTMwYjQwMCIsIm9yZGVyIjo1NDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jb3JlLmFwcC8/dXRtX3NvdXJjZT1yZWZlcnJhbCZ1dG1fbWVkaXVtPXdlYnNpdGUmdXRtX2NhbXBhaWduPXdhbGxldGNvbm5lY3QiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9jb3JlLWNyeXB0by13YWxsZXQtbmZ0cy9pZDY0NDM2ODU5OTkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5hdmF4d2FsbGV0JmhsPWVuX1VTJmdsPVVTIiwibWFjIjoiIiwid2luZG93cyI6Imh0dHBzOi8vY29yZS5hcHAvP3V0bV9zb3VyY2U9cmVmZXJyYWwmdXRtX21lZGl1bT13ZWJzaXRlJnV0bV9jYW1wYWlnbj13YWxsZXRjb25uZWN0IiwibGludXgiOiIiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9jb3JlLWNyeXB0by13YWxsZXQtbmZ0LWV4L2Fnb2FrZmVqamFib21lbXBramxlcGRmbGFsZWVvYmhiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc0F2YWxhbmNoZSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImFwcC5jb3JlLmV4dGVuc2lvbiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb3JlOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jb3JlLmFwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6ImNvcmU6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2NvcmUuYXBwLz91dG1fc291cmNlPXJlZmVycmFsJnV0bV9tZWRpdW09d2Vic2l0ZSZ1dG1fY2FtcGFpZ249d2FsbGV0Y29ubmVjdCJ9fSwiMzdhYWNmMWU2YmY2NzkzYzg5MmU0MmMzZjc2MjNhNjFkOWZmY2I0MzM3MDEwODA0Y2MzMTkzYzRkNTk2Y2Y1YyI6eyJpZCI6IjM3YWFjZjFlNmJmNjc5M2M4OTJlNDJjM2Y3NjIzYTYxZDlmZmNiNDMzNzAxMDgwNGNjMzE5M2M0ZDU5NmNmNWMiLCJuYW1lIjoiT2FzeXMgUGFzc3BvcnQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lm9hc3lzLXdhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiI0M2ViMWZiOS1lMGRiLTRjOWItZDg2NC00ZDdmYzVhYmNjMDAiLCJvcmRlciI6NTUwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9qcC9hcHAvb2FzeXMtcGFzc3BvcnQvaWQ2NDQ5OTYwODU0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ub2FzeXNfd2FsbGV0Lm9hc19hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im9hc3lzLXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3Lm9hc3lzLXdhbGxldC5jb20vd2MvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJhNzk3YWEzNWMwZmFkYmZjMWE1M2U3ZjY3NTE2MmVkNTIyNjk2OGI0NGExOWVlM2QyNDM4NWM2NGQxZDNjMzkzIjp7ImlkIjoiYTc5N2FhMzVjMGZhZGJmYzFhNTNlN2Y2NzUxNjJlZDUyMjY5NjhiNDRhMTllZTNkMjQzODVjNjRkMWQzYzM5MyIsIm5hbWUiOiJQaGFudG9tIiwiaG9tZXBhZ2UiOiJodHRwczovL3BoYW50b20uYXBwLyIsImltYWdlX2lkIjoiYjZlYzdiODEtYmI0Zi00MjdkLWUyOTAtNzYzMWU2ZTUwZDAwIiwib3JkZXIiOjU2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3BoYW50b20tY3J5cHRvLXdhbGxldC9pZDE1OTg0MzI5NzciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5waGFudG9tJmhsPWVuIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvcGhhbnRvbS9iZm5hZWxtb21laW1obHBtZ2puam9waGhwa2tvbGpwYSIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL3BoYW50b20tYXBwLyIsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3BoYW50b20vYmZuYWVsbW9tZWltaGxwbWdqbmpvcGhocGtrb2xqcGEiLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzUGhhbnRvbSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9LHsiaW5qZWN0ZWRfaWQiOiJpc1BoYW50b20iLCJuYW1lc3BhY2UiOiJzb2xhbmEifV0sInJkbnMiOiJhcHAucGhhbnRvbSIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMzg2MzM4MzBlZjU3OGExMjQ5YzM0NTg0OGE4ZDY0ODc1NTFhMzQ2YjkyM2QyMWNlMTk3ZWE1N2Y0MjNmMzExMyI6eyJpZCI6IjM4NjMzODMwZWY1NzhhMTI0OWMzNDU4NDhhOGQ2NDg3NTUxYTM0NmI5MjNkMjFjZTE5N2VhNTdmNDIzZjMxMTMiLCJuYW1lIjoiSGFzaFBvcnQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5oYXNocG9ydC5jb20vIiwiaW1hZ2VfaWQiOiIwZDU5NzQ1Yy02MTQ2LTRjODYtMzcxOC1jODQ3ODU1YjdiMDAiLCJvcmRlciI6NTcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9qcC9hcHAvaGFzaHBvcnQtd2FsbGV0L2lkNjQ1MDY2MDk0NyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uaGFzaHBvcnQuaGFzaHdhbGxldCZwY2FtcGFpZ25pZD1wY2FtcGFpZ25pZE1LVC1PdGhlci1nbG9iYWwtYWxsLWNvLXBydG5yLXB5LVBhcnRCYWRnZS1NYXIyNTE1LTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImV4cG8yMDI1LXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluay53YWxsZXQuaGFzaHBvcnQuY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI4YjgzMGEyYjcyNGE5YzNmYmFiNjNhZjZmNTVlZDI5YzlkZmE4YTU1ZTczMmRjODhjODBhMTk2YTJiYTEzNmM2Ijp7ImlkIjoiOGI4MzBhMmI3MjRhOWMzZmJhYjYzYWY2ZjU1ZWQyOWM5ZGZhOGE1NWU3MzJkYzg4YzgwYTE5NmEyYmExMzZjNiIsIm5hbWUiOiJNYWdpYyBFZGVuIiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5tYWdpY2VkZW4uaW8vIiwiaW1hZ2VfaWQiOiI2MjA0MGYyMi0yZmZkLTQ5NDItOTJmYy03MWNlNjhjNjQzMDAiLCJvcmRlciI6NTgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbWFnaWMtZWRlbi13YWxsZXQvaWQ2NDc4NjMxNDgyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubWFnaWNlZGVuLndhbGxldCZobD1lbl9VUz91dG1fc291cmNlPXdlYnNpdGUmdXRtX21lZGl1bT1pbnRlcm5hbCZ1dG1fY2FtcGFpZ249bW9iaWxlLXdhbGxldC1nYSZ1dG1fY29udGVudD1idXR0b24iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL21hZ2ljLWVkZW4td2FsbGV0L21rcGVnamtibGtrZWZhY2ZubWthamNqbWFiaWpoY2xnIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzTWFnaWNFZGVuIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoiaW8ubWFnaWNlZGVuLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJtYWdpY2VkZW46Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjE5ZmNlYTViZGRkYmY1YWJiYjllY2RjYjUzYWNmNmZiMTdkYTIzYWIwOTg0ZWUxZGJlNDg3Njg4ZDhkNGZmZTciOnsiaWQiOiIxOWZjZWE1YmRkZGJmNWFiYmI5ZWNkY2I1M2FjZjZmYjE3ZGEyM2FiMDk4NGVlMWRiZTQ4NzY4OGQ4ZDRmZmU3IiwibmFtZSI6IlRIT1JXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnRob3J3YWxsZXQub3JnLyIsImltYWdlX2lkIjoiNDUxNjViZWEtZmRhZS00NTRlLTdjYWEtMzE2ODFmMjU1MjAwIiwib3JkZXIiOjU5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vY2gvYXBwL3Rob3J3YWxsZXQtZGVmaS13YWxsZXQvaWQxNTkyMDY0MzI0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1kZWZpc3Vpc3NlLnRob3J3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InRob3J3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImRkNDM0NDFhNjM2OGVjOTA0NjU0MGM0NmM1ZmRjNThmNzk5MjZkMTdjZTYxYTE3NjQ0NDU2OGNhN2M5NzBkY2QiOnsiaWQiOiJkZDQzNDQxYTYzNjhlYzkwNDY1NDBjNDZjNWZkYzU4Zjc5OTI2ZDE3Y2U2MWExNzY0NDQ1NjhjYTdjOTcwZGNkIiwibmFtZSI6IkludGVybmV0IE1vbmV5IiwiaG9tZXBhZ2UiOiJodHRwczovL2ludGVybmV0bW9uZXkuaW8iLCJpbWFnZV9pZCI6IjIwNGIyMjQwLTVjZTQtNDk5Ni02ZWM0LWYwNmEyMjcyNjkwMCIsIm9yZGVyIjo2MDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pZDE2NDE3NzEwNDIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5pbnRlcm5ldG1vbmV5d2FsbGV0LmFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2Nra2xoa2FhYmJtZGprYWhpYWFwbGlrcGRkZGtlbmljIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiaW50ZXJuZXRtb25leTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vaW50ZXJuZXRtb25leS5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9pbnRlcm5ldG1vbmV5LmlvIn19LCJmZDIwZGM0MjZmYjM3NTY2ZDgwMzIwNWIxOWJiYzFkNDA5NmIyNDhhYzA0NTQ4ZTNjZmI2YjNhMzhiZDAzM2FhIjp7ImlkIjoiZmQyMGRjNDI2ZmIzNzU2NmQ4MDMyMDViMTliYmMxZDQwOTZiMjQ4YWMwNDU0OGUzY2ZiNmIzYTM4YmQwMzNhYSIsIm5hbWUiOiJCYXNlIChmb3JtZXJseSBDb2luYmFzZSBXYWxsZXQpIiwiaG9tZXBhZ2UiOiJodHRwczovL2Jhc2UuYXBwIiwiaW1hZ2VfaWQiOiIwNGM4OGJmMC1mMTE1LTQ2ODYtOGMyOS05MGEzZDAxOGE0MDAiLCJvcmRlciI6NjEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMjc4MzgzNDU1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcudG9zaGkiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9jb2luYmFzZS13YWxsZXQtZXh0ZW5zaW9uL2huZmFua25vY2Zlb2ZiZGRnY2lqbm1obmZua2RuYWFkP2hsPWVuIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzQ29pbmJhc2VXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJjb20uY29pbmJhc2Uud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJiYzk0OWM1ZDk2OGFlODEzMTAyNjhiZjkxOTNmOWM5ZmI3YmI0ZTEyODNlMTI4NGFmOGYyYmQ0OTkyNTM1ZmQ2Ijp7ImlkIjoiYmM5NDljNWQ5NjhhZTgxMzEwMjY4YmY5MTkzZjljOWZiN2JiNGUxMjgzZTEyODRhZjhmMmJkNDk5MjUzNWZkNiIsIm5hbWUiOiJBcmdlbnQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmFyZ2VudC54eXoiLCJpbWFnZV9pZCI6IjIxNTE1OGQyLTYxNGItNDljOS00MTBmLTc3YWE2NjFjMzkwMCIsIm9yZGVyIjo2MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hcmdlbnQtZGVmaS1pbi1hLXRhcC9pZDEzNTg3NDE5MjYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWltLmFyZ2VudC5jb250cmFjdHdhbGxldGNsaWVudCZobD1lbiZnbD1VUyZwbGk9MSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYXJnZW50Oi8vYXBwLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LmFyZ2VudC54eXovYXBwIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZjViNGVlYjYwMTVkNjZiZTNmNTk0MGE4OTVjYmFhNDllZjM0MzllNTE4Y2Q3NzEyNzBlNmI1NTNiNDhmMzFkMiI6eyJpZCI6ImY1YjRlZWI2MDE1ZDY2YmUzZjU5NDBhODk1Y2JhYTQ5ZWYzNDM5ZTUxOGNkNzcxMjcwZTZiNTUzYjQ4ZjMxZDIiLCJuYW1lIjoiTUVXIHdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9tZXd3YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiJlMjAyNDUxMS0yYzliLTQ2ZDctMzExMS01MmRmM2QyNDE3MDAiLCJvcmRlciI6NjMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vZG93bmxvYWQubWV3d2FsbGV0LmNvbS8/c291cmNlPXdjIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQxNDY0NjE0MDI1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubXlldGhlcndhbGxldC5tZXd3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2lkMTQ2NDYxNDAyNSIsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNNRVd3YWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJtZXd3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL21ld3dhbGxldC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vZG93bmxvYWQubWV3d2FsbGV0LmNvbS8/c291cmNlPXdjIn19LCI2YWRiNjA4MmM5MDk5MDFiOWU3MTg5YWYzYTRhMDIyMzEwMmNkNmY4ZDVjMzllMzlmM2Q0OWFjYjkyYjU3OGJiIjp7ImlkIjoiNmFkYjYwODJjOTA5OTAxYjllNzE4OWFmM2E0YTAyMjMxMDJjZDZmOGQ1YzM5ZTM5ZjNkNDlhY2I5MmI1NzhiYiIsIm5hbWUiOiJLZXBsciIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rZXBsci5hcHAiLCJpbWFnZV9pZCI6Ijc1MGUwZjEwLTA3MDAtNGNhNS03YzBkLWI0YTU1ZGE3MmYwMCIsIm9yZGVyIjo2NDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQua2VwbHIuYXBwIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva2VwbHItd2FsbGV0L2lkMTU2Nzg1MTA4OSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNoYWluYXBzaXMua2VwbHImaGw9ZW4mZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9rZXBsci9kbWthbWNrbm9na2djZGZoaGJkZGNnaGFjaGtlamVhcD9obD1lbiIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL2tlcGxyLyIsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vbWljcm9zb2Z0ZWRnZS5taWNyb3NvZnQuY29tL2FkZG9ucy9kZXRhaWwva2VwbHIvb2NvZGdtbWZmYmtrZWVjbWFkY2lqamhrbWVvaGluZWkiLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiYXBwLmtlcGxyIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImtlcGxyd2FsbGV0Oi8vd2NWMiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGVlcGxpbmsua2VwbHIuYXBwLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmtlcGxyLmFwcCJ9fSwiMWNhMGJkZDQ3NDc1Nzg3MDViMTkzOWFmMDIzZDEyMDY3N2M2NGZlNmNhNzZhZGQ4MWZkYTM2ZTM1MDYwNWU3OSI6eyJpZCI6IjFjYTBiZGQ0NzQ3NTc4NzA1YjE5MzlhZjAyM2QxMjA2NzdjNjRmZTZjYTc2YWRkODFmZGEzNmUzNTA2MDVlNzkiLCJuYW1lIjoiU29sZmxhcmUiLCJob21lcGFnZSI6Imh0dHBzOi8vc29sZmxhcmUuY29tLyIsImltYWdlX2lkIjoiMzRjMGUzOGQtNjZjNC00NzBlLTFhZWQtYTZmYWJlMmQxZTAwIiwib3JkZXIiOjY1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvc29sZmxhcmUtd2FsbGV0L2JoaGhsYmVwZGtiYXBhZGpkbm5vamtiZ2lvaW9kYmljIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6InNvbGZsYXJlIiwibmFtZXNwYWNlIjoic29sYW5hIn1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjc2NzRiYjRlMzUzYmY1Mjg4Njc2OGEzZGRjMmE0NTYyY2UyZjQxOTFjODA4MzEyOTEyMThlYmQ5MGY1ZjVlMjYiOnsiaWQiOiI3Njc0YmI0ZTM1M2JmNTI4ODY3NjhhM2RkYzJhNDU2MmNlMmY0MTkxYzgwODMxMjkxMjE4ZWJkOTBmNWY1ZTI2IiwibmFtZSI6Ik1hdGhXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbWF0aHdhbGxldC5vcmcvIiwiaW1hZ2VfaWQiOiIyNmE4ZjU4OC0zMjMxLTQ0MTEtNjBjZS01YmI2YjgwNWE3MDAiLCJvcmRlciI6NjYwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL21hdGgtd2FsbGV0L2FmYmNianBicGZhZGxrbWhtY2xoa2Vlb2RtYW1jZmxjIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbWF0aHdhbGxldDUvaWQxNTgyNjEyMzg4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubWF0aHdhbGxldC5hbmRyb2lkIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvbWF0aC13YWxsZXQvYWZiY2JqcGJwZmFkbGttaG1jbGhrZWVvZG1hbWNmbGMiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOiJodHRwczovL21pY3Jvc29mdGVkZ2UubWljcm9zb2Z0LmNvbS9hZGRvbnMvZGV0YWlsL21hdGgtd2FsbGV0L2RmZWNjYWRsaWxwbmRqam9oYmpkYmxlcG1qZWFobG1tIiwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc01hdGhXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJtYXRod2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cubWF0aHdhbGxldC5vcmcifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL21hdGgtd2FsbGV0L2FmYmNianBicGZhZGxrbWhtY2xoa2Vlb2RtYW1jZmxjIn19LCJiYjcxYjU0Y2VkNjJhYTExZjc2ZTRmM2VkYWNiMzdhNDEzMDA4MDc1MDZkYjg0MGI5OGI3NDAzNzlmOTljYzcxIjp7ImlkIjoiYmI3MWI1NGNlZDYyYWExMWY3NmU0ZjNlZGFjYjM3YTQxMzAwODA3NTA2ZGI4NDBiOThiNzQwMzc5Zjk5Y2M3MSIsIm5hbWUiOiJQaW50dSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9waW50dS5jby5pZC8iLCJpbWFnZV9pZCI6ImI5YzVkZmQ2LWNhMjYtNDZjMi1iYzc5LWJjMjU3MDQ5NTgwMCIsIm9yZGVyIjo2NzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9waW50dS5jby5pZC8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2lkL2FwcC9waW50dS1idXktaW52ZXN0LWNyeXB0by9pZDE0OTQxMTk2NzgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS52YWxhci5waW50dSZobD1lbiZnbD1VUyIsIm1hYyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vaWQvYXBwL3BpbnR1LWJ1eS1pbnZlc3QtY3J5cHRvL2lkMTQ5NDExOTY3OCIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InBpbnR1Oi8vd2ViM3dhbGxldCIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3BpbnR1LmNvLmlkLyJ9fSwiZjM4NGY0ZTkyNzRjNmUxNWVlMWZkNmY5NmEwMGFlMjJiYjdkZTAwNTNkZjhmYmQzZmNmMDQ1N2RlNDgwYmU5NiI6eyJpZCI6ImYzODRmNGU5Mjc0YzZlMTVlZTFmZDZmOTZhMDBhZTIyYmI3ZGUwMDUzZGY4ZmJkM2ZjZjA0NTdkZTQ4MGJlOTYiLCJuYW1lIjoiQ29pbiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vY29pbi5zcGFjZSIsImltYWdlX2lkIjoiZjU1MGJjYjEtNzJhOS00ZTAwLTI2OGUtM2U1NDNhMjNiNjAwIiwib3JkZXIiOjY4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2NvaW4uc3BhY2Uvd2FsbGV0LyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2NvaW4td2FsbGV0LWJpdGNvaW4tY3J5cHRvL2lkOTgwNzE5NDM0P3BsYXRmb3JtPWlwaG9uZSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNvaW5zcGFjZS5hcHAiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9jb2luLXdhbGxldC1iaXRjb2luLWNyeXB0by9pZDk4MDcxOTQzND9wbGF0Zm9ybT1tYWMiLCJ3aW5kb3dzIjoiaHR0cHM6Ly93d3cubWljcm9zb2Z0LmNvbS9zdG9yZS9hcHBzLzlOQkxHR0g1UFhKUSIsImxpbnV4IjoiaHR0cHM6Ly9zbmFwY3JhZnQuaW8vY29pbiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jb2luLnNwYWNlL3dhbGxldC8ifX0sIjc2YTNkNTQ4YTA4Y2Y0MDJmNWM3ZDAyMWYyNGZkMjg4MWQ3NjcwODRiMzg3YTUzMjVkZjg4YmMzZDRiNmYyMWIiOnsiaWQiOiI3NmEzZDU0OGEwOGNmNDAyZjVjN2QwMjFmMjRmZDI4ODFkNzY3MDg0YjM4N2E1MzI1ZGY4OGJjM2Q0YjZmMjFiIiwibmFtZSI6IkxPQlNUUiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbG9ic3RyLmNvLyIsImltYWdlX2lkIjoiMGRhZmNhYWItMDg1Mi00N2Y3LTg1ZGQtNDM2Yjg2NDkxZDAwIiwib3JkZXIiOjY5MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2xvYnN0ci5jby8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9sb2JzdHItc3RlbGxhci13YWxsZXQvaWQxNDA0MzU3ODkyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubG9ic3RyLmNsaWVudCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibG9ic3RyOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9sb2JzdHIuY28vdW5pL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2xvYnN0ci5jby8ifX0sImM4N2M1NjJjZTdmM2EzZmY5ZjRlZWQ1ZjVhMGVkYmNiZDgxMmRiNWFlZDRkMTRjN2U2YzA0NGQ4YjY3OTVkODQiOnsiaWQiOiJjODdjNTYyY2U3ZjNhM2ZmOWY0ZWVkNWY1YTBlZGJjYmQ4MTJkYjVhZWQ0ZDE0YzdlNmMwNDRkOGI2Nzk1ZDg0IiwibmFtZSI6Ik9wZXJhIENyeXB0byBCcm93c2VyIiwiaG9tZXBhZ2UiOiJodHRwOi8vb3BlcmEuY29tIiwiaW1hZ2VfaWQiOiI4NzdmYTFhNC0zMDRkLTRkNDUtY2E4ZS1mNzZkMWE1NTZmMDAiLCJvcmRlciI6NzAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaXR1bmVzLXUvaWQxNjA0MzExNzI2P2FjdGlvbj13cml0ZS1yZXZpZXciLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL3d3dy5vcGVyYS5jb20vY3J5cHRvL25leHQiLCJmaXJlZm94IjoiaHR0cHM6Ly93d3cub3BlcmEuY29tL2NyeXB0by9uZXh0Iiwic2FmYXJpIjoiaHR0cHM6Ly93d3cub3BlcmEuY29tL2NyeXB0by9uZXh0IiwiZWRnZSI6Imh0dHBzOi8vd3d3Lm9wZXJhLmNvbS9jcnlwdG8vbmV4dCIsIm9wZXJhIjoiaHR0cHM6Ly93d3cub3BlcmEuY29tL2NyeXB0by9uZXh0In0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzT3BlcmEiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjcnlwdG9icm93c2VyOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJkMDFjNzc1OGQ3NDFiMzYzZTYzN2E4MTdhMDliY2Y1NzlmZWFlNGRiOWY1YmIxNmY1OTlmZGQxZjY2ZTJmOTc0Ijp7ImlkIjoiZDAxYzc3NThkNzQxYjM2M2U2MzdhODE3YTA5YmNmNTc5ZmVhZTRkYjlmNWJiMTZmNTk5ZmRkMWY2NmUyZjk3NCIsIm5hbWUiOiJWYWxvcmEiLCJob21lcGFnZSI6Imh0dHBzOi8vdmFsb3JhYXBwLmNvbSIsImltYWdlX2lkIjoiYTAzYmZhNDQtY2U5OC00ODgzLTliMmEtNzVlMmI2OGY1NzAwIiwib3JkZXIiOjcxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2lkMTUyMDQxNDI2MyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y28uY2xhYnMudmFsb3JhIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjZWxvOi8vd2FsbGV0IiwidW5pdmVyc2FsIjoiaHR0cHM6Ly92YWxvcmFhcHAuY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZmY5N2FmMGFkNWZjYTE2MjU1M2ViYmQ3NmYyNTY0YjdmN2IwNDU2OWMxMzFlOTcyYjc1YmJmZjJkYzEzYzFhOSI6eyJpZCI6ImZmOTdhZjBhZDVmY2ExNjI1NTNlYmJkNzZmMjU2NGI3ZjdiMDQ1NjljMTMxZTk3MmI3NWJiZmYyZGMxM2MxYTkiLCJuYW1lIjoiQ29iYWx0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuaG9yaXplbi5pbyIsImltYWdlX2lkIjoiMjlkOTE0ZTUtOWRhYS00MzQyLTMzY2QtMTY5MTU1YzVhNjAwIiwib3JkZXIiOjcyMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9jb2JhbHQvaGVrYmpnZm5jYWNkaW5sYWpoZ2lha3BhaWVhanBmcGgvcmVsYXRlZCIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvY29iYWx0L2hla2JqZ2ZuY2FjZGlubGFqaGdpYWtwYWllYWpwZnBoL3JlbGF0ZWQiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaG9yaXplbiIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2NvYmFsdC9oZWtiamdmbmNhY2RpbmxhamhnaWFrcGFpZWFqcGZwaC9yZWxhdGVkIn19LCI3MGQwOWNhM2Y2MTZiY2IxNDg4NTQyODMwMDU1ZWM4MmQyNzBjZTE3OTg2YTk3YjFmNzJmMTVhNmFmOWYwYjNmIjp7ImlkIjoiNzBkMDljYTNmNjE2YmNiMTQ4ODU0MjgzMDA1NWVjODJkMjcwY2UxNzk4NmE5N2IxZjcyZjE1YTZhZjlmMGIzZiIsIm5hbWUiOiJDaGFpbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jaGFpbi5jb20iLCJpbWFnZV9pZCI6ImY5ZjNkOGRhLWU3OTEtNDdkMi05OGMyLTAzMTcxMjYxN2UwMCIsIm9yZGVyIjo3MzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pZDY0NDQ3NzkyNzciLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNoYWluYXBwOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJiM2FkZWE2YzBiOTE3MmM0YTQ5ZGEzMWQyNjRhN2M0YWFjZDcwZWEwNGY2YWY4ZTg5NzdlY2I5NzQyOThiMTNjIjp7ImlkIjoiYjNhZGVhNmMwYjkxNzJjNGE0OWRhMzFkMjY0YTdjNGFhY2Q3MGVhMDRmNmFmOGU4OTc3ZWNiOTc0Mjk4YjEzYyIsIm5hbWUiOiJVbnN0b3BwYWJsZSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdW5zdG9wcGFibGUubW9uZXkvIiwiaW1hZ2VfaWQiOiJhNjNjYmZjZS0wNzI2LTRmOTQtOTE4Ny1hNzYxYWZiOTQ0MDAiLCJvcmRlciI6NzQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdW5zdG9wcGFibGUtY3J5cHRvLXdhbGxldC9pZDE0NDc2MTk5MDciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLmhvcml6b250YWxzeXN0ZW1zLmJhbmt3YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ1bnN0b3BwYWJsZS5tb25leTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZDlmNTQzMmU5MzJjNmZhZDhlMTlhMGNlYTlkNGEzMzcyYTg0YWVkMTZlOThhNTJlNjY1NWRkMjgyMWE2MzQwNCI6eyJpZCI6ImQ5ZjU0MzJlOTMyYzZmYWQ4ZTE5YTBjZWE5ZDRhMzM3MmE4NGFlZDE2ZTk4YTUyZTY2NTVkZDI4MjFhNjM0MDQiLCJuYW1lIjoiSm9leSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vam9leXdhbGxldC54eXovIiwiaW1hZ2VfaWQiOiJlZWZlNDVlOC0wYTVlLTQyMWMtMjlkMC1mZDgxOTFlN2U2MDAiLCJvcmRlciI6NzYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvam9leS13YWxsZXQvaWQ2NzQ1NDE1OTExIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD14eXouam9leXdhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiam9leTovL3NldHRpbmdzIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIzMmNhZmY4NTE5NWY4NDNiMTllNzk2NjllNjNiZjNmNGFkOTdiMjNiM2E0OGI2NWIzNzgxYzBkMTkzYTNmY2FlIjp7ImlkIjoiMzJjYWZmODUxOTVmODQzYjE5ZTc5NjY5ZTYzYmYzZjRhZDk3YjIzYjNhNDhiNjViMzc4MWMwZDE5M2EzZmNhZSIsIm5hbWUiOiJDYWtlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jYWtld2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6ImIwNWFmMjViLWZhNGQtNGY5MS1hNGNiLTJmOGY3ZDU0NDAwMCIsIm9yZGVyIjo3NzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvY2FrZS13YWxsZXQvaWQxMzM0NzAyNTQyP3BsYXRmb3JtPWlwaG9uZSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNha2V3YWxsZXQuY2FrZV93YWxsZXQiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9jYWtlLXdhbGxldC9pZDEzMzQ3MDI1NDI/cGxhdGZvcm09bWFjIiwid2luZG93cyI6IiIsImxpbnV4IjoiaHR0cHM6Ly9naXRodWIuY29tL2Nha2UtdGVjaC9jYWtlX3dhbGxldC9yZWxlYXNlcy90YWcvdjQuMTAuMCIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY2FrZXdhbGxldDovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiNDhlMTFlMGRlMDQ0ODE0N2JlMzRlMGNjY2RlYjg0ZTkwZTczNTVlN2YwMWY2ZjJiYzVhMzFhZDczYTE4NDk4NSI6eyJpZCI6IjQ4ZTExZTBkZTA0NDgxNDdiZTM0ZTBjY2NkZWI4NGU5MGU3MzU1ZTdmMDFmNmYyYmM1YTMxYWQ3M2ExODQ5ODUiLCJuYW1lIjoiWEVORUEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3hlbmVhLmlvLyIsImltYWdlX2lkIjoiYTdmMDZkOGMtMzE5Ni00MmM5LWJjYjMtNDEwZDI2MGUzZDAwIiwib3JkZXIiOjc4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3hlbmVhLXdhbGxldC9pZDY2MzY1MjAwMjciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS54ZW5lYS53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InhlbmVhOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly94ZW5lYS5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIxM2UwY2Q5YzA4YzNiNTc4ODAzMGFiY2U1MzM3ZTJhY2FhYmEyNTliYzkzZjI3OTMzMjIwMmQ0MDc4YmU4ZjU4Ijp7ImlkIjoiMTNlMGNkOWMwOGMzYjU3ODgwMzBhYmNlNTMzN2UyYWNhYWJhMjU5YmM5M2YyNzkzMzIyMDJkNDA3OGJlOGY1OCIsIm5hbWUiOiJKYWRlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuamFkZXdhbGxldC5pby8iLCJpbWFnZV9pZCI6IjI4MGNkNTdiLTI0ZjQtNDcwMC04ZDUzLTk0ZmUyOTJmYWIwMCIsIm9yZGVyIjo3OTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9qYWRlLXdhbGxldC1iaXRjb2luLWRlZmkvaWQxNTQ0MjA3NDkyIiwiYW5kcm9pZCI6bnVsbCwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImRjYjVjZDdiYjRhODg0OTI4OGY4YjQzZGVhN2JmMjBkN2I3ZTJiMDk2YjYzMDk2NGY5Y2E1YmY4MDg1MzFlZGQiOnsiaWQiOiJkY2I1Y2Q3YmI0YTg4NDkyODhmOGI0M2RlYTdiZjIwZDdiN2UyYjA5NmI2MzA5NjRmOWNhNWJmODA4NTMxZWRkIiwibmFtZSI6IkdlbSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZ2Vtd2FsbGV0LmNvbSIsImltYWdlX2lkIjoiMjhmMWI0MzEtOWQyYS00MDgzLTFiZjgtNTk1ODkzOWEyMzAwIiwib3JkZXIiOjgwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkNjQ0ODcxMjY3MD9tdD04IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZ2Vtd2FsbGV0LmFuZHJvaWQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImdlbTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ2Vtd2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiYzQwYzI0YjM5NTAwOTAxYTMzMGEwMjU5Mzg1NTJkNzBkZWY0ODkwZmZmZTliZDMxNTA0NmJkMzNhMmVjZTI0ZCI6eyJpZCI6ImM0MGMyNGIzOTUwMDkwMWEzMzBhMDI1OTM4NTUyZDcwZGVmNDg5MGZmZmU5YmQzMTUwNDZiZDMzYTJlY2UyNGQiLCJuYW1lIjoiS2FiaWxhIiwiaG9tZXBhZ2UiOiJodHRwczovL2thYmlsYS5hcHAvZG9jcy9rYWJpbGEtd2FsbGV0IiwiaW1hZ2VfaWQiOiJmMWU2YzJmMy0yOWQ4LTRmMzMtOTdlZC1lOGVkMDY3YjcyMDAiLCJvcmRlciI6ODEwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZXMvYXBwL2thYmlsYS13YWxsZXQvaWQ2NDY3MTA2NTI5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD13YWxsZXQua2FiaWxhLmFwcCZobD1lc180MTkmZ2w9VVMiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL2thYmlsYS13YWxsZXQvY25vZXBubGpqY2FjbW5qbm9wYmhqZWxwbWZva3Bpam0iLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiYXBwLmthYmlsYS53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoia2FiaWxhLXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmthYmlsYS5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5rYWJpbGEuYXBwIn19LCJjNWJiYThhZjAxMmIyMTM5YzQwNmNjNjY3YTdiNjdhMTUwM2Q5ODRhZWIwY2RkMmVmMDJlNjY3YzRhYmJhNmZlIjp7ImlkIjoiYzViYmE4YWYwMTJiMjEzOWM0MDZjYzY2N2E3YjY3YTE1MDNkOTg0YWViMGNkZDJlZjAyZTY2N2M0YWJiYTZmZSIsIm5hbWUiOiJNb2R1bGFyIFdhbGxldCBQcm9kIiwiaG9tZXBhZ2UiOiJodHRwczovL21vZHVsYXIucGsiLCJpbWFnZV9pZCI6IjcwNDg1ZGEyLTI1NjgtNDYzZC03MjJjLTI1MDgyOTk3Y2MwMCIsIm9yZGVyIjo4MjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9tb2R1bGFyLnBrIiwiaW9zIjoiaHR0cHM6Ly90ZXN0ZmxpZ2h0LmFwcGxlLmNvbS9qb2luL1piZjZ3WmFQIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubW9kdWxhciIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibW9kdWxhcndhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL21vZHVsYXIucGsifX0sIjNjNTYwMmFjOGUwNDBjNmRmZTI2YWFkMWIxODNhODQ4Zjg2NDg2MDk0ZDE4YzhhNWUxOTk5M2Q5Yzg3Y2E1MmYiOnsiaWQiOiIzYzU2MDJhYzhlMDQwYzZkZmUyNmFhZDFiMTgzYTg0OGY4NjQ4NjA5NGQxOGM4YTVlMTk5OTNkOWM4N2NhNTJmIiwibmFtZSI6Ik51bWlvIiwiaG9tZXBhZ2UiOiJodHRwczovL251bWlvLm9uZSIsImltYWdlX2lkIjoiNDE2ZWU0NjMtNjY5OS00M2Y3LWMwZTMtMzk2ZjBhZDNkMzAwIiwib3JkZXIiOjgzMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL251bWlvLm9uZSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL251bWlvLWV0aGVyZXVtLXdhbGxldC1kZWZpL2lkMTUzODA3Mjk1MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm51bWlvLnBheSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9udW1pby5vbmUifX0sIjFjZjRjMWZjZjZiZWE3MGE3OGUyODUxODY5OGI4YTEwNjM2YzAzMDVkZDBkMjQ0NjMwMjFkODVlNzFmMjE4NDEiOnsiaWQiOiIxY2Y0YzFmY2Y2YmVhNzBhNzhlMjg1MTg2OThiOGExMDYzNmMwMzA1ZGQwZDI0NDYzMDIxZDg1ZTcxZjIxODQxIiwibmFtZSI6IlhvdmEiLCJob21lcGFnZSI6Imh0dHBzOi8veG92YXdhbGxldC5jb20iLCJpbWFnZV9pZCI6ImJmNmM4ODFlLTFjZWEtNDM5Mi02YzlkLWNjM2JhNDI2ZDIwMCIsIm9yZGVyIjo4NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC94b3ZhL2lkNjc1MTE2MDI1MSIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoieG92YTovL3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly94b3ZhLmNvbS93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiNzhiN2RhOWZlM2I4MjRlMmFlY2U4NzdkY2QzYTNjZDBhN2Y3OTdjZTAwY2UyYzYyODlhOGFjMGU3MzA5YjMyZSI6eyJpZCI6Ijc4YjdkYTlmZTNiODI0ZTJhZWNlODc3ZGNkM2EzY2QwYTdmNzk3Y2UwMGNlMmM2Mjg5YThhYzBlNzMwOWIzMmUiLCJuYW1lIjoiRnJlZWRvbSBXb3JsZCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9mcmVlZG9tLndvcmxkL3dhbGxldCIsImltYWdlX2lkIjoiY2ZlYmEwMjAtM2E0NS00YzQyLWUyY2EtN2MyNzIwYjE2YzAwIiwib3JkZXIiOjg1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdGgvYXBwL2ZyZWVkb20td2FsbGV0L2lkMTYwNjkzNjA3MyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJpdGF6emEuZnJlZWRvbS53YWxsZXQmaGw9ZW4mZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImZyZWVkb20td2FsbGV0Oi8vZnJlZWRvbS53b3JsZC8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2ZyZWVkb20ud29ybGQvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJjZTAyZjFhZTc0Njg2MjM0ZWFiZmE3ZDMxODc2YzQ0Mjc3OWI3MzBkZmU3OTI0YTNjYTBlNjU1OWE3YWZhMzBmIjp7ImlkIjoiY2UwMmYxYWU3NDY4NjIzNGVhYmZhN2QzMTg3NmM0NDI3NzliNzMwZGZlNzkyNGEzY2EwZTY1NTlhN2FmYTMwZiIsIm5hbWUiOiJDcmVkaXQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2FwcC5jcmVkaXRjb2luLm9yZyIsImltYWdlX2lkIjoiY2Y2MDY2NTAtNDE1Zi00ZTdmLWE0NWQtZmQ2YjE2NzY5NDAwIiwib3JkZXIiOjg2MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hcHBsZS1zdG9yZS9pZDY0Nzg0OTEyNzIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jcmVkaXRjb2luLm1vYmlsZSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiY3JlZGl0d2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJlMDUzNzE4ZTNlOTY4YjA4NWEwYWU1ZDExY2UxYzNkNzRiYTY5MThjMjczMTljNzBmYzM1OGE0ODEzOGE1Y2M0Ijp7ImlkIjoiZTA1MzcxOGUzZTk2OGIwODVhMGFlNWQxMWNlMWMzZDc0YmE2OTE4YzI3MzE5YzcwZmMzNThhNDgxMzhhNWNjNCIsIm5hbWUiOiJ0b21pIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly90b21pLmNvbS93YWxsZXQiLCJpbWFnZV9pZCI6ImUwNTkyYTBlLTE5MDktNGE3My03OTU1LTJkYmY5Y2FhYzIwMCIsIm9yZGVyIjo4NzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC90b21pcGF5LWRpZ2l0YWwtcGF5bWVudC1zeXN0ZW0vaWQxNjQzNTAxNDQwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udG9taWFwcC5wcm9kdWN0aW9uIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvdG9taXBheS9mZW9vamxiY2xjbGFvaWZqaWVkZWVlbmhsZGxlbm9wbCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc3RvbWlQQVkiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0b21pd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI2NTc3YjdjOTE0NTNhNzA0N2YxYzMxYzU4OTdiZDU5MDg3YThjY2EzNTE4MWUwNjk2NTYwNzkyNTU1NDJhYmI0Ijp7ImlkIjoiNjU3N2I3YzkxNDUzYTcwNDdmMWMzMWM1ODk3YmQ1OTA4N2E4Y2NhMzUxODFlMDY5NjU2MDc5MjU1NTQyYWJiNCIsIm5hbWUiOiJTYWJheSBXYWxsZXQgQXBwIiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5zYWJheS5jb20iLCJpbWFnZV9pZCI6ImM0ZGY3MDE0LWFiYWYtNDAxNi04MTgwLWZiOTk0ODA0YjQwMCIsIm9yZGVyIjo4ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2toL2FwcC9zYWJheS13YWxsZXQvaWQ2NDQ5MzQxMzA5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1raC5jb20uc2FiYXkuc2FiYXl3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im15QXBwOi8va2guY29tLnNhYmF5LnNhYmF5d2FsbGV0IiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJkYWIzM2RhYzIyN2FhZDU3NDA4NTZjYjBhMmQ4NGRkMjdmY2YzMTFjYTBiM2ZkNzYxMmZlYzA0MWZiYmI0ZDQzIjp7ImlkIjoiZGFiMzNkYWMyMjdhYWQ1NzQwODU2Y2IwYTJkODRkZDI3ZmNmMzExY2EwYjNmZDc2MTJmZWMwNDFmYmJiNGQ0MyIsIm5hbWUiOiJTd2VhdCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vc3dlLmF0IiwiaW1hZ2VfaWQiOiJkZjI5NWFmYS0yNTNkLTRkYjktZmU5NC00ZmQ3MGMwYjM1MDAiLCJvcmRlciI6ODkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc3dlYXQtd2FsbGV0LXdhbGstaW50by1jcnlwdG8vaWQxNjE5MzE2NTcxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uc3dlYXR3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InN3ZWF0Oi8vLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LnN3ZWF0ZWNvbm9teS5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjQzZmQxYTBhZWI5MGRmNTNhZGUwMTJjY2EzNjY5MmE0NmQyNjVmMGI5OWI3NTYxZTY0NWFmNDJkNzUyZWRiOTIiOnsiaWQiOiI0M2ZkMWEwYWViOTBkZjUzYWRlMDEyY2NhMzY2OTJhNDZkMjY1ZjBiOTliNzU2MWU2NDVhZjQyZDc1MmVkYjkyIiwibmFtZSI6Ik5vdmEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL25vdmF3YWxsZXQuaW8iLCJpbWFnZV9pZCI6IjRmMTU5YjEwLTQxOWItNDgzYS1mMmJmLWRhM2QxNzg1NWUwMCIsIm9yZGVyIjo5MDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9ub3ZhLXBvbGthZG90LWt1c2FtYS13YWxsZXQvaWQxNTk3MTE5MzU1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5ub3ZhZm91bmRhdGlvbi5ub3ZhLm1hcmtldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibm92YXdhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZmRmYmJkMDRiYjM4NzFiZDc4NTNmMzQzMDgxMjc1ZWRhYjk5OWU1NTczYzYzYzJjNjRjMGNhZjczZGY1MWQxZiI6eyJpZCI6ImZkZmJiZDA0YmIzODcxYmQ3ODUzZjM0MzA4MTI3NWVkYWI5OTllNTU3M2M2M2MyYzY0YzBjYWY3M2RmNTFkMWYiLCJuYW1lIjoiTm92YSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9uc2hpZWxkLm9yZyIsImltYWdlX2lkIjoiNDQyZTE1ZjUtZDU5Ni00ZWY1LWU2MDktNmExYzYzNDhlNDAwIiwib3JkZXIiOjkxMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9ub3ZhLWZvci1zb2xhbmEvaWQ2NzUzODU3NzIwIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoibm92YTovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZGFjZjlmNzUwZTU3OWU3YWE5M2E3NTIxMTdmYjM4NzBhNWJmYzJlOTY3NDQxYjQ3N2NlZjVlNmYxNDU4ZTMzZCI6eyJpZCI6ImRhY2Y5Zjc1MGU1NzllN2FhOTNhNzUyMTE3ZmIzODcwYTViZmMyZTk2NzQ0MWI0NzdjZWY1ZTZmMTQ1OGUzM2QiLCJuYW1lIjoiVG9rb2luIHwgTXktVCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdG9rb2luLmlvIiwiaW1hZ2VfaWQiOiI4OGEyNTE4Yy0xNmMyLTRlZTMtNDY5OS0xYTFjNjkwM2JjMDAiLCJvcmRlciI6OTMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9teS9hcHAvdG9rb3cvaWQxNDg5Mjc2MTc1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udG9rb2luLndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im10d2FsbGV0Oi8vYXBwIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI5NDE0ZDVhODVjOGY0ZWFiYzFiNWIxNWViZTBjZDM5OWUxYTJhOWQzNTY0M2FiMGFkMjJhNmU0YTMyZjU5NmYwIjp7ImlkIjoiOTQxNGQ1YTg1YzhmNGVhYmMxYjViMTVlYmUwY2QzOTllMWEyYTlkMzU2NDNhYjBhZDIyYTZlNGEzMmY1OTZmMCIsIm5hbWUiOiJaZW5nbyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vemVuZ28uY29tLyIsImltYWdlX2lkIjoiNjEzM2MzOTktYWUzMi00ZWJhLTBjNWEtMGZiODQ0OTJiZjAwIiwib3JkZXIiOjk0MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dlYi56ZW5nby5jb20vIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvemVuZ28tY3J5cHRvLWJpdGNvaW4td2FsbGV0L2lkMTQ0MDE0NzExNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnplbmdvLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiemVuZ286Ly9nZXQuemVuZ28uY29tLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ2V0LnplbmdvLmNvbS8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2ViLnplbmdvLmNvbS8ifX0sImI2MzI5YWY3OGIxMTcxOWRlNTJjYTA0MjZmYjUwZDY0YjliOTY1MzM1ZmM1M2RhZmVkOTk0ZWMyMjY4MDYxNGUiOnsiaWQiOiJiNjMyOWFmNzhiMTE3MTlkZTUyY2EwNDI2ZmI1MGQ2NGI5Yjk2NTMzNWZjNTNkYWZlZDk5NGVjMjI2ODA2MTRlIiwibmFtZSI6Ikltb3RhICIsImhvbWVwYWdlIjoiaHR0cHM6Ly9pbW90YS5pbyIsImltYWdlX2lkIjoiYzgxZjViYmYtY2U2Ni00MmJkLTM0MzYtZjFiYWFhYTE4YjAwIiwib3JkZXIiOjk1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdm4vYXBwL2ltb3RhL2lkNjQ0NDMyNzIwNCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm5mdDUuaW1vdGEmaGw9ZW4mZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIwNTNhYzBhYzYwMmUwOTY5NzM2OTQxY2Y1YWEwN2EzYWY1NzM5NmQ0NjAxY2I1MjFhMTczYTYyNmUxMDE1ZmIxIjp7ImlkIjoiMDUzYWMwYWM2MDJlMDk2OTczNjk0MWNmNWFhMDdhM2FmNTczOTZkNDYwMWNiNTIxYTE3M2E2MjZlMTAxNWZiMSIsIm5hbWUiOiLOsVUgd2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dlYi53YWxsZXQuYWxwaGEtdS5pby9pbnRyby5odG1sIiwiaW1hZ2VfaWQiOiI0MDQ4OWJhMS02ZWIwLTQ5YTEtYTlkNC00MzlmZWZlNTIwMDAiLCJvcmRlciI6OTYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9qcC9hcHAvJUNFJUIxdS13YWxsZXQvaWQ2NDQ0NDAxMTA2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ua2RkaS53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJub3RoaW5nIiwiZmlyZWZveCI6Im5vdGhpbmciLCJzYWZhcmkiOiJub3RoaW5nIiwiZWRnZSI6Im5vdGhpbmciLCJvcGVyYSI6Im5vdGhpbmcifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJhbHBoYS11LXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYWxwaGF1d2FsbGV0LnBhZ2UubGluay8/YXBuPWNvbS5rZGRpLndhbGxldCZpYmk9Y29tLmtkZGkud2FsbGV0JmlzaT02NDQ0NDAxMTA2Jmxpbms9aHR0cHM6Ly93ZWIud2FsbGV0LmFscGhhLXUuaW8vaW50cm8uaHRtbCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImU2ZDdiOTE2NzMyMzI1ODIxYTQwMTZjMzc0ZGVjOWUyZDU4YmVjZGFjMTU0Y2UzZWEyMGRiMWZkOWZlMWQ1N2UiOnsiaWQiOiJlNmQ3YjkxNjczMjMyNTgyMWE0MDE2YzM3NGRlYzllMmQ1OGJlY2RhYzE1NGNlM2VhMjBkYjFmZDlmZTFkNTdlIiwibmFtZSI6IlplYWwiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnplYWwuYXBwLyIsImltYWdlX2lkIjoiNTQxNmZiMGItOWFlYy00ZmZlLWI3Y2QtYzA0Yzc5ZWE0MzAwIiwib3JkZXIiOjk3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvemVhbC13YWxsZXQvaGVhbW5qYm5mbGNpa2NnZ29pcGxpYmZvbW1mYmtqcGo/aGw9ZW4mYXV0aHVzZXI9MCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc1plYWwiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJhcHAuemVhbCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ6ZWFsOi8vd2FsbGV0Y29ubmVjdC8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImJkYzk0MzNmZmRhZWU1NWQzMTczN2Q4M2I5MzFjYWExZjE3ZTMwNjY2ZjViOGUwM2VlYTc5NGJhYzk2MGViNGEiOnsiaWQiOiJiZGM5NDMzZmZkYWVlNTVkMzE3MzdkODNiOTMxY2FhMWYxN2UzMDY2NmY1YjhlMDNlZWE3OTRiYWM5NjBlYjRhIiwibmFtZSI6IkVuamluIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9lbmppbi5pby9wcm9kdWN0cy93YWxsZXQiLCJpbWFnZV9pZCI6ImFkZDk2MjZiLWE1ZmEtNGMxMi0xNzhjLWU1NTg0ZTZkY2QwMCIsIm9yZGVyIjo5ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9lbmppbi1uZnQtY3J5cHRvLXdhbGxldC9pZDEzNDkwNzgzNzUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5lbmppbi5tb2JpbGUud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZW5qaW53YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2RlZXBsaW5rLndhbGxldC5lbmppbi5pby8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI4MzVkYzYzZjY5ZjY1MTEzMjIwZTcwMDExMjM2M2ZlZjJhNWYxZDcyZDZjMGVlZjRmMmM3ZGM2NmJmNjRiOTU1Ijp7ImlkIjoiODM1ZGM2M2Y2OWY2NTExMzIyMGU3MDAxMTIzNjNmZWYyYTVmMWQ3MmQ2YzBlZWY0ZjJjN2RjNjZiZjY0Yjk1NSIsIm5hbWUiOiJDVkwgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2N2bC5uZXR3b3JrIiwiaW1hZ2VfaWQiOiJlNGVmZjE1YS0zNWQ1LTQ5ZmUtMDQ3Zi0zM2UzMzFmNDY0MDAiLCJvcmRlciI6OTkwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLmN2bC5uZXR3b3JrLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vcnUvYXBwL2N2bC13YWxsZXQvaWQ2NDQ0MzU3NjI4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1sbHAuYmNfZ3JvdXAuY3ZsX3dhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5jdmwubmV0d29yay8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmN2bC5uZXR3b3JrLyJ9fSwiY2I2MDRjNTE3MDY0ZjA5Njk3Njk3MjM4NGRjODk5NDhhNWM4NTBiY2E5YjA0ODY2YTQ0M2UxMDE3MWQ1OTY1ZCI6eyJpZCI6ImNiNjA0YzUxNzA2NGYwOTY5NzY5NzIzODRkYzg5OTQ4YTVjODUwYmNhOWIwNDg2NmE0NDNlMTAxNzFkNTk2NWQiLCJuYW1lIjoiV29tYmF0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dvbWJhdC5hcHAiLCJpbWFnZV9pZCI6ImU2NzVlZmEzLTRmZmMtNDE5OS05YzIyLWI5NjkyYmFlYTkwMCIsIm9yZGVyIjoxMDEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvd29tYmF0LWhvbWUtb2YtbmZ0LWdhbWluZy9pZDE0NzQzOTIxMTAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLmdldHdvbWJhdC5hbmRyb2lkIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ3b21iYXQtd2M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IndvbWJhdDovLyIsInVuaXZlcnNhbCI6bnVsbH19LCIzNzI5NDUzNTQxODRiZmJmM2ViNTFlMzhkOGZhZmRlMTVhNGJjMTFiODg5MDQzMzRlN2JhZDdjODIyOWU2YmIxIjp7ImlkIjoiMzcyOTQ1MzU0MTg0YmZiZjNlYjUxZTM4ZDhmYWZkZTE1YTRiYzExYjg4OTA0MzM0ZTdiYWQ3YzgyMjllNmJiMSIsIm5hbWUiOiJCaXRzbyBXZWIzIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iaXRzby5jb20vd2ViMy13YWxsZXQiLCJpbWFnZV9pZCI6IjdlNDk1M2ZiLWRlMjItNDc2MS0xZmY2LThjNDk0NTQ5YWEwMCIsIm9yZGVyIjoxMDIwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYml0c28uY29tL3dlYjMtd2FsbGV0IiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9ici9hcHAvYml0c28tJUMzJUE5LWYlQzMlQTFjaWwtY29tcHJhci1iaXRjb2luL2lkMTI5MjgzNjQzOCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJpdHNvLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYml0c286Ly9iaXRzby5jb20vd2ViMy13YWxsZXQiLCJ1bml2ZXJzYWwiOiJodHRwczovL2JpdHNvLmNvbS93ZWIzLXdhbGxldCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9iaXRzby5jb20vd2ViMy13YWxsZXQifX0sImRkMTVhMzUzMGRjNGRlNGM1MGViYjIyMDEwODI0YzQxMzM3NDAzZWZlYzcxM2YxMTg3Njk1YzcyOTM0ZmI5NGMiOnsiaWQiOiJkZDE1YTM1MzBkYzRkZTRjNTBlYmIyMjAxMDgyNGM0MTMzNzQwM2VmZWM3MTNmMTE4NzY5NWM3MjkzNGZiOTRjIiwibmFtZSI6IkNvbGQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2NvbGR3YWxsZXQuY29tLyIsImltYWdlX2lkIjoiZmE2M2M5NzctOTYzNy00ZDg1LTk2MGQtMDU4ZGEyM2U0MzAwIiwib3JkZXIiOjEwMzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9jb2xkLXdhbGxldC1jcnlwdG8td2FsbGV0LWFwcC9pZDY0Njc2NTE4NDgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5QbHVzV2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJwbHVzd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jb2xkd2FsbGV0LmNvbS8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjFhZWNiNjc2MjM3M2Y5NjEwMGY5NDEzNDdiZDU1NGQ2YmRiZjZjMzBhMTM2OGM0N2JmMzkxNDMyMDIxZDZjZTkiOnsiaWQiOiIxYWVjYjY3NjIzNzNmOTYxMDBmOTQxMzQ3YmQ1NTRkNmJkYmY2YzMwYTEzNjhjNDdiZjM5MTQzMjAyMWQ2Y2U5IiwibmFtZSI6IlB1cmVXYWxsZXQgYXBwIiwiaG9tZXBhZ2UiOiJodHRwczovL3B1cmV3YWxsZXQuYWkiLCJpbWFnZV9pZCI6IjRlOTdiOWQ2LTYwZWItNDJjZC02MjU2LTVjZDcyMDVlM2YwMCIsIm9yZGVyIjoxMDQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcHVyZXdhbGxldC9pZDY3Mzg5NDkxNjg/cGxhdGZvcm09aXBob25lIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubnNsYWIucHVyZXdhbGxldHAmcGxpPTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InB1cmV3YWxsZXRwOi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI0MzhiMDc0NDFjNTI3M2M2MGU0MTVlZmQyMjc4NjJkOWIxMzQ0ZWYzNzhkOWVlN2QxYjNiZmE4YjMzMzg0ZWZmIjp7ImlkIjoiNDM4YjA3NDQxYzUyNzNjNjBlNDE1ZWZkMjI3ODYyZDliMTM0NGVmMzc4ZDllZTdkMWIzYmZhOGIzMzM4NGVmZiIsIm5hbWUiOiJFdmVyc3BhY2UiLCJob21lcGFnZSI6Imh0dHBzOi8vZXZlcnNwYWNlLmFwcCIsImltYWdlX2lkIjoiODBlYWE2MzAtNjM5Mi00YjBhLWE2MDQtMGEwZjgwOGU0ZDAwIiwib3JkZXIiOjEwNTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9ldmVyc3BhY2UuYXBwLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vcnUvYXBwL2V2ZXJzcGFjZS9pZDE1ODU0MzQ5OTQ/bD1lbiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm9iZXJ0b24uYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJldmVyc3BhY2U6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2V2ZXJzcGFjZS5hcHAvZGVlcGxpbmsifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vZXZlcnNwYWNlLmFwcC8ifX0sIjFhYTI4NDE0Yzk1ZjUwMjQxMzNmYWY1NzY2ZDM3NmJiOWM4NTNjMjgwZDE1OGNkM2UyMmRjMmI3YjBhOTVhMmQiOnsiaWQiOiIxYWEyODQxNGM5NWY1MDI0MTMzZmFmNTc2NmQzNzZiYjljODUzYzI4MGQxNThjZDNlMjJkYzJiN2IwYTk1YTJkIiwibmFtZSI6IkJsb2NrV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2Jsb2Nrd2FsbGV0LmlvLyIsImltYWdlX2lkIjoiZWY4MjU2MjktOTgyOC00YTVhLWIzNzYtNjJhYjRlZTgxZjAwIiwib3JkZXIiOjEwNjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2Jsb2Nrd2FsbGV0L2JvcGNibWlwbmpkY2RmZmxmZ2pkZ2RqZWptZ3BvYWFiIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYmxvY2t3YWxsZXQvYm9wY2JtaXBuamRjZGZmbGZnamRnZGplam1ncG9hYWIiLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzQmxvY2tXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMWY2OTE3MGJmN2E5YmRjZjg5NDAzZWMwMTI2NTliNzEyNGUxNThmOTI1Y2RkNGEyYmU0OTI3NGMyNGNmNWU1ZCI6eyJpZCI6IjFmNjkxNzBiZjdhOWJkY2Y4OTQwM2VjMDEyNjU5YjcxMjRlMTU4ZjkyNWNkZDRhMmJlNDkyNzRjMjRjZjVlNWQiLCJuYW1lIjoiQ29vbFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jb29sd2FsbGV0LmlvLyIsImltYWdlX2lkIjoiZjU4MTM2NWQtZTg0NC00ZDIxLThlMzUtNDRhNzU1YTMyZDAwIiwib3JkZXIiOjEwNzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9jb29sd2FsbGV0LXMtMjAxOC9pZDEzMjg3NjQxNDIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jb29sYml0eC5jd3NhcHAiLCJtYWMiOiJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvYXBwL2Nvb2x3YWxsZXQtcy0yMDE4L2lkMTMyODc2NDE0MiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20uY29vbGJpdHguY3dzYXBwIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImNvb2x3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjAxOTI1NzI1Y2RjN2E1MDA4ODI0YzhmMTllZmY4NTc2OTkwM2ZiY2M1M2M2MjYzOWZlYjBkNGY4ZDNhNmNmNTIiOnsiaWQiOiIwMTkyNTcyNWNkYzdhNTAwODgyNGM4ZjE5ZWZmODU3Njk5MDNmYmNjNTNjNjI2MzlmZWIwZDRmOGQzYTZjZjUyIiwibmFtZSI6IktyaXB0b21hdCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rcmlwdG9tYXQuaW8vd2ViMy8iLCJpbWFnZV9pZCI6Ijc3NDExMGFhLTcwZjYtNGQwYy0yMTBmLWFiNDM0ODM4ZmEwMCIsIm9yZGVyIjoxMDgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQxNDQwMTM1NzQwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5rcmlwdG9tYXQuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJrcmlwdG9tYXRhcHA6Ly93YWxsZXQtY29ubmVjdCIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZjliNDBlMzYxNWFmZGRjZTdhZWE3MzlkMzdkNTQzYjkyMmU1ZjcwYTRmMzBiODg2YjZiNTkwNjJjNDNiMjQzNyI6eyJpZCI6ImY5YjQwZTM2MTVhZmRkY2U3YWVhNzM5ZDM3ZDU0M2I5MjJlNWY3MGE0ZjMwYjg4NmI2YjU5MDYyYzQzYjI0MzciLCJuYW1lIjoiWW9XYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8veW93YWxsZXQuaW8iLCJpbWFnZV9pZCI6Ijc1MDA3OWEwLTYzNzItNGUzMi1kMWFmLWZlOGVjMmJiZTQwMCIsIm9yZGVyIjoxMDkwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8veW93YWxsZXQuaW8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC95b3dhbGxldC9pZDY0NzQxMTg5NDQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS55b3dhbGxldC5hcHAmaGw9ZW4iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InlvLXdhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3lvd2FsbGV0LmlvIn19LCI0N2JiMDc2MTdhZjUxODY0MmYzNDEzYTIwMWVjNTg1OWZhYTYzYWNiMWRkMTc1Y2E5NTA4NWQzNWQzOGFmYjgzIjp7ImlkIjoiNDdiYjA3NjE3YWY1MTg2NDJmMzQxM2EyMDFlYzU4NTlmYWE2M2FjYjFkZDE3NWNhOTUwODVkMzVkMzhhZmI4MyIsIm5hbWUiOiJLRVlSSU5HIFBSTyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rZXlyaW5nLmFwcC8iLCJpbWFnZV9pZCI6ImM4OWNlZWM1LTMxZGMtNGExNy1jMTMyLWIwYjlmMjcyYWUwMCIsIm9yZGVyIjoxMTAwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8va2V5cmluZy5hcHAvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva2V5cmluZy1wcm8td2FsbGV0LW1hbmFnZW1lbnQvaWQxNTQ2ODI0OTc2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jby5iYWNvb3Iua2V5cmluZyIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoia2V5cmluZzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8va2V5cmluZy5hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9rZXlyaW5nLmFwcC8ifX0sIjlhNGNkZGJkYmMxOTAwNWJlNzkwZjM3Y2M5MTc2ZGQyNGVhZTUxYWEyYTQ5ZmEzZWRlYjNiNmE4YjA4OWI3YmUiOnsiaWQiOiI5YTRjZGRiZGJjMTkwMDViZTc5MGYzN2NjOTE3NmRkMjRlYWU1MWFhMmE0OWZhM2VkZWIzYjZhOGIwODliN2JlIiwibmFtZSI6Ik5pZ2h0bHkiLCJob21lcGFnZSI6Imh0dHBzOi8vbmlnaHRseS5hcHAiLCJpbWFnZV9pZCI6IjdmYjZlMjg4LTZkN2UtNGYyOS1kOTM0LThiM2YyMjljMmQwMCIsIm9yZGVyIjoxMTEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9wbC9hcHAvbmlnaHRseS1tdWx0aWNoYWluLXdhbGxldC9pZDY0NDQ3NjgxNTciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5uaWdodGx5bW9iaWxlJnBsaT0xIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9uaWdodGx5L2ZpaWtvbW1kZGJlY2Nhb2ljb2Vqb25pYW1tbmFsa2ZhIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9uaWdodGx5L2ZpaWtvbW1kZGJlY2Nhb2ljb2Vqb25pYW1tbmFsa2ZhIiwib3BlcmEiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL25pZ2h0bHkvZmlpa29tbWRkYmVjY2FvaWNvZWpvbmlhbW1uYWxrZmEifSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNOaWdodGx5IiwibmFtZXNwYWNlIjoiZWlwMTU1In0seyJpbmplY3RlZF9pZCI6ImlzTmlnaHRseSIsIm5hbWVzcGFjZSI6InNvbGFuYSJ9XSwicmRucyI6ImFwcC5uaWdodGx5IiwibW9iaWxlIjp7Im5hdGl2ZSI6Im5pZ2h0bHk6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjE1OWIwNDIzY2U5MDc1ZDU2NjJmNTg4ZjgwNTkzMWQ5ODk2MjdhZmZhYjNlNjNlNGRkN2ViYzYyYjljNjczOGMiOnsiaWQiOiIxNTliMDQyM2NlOTA3NWQ1NjYyZjU4OGY4MDU5MzFkOTg5NjI3YWZmYWIzZTYzZTRkZDdlYmM2MmI5YzY3MzhjIiwibmFtZSI6Ik94YWx1cyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vb3hhbHVzLmlvL3dhbGxldCIsImltYWdlX2lkIjoiYTZlMjJmY2ItNmI2OS00NWQyLWI1MmQtYTRhMzQ3YTIxZTAwIiwib3JkZXIiOjExMjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9veGFsdXMuaW8vIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS92bi9hcHAvb3hhbHVzLXdhbGxldC9pZDE2MjAxMTE3MjMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLm94YWx1cy53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im94YWx1czovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vb3hhbHVzLnBhZ2UubGluay8/YXBuPWlvLm94YWx1cy53YWxsZXQmaXNpPTE2MjAxMTE3MjMmaWJpPWlvLm94YWx1cy53YWxsZXQmbGluaz1odHRwczovL2RlZXBsaW5rLm94YWx1cy5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9veGFsdXMuaW8vIn19LCI4NWRiNDMxNDkyYWEyZTg2NzJlOTNmNGVhN2FjZjEwYzg4Yjk3Yjg2N2IwZDM3MzEwN2FmNjNkYzQ4ODBmMDQxIjp7ImlkIjoiODVkYjQzMTQ5MmFhMmU4NjcyZTkzZjRlYTdhY2YxMGM4OGI5N2I4NjdiMGQzNzMxMDdhZjYzZGM0ODgwZjA0MSIsIm5hbWUiOiJGcm9udGllciIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZnJvbnRpZXIueHl6IiwiaW1hZ2VfaWQiOiJhNzhjNGQ0OC0zMmMxLTRhOWQtNTJmMi1lYzdlZTA4Y2UyMDAiLCJvcmRlciI6MTEzMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5mcm9udGllci54eXovZG93bmxvYWQiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9mcm9udGllci1kZWZpLXdhbGxldC9pZDE0ODIzODA5ODgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5mcm9udGllcndhbGxldCZobD1lbl9JTiZnbD1VUyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2Zyb250aWVyLXdhbGxldC9rcHBmZGlpcHBoZmNjZW1jaWduaGlmcGprYXBmYmloZCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2Zyb250aWVyLXdhbGxldC9rcHBmZGlpcHBoZmNjZW1jaWduaGlmcGprYXBmYmloZCIsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNGcm9udGllciIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9LHsiaW5qZWN0ZWRfaWQiOiJpc0Zyb250aWVyIiwibmFtZXNwYWNlIjoic29sYW5hIn1dLCJyZG5zIjoieHl6LmZyb250aWVyLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJmcm9udGllcjovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5mcm9udGllci54eXovZG93bmxvYWQifX0sIjUzMzMyNTcxYTJlMWI3NDhhZGQ3NjZkYTUxYjkwZGM5ZDFlOWQ2NWQyYzMwMTk2OWFkZDViYTM5MzkzMzk1MTMiOnsiaWQiOiI1MzMzMjU3MWEyZTFiNzQ4YWRkNzY2ZGE1MWI5MGRjOWQxZTlkNjVkMmMzMDE5NjlhZGQ1YmEzOTM5MzM5NTEzIiwibmFtZSI6IlJlb3duIFdhbGxldCBbQkVUQV0iLCJob21lcGFnZSI6Imh0dHBzOi8vcmVvd24uY29tIiwiaW1hZ2VfaWQiOiJlMjI2NjllNy01Nzg5LTRlZTQtNWJmNy05NmRjZGRmZmNlMDAiLCJvcmRlciI6MTE0MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dlYi13YWxsZXQud2FsbGV0Y29ubmVjdC5vcmciLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93ZWItd2FsbGV0LndhbGxldGNvbm5lY3Qub3JnIn19LCI2NDdjZWQ0ZmFkNzQ3YTNhNjEzYWJmZTE2MGZlZDdkZWI0ZTg1ZDg2MjNhYzkzMjllOTRiMjRkZDBkODZiZjAwIjp7ImlkIjoiNjQ3Y2VkNGZhZDc0N2EzYTYxM2FiZmUxNjBmZWQ3ZGViNGU4NWQ4NjIzYWM5MzI5ZTk0YjI0ZGQwZDg2YmYwMCIsIm5hbWUiOiJEYXduIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZGF3bndhbGxldC54eXoiLCJpbWFnZV9pZCI6ImRjYjRhMjg3LWE2ZjUtNGU4MS1jYmFiLTJkMGViMjdiMmYwMCIsIm9yZGVyIjoxMTUwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZGF3bi1ldGhlcmV1bS13YWxsZXQvaWQxNjczMTQzNzgyIiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9kYXduLWV0aGVyZXVtLXdhbGxldC9pZDE2NzMxNDM3ODIiLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzRGF3biIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIzODBlZmZmNjg3YzdkMjIyMmQ2MjM3OGM1ODhkNDVkMmUwZmY0MGEwZmM0ZDhmNzc4YzRkNmZiZTU4Y2VjNWVkIjp7ImlkIjoiMzgwZWZmZjY4N2M3ZDIyMjJkNjIzNzhjNTg4ZDQ1ZDJlMGZmNDBhMGZjNGQ4Zjc3OGM0ZDZmYmU1OGNlYzVlZCIsIm5hbWUiOiJBdG9taWMgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2F0b21pY3dhbGxldC5pbyIsImltYWdlX2lkIjoiN2VjYTAzMTEtYWJmNS00OTAyLTQzZTktNTE4NTg0MDNlMjAwIiwib3JkZXIiOjExNjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hdG9taWN3YWxsZXQuaW8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hdG9taWMtd2FsbGV0L2lkMTQ3ODI1NzgyNyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uYXRvbWljd2FsbGV0IiwibWFjIjoiaHR0cHM6Ly9hdG9taWN3YWxsZXQuaW8vZG93bmxvYWRzIiwid2luZG93cyI6Imh0dHBzOi8vYXRvbWljd2FsbGV0LmlvL2Rvd25sb2FkcyIsImxpbnV4IjoiaHR0cHM6Ly9hdG9taWN3YWxsZXQuaW8vZG93bmxvYWRzIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJhdG9taWN3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6ImF0b21pY3dhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvYXRvbWljLXdhbGxldC9nam5ja2drZm1nbWliYmtvZmljZGlkY2xqZWFhYWhlZyJ9fSwiZDc1N2RiNDBmZDA5ODcwOTI2NzNjOGM0ZjMzMzk4YWM0OGJiNTJhYTEyYWJiMDI3YTY1MmZiNGM1MGIyZGNlMCI6eyJpZCI6ImQ3NTdkYjQwZmQwOTg3MDkyNjczYzhjNGYzMzM5OGFjNDhiYjUyYWExMmFiYjAyN2E2NTJmYjRjNTBiMmRjZTAiLCJuYW1lIjoiQnJvbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9icm9uLm9yZyIsImltYWdlX2lkIjoiYjg0OGY5MzYtOTE4Yy00ZTFhLTBhMDEtYWFmOWRkMDExNjAwIiwib3JkZXIiOjExNzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYnJvbi13YWxsZXQvaWQ2NzU3NDM3ODgwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcuYnJvbi5tb2JpbGUiLCJtYWMiOiJodHRwczovL2FwaS5icm9uLm9yZy9hcHBzL2Rlc2t0b3AvcGxhdGZvcm1zL21hYy11bml2ZXJzYWwvZG93bmxvYWRzL2xhdGVzdCIsIndpbmRvd3MiOiJodHRwczovL2FwaS5icm9uLm9yZy9hcHBzL2Rlc2t0b3AvcGxhdGZvcm1zL3dpbi11bml2ZXJzYWwvZG93bmxvYWRzL2xhdGVzdCIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJicm9uLW1vYmlsZTovL3dhbGxldC1jb25uZWN0IiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiYnJvbjovL3dhbGxldC1jb25uZWN0IiwidW5pdmVyc2FsIjoiIn19LCIzZWQ4Y2MwNDZjNjIxMWE3OThkYzVlYzcwZjEzMDJiNDNlMDdkYjk2MzlmZDI4N2RlNDRhOWFhMTE1YTIxZWQ2Ijp7ImlkIjoiM2VkOGNjMDQ2YzYyMTFhNzk4ZGM1ZWM3MGYxMzAyYjQzZTA3ZGI5NjM5ZmQyODdkZTQ0YTlhYTExNWEyMWVkNiIsIm5hbWUiOiJMZWFwIiwiaG9tZXBhZ2UiOiJodHRwczovL2xlYXB3YWxsZXQuaW8vIiwiaW1hZ2VfaWQiOiJkNjRhZTljNy1jMGJlLTQ5NWQtMDQxZS0zNWM2YmIyY2MxMDAiLCJvcmRlciI6MTE4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vaW4vYXBwL2xlYXAtY29zbW9zL2lkMTY0MjQ2NTU0OS8iLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLmxlYXB3YWxsZXQuY29zbW9zIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvbGVhcC1jb3Ntb3Mtd2FsbGV0L2ZjZmNmbGxmbmRsb21kaGJlaGpqY29pbWJnb2ZkbmNnIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6IndpbmRvdy5sZWFwIiwibmFtZXNwYWNlIjoiY29zbW9zIn1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibGVhcGNvc21vczovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMTgzODhiZTlhYzJkMDI3MjZkYmFjOTc3N2M5NmVmYWFjMDZkNzQ0YjJmNmQ1ODBmY2NkZDQxMjdhNmQwMWZkMSI6eyJpZCI6IjE4Mzg4YmU5YWMyZDAyNzI2ZGJhYzk3NzdjOTZlZmFhYzA2ZDc0NGIyZjZkNTgwZmNjZGQ0MTI3YTZkMDFmZDEiLCJuYW1lIjoiUmFiYnkiLCJob21lcGFnZSI6Imh0dHBzOi8vcmFiYnkuaW8vIiwiaW1hZ2VfaWQiOiIyNTVlNmJhMi04ZGZkLTQzYWQtZTg4ZS01N2NiYjk4ZjY4MDAiLCJvcmRlciI6MTE5MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9yYWJieS9hY21hY29ka2piZGdtb2xlZWJvbG1kam9uaWxrZGJjaCIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3JhYmJ5LXdhbGxldC1jcnlwdG8tZXZtL2lkNjQ3NDM4MTY3MyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmRlYmFuay5yYWJieW1vYmlsZSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3JhYmJ5LXdhbGxldC9hY21hY29ka2piZGdtb2xlZWJvbG1kam9uaWxrZGJjaCIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNSYWJieSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImlvLnJhYmJ5IiwibW9iaWxlIjp7Im5hdGl2ZSI6InJhYmJ5Oi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvcmFiYnkvYWNtYWNvZGtqYmRnbW9sZWVib2xtZGpvbmlsa2RiY2gifX0sIjg4MjE3NDhjMjVkZTlkYmM0ZjcyYTY5MWIyNWE2ZGRhZDlkN2RmMTJmYTIzMzMzZmQ5YzhiNWZkYzE0Y2M4MTkiOnsiaWQiOiI4ODIxNzQ4YzI1ZGU5ZGJjNGY3MmE2OTFiMjVhNmRkYWQ5ZDdkZjEyZmEyMzMzM2ZkOWM4YjVmZGMxNGNjODE5IiwibmFtZSI6IkJ1cnJpdG8iLCJob21lcGFnZSI6Imh0dHBzOi8vYnVycml0b3dhbGxldC5jb20iLCJpbWFnZV9pZCI6IjdlZWM3MTg3LTNmNDgtNGZkYS01M2JiLWIwYWQ1NTc0OWEwMCIsIm9yZGVyIjoxMjAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYnVycml0by13YWxsZXQvaWQ2NDQ5NTYzMDgzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYnVycml0b3dhbGxldC5hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJ1cnJpdG86Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5idXJyaXRvd2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjkyZGVjMzFjYjI5MTQ1MmE1ODA0M2RiNjRmMjZiMjBjODg2NjA3NjYxZmQ4MmU5MjFiZTYzNjJkNWZlZTdmNDkiOnsiaWQiOiI5MmRlYzMxY2IyOTE0NTJhNTgwNDNkYjY0ZjI2YjIwYzg4NjYwNzY2MWZkODJlOTIxYmU2MzYyZDVmZWU3ZjQ5IiwibmFtZSI6IktyeXN0YWwiLCJob21lcGFnZSI6Imh0dHBzOi8va3J5c3RhbC5hcHAvIiwiaW1hZ2VfaWQiOiJkMmI1OTk2NS00ZWI4LTQ4MjgtZDNkNC1mYmMwYjMzNzllMDAiLCJvcmRlciI6MTIxMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2RlZmkua3J5c3RhbC5hcHAvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva3J5c3RhbC1vbmUtcGxhdGZvcm0tYWxsLWRlZmkvaWQxNTU4MTA1NjkxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ua3lyZC5rcnlzdGFsIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJrcnlzdGFsd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQua3J5c3RhbC5hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2RlZmkua3J5c3RhbC5hcHAvIn19LCIwODczOTM1NmUzZmMwZWZkOTQ5ODY5NmI3ODMxZThiNDJiMGFkNzM5MGFmNjYzY2QzYmEzYzMwODY2MTk1YjM0Ijp7ImlkIjoiMDg3MzkzNTZlM2ZjMGVmZDk0OTg2OTZiNzgzMWU4YjQyYjBhZDczOTBhZjY2M2NkM2JhM2MzMDg2NjE5NWIzNCIsIm5hbWUiOiJCQ0VSVGluIHdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ibG9ja2NlcnRzLmNvbSIsImltYWdlX2lkIjoiZTMyMTM0NmQtNWNlNy00ZTc1LTM3MWUtZTRmMGJmOTIzOTAwIiwib3JkZXIiOjEyMjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJsb2NrY2VydHMuQmxvY2tDZXJ0cyZobD1lbl9VUyZnbCIsIm1hYyI6Imh0dHBzOi8vYmxvY2tjZXJ0cy5jb20vZG93bmxvYWQtbWFjLz90eXBlPW1hYyIsIndpbmRvd3MiOiJodHRwczovL2Jsb2NrY2VydHMuY29tL2Rvd25sb2FkLXdpbmRvd3MvP3R5cGU9d2luZG93cyIsImxpbnV4IjoiaHR0cHM6Ly9ibG9ja2NlcnRzLmNvbS9kb3dubG9hZC1kZWJpYW4vP3R5cGU9ZGViaWFuIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYTE4YWVlYzlmYWIwYzA4Y2E0MWU3YmRhYWUwNmNhYzU3MDBiYjYyOGVjNzVjNjM4MWJhY2Q5YjJkZjU3NDg5NSI6eyJpZCI6ImExOGFlZWM5ZmFiMGMwOGNhNDFlN2JkYWFlMDZjYWM1NzAwYmI2MjhlYzc1YzYzODFiYWNkOWIyZGY1NzQ4OTUiLCJuYW1lIjoiTW9uYXJjaCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbW9uYXJjaHdhbGxldC5jb20iLCJpbWFnZV9pZCI6ImM2NjRkOTU1LThhMWUtNDQ2MC0zOTE3LTRjZmNmMTk4ZjAwMCIsIm9yZGVyIjoxMjMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbW9uYXJjaC13YWxsZXQvaWQxMzg2Mzk3OTk3IiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vbW9uYXJjaHdhbGxldC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJmZTkxMjdmNDlmZDk1ZTIwZTZkODc3ZDBlMjI0ZGE2YTc1MDYyZjUyZDhmYjk3ODQ4NTZhNWNiN2VmMzllOWQyIjp7ImlkIjoiZmU5MTI3ZjQ5ZmQ5NWUyMGU2ZDg3N2QwZTIyNGRhNmE3NTA2MmY1MmQ4ZmI5Nzg0ODU2YTVjYjdlZjM5ZTlkMiIsIm5hbWUiOiJFTExJUEFMIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5lbGxpcGFsLmNvbSIsImltYWdlX2lkIjoiMGE1YjQ1YTEtYzk3NC00ZjQxLTZjMTQtMzc2NzE0NDc4YzAwIiwib3JkZXIiOjEyNDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvYXBwL2VsbGlwYWwvaWQxNDI2MTc5NjY1P2w9emgmbHM9MSZtdD04IiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJFTExJUEFMOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuZWxsaXBhbC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIyYTNjODkwNDBhYzNiNzIzYTE5NzJhMzNhMTI1YjFkYjExZTI1OGE2OTc1ZDNhNjEyNTJjZDY0ZTZlYTVlYTAxIjp7ImlkIjoiMmEzYzg5MDQwYWMzYjcyM2ExOTcyYTMzYTEyNWIxZGIxMWUyNThhNjk3NWQzYTYxMjUyY2Q2NGU2ZWE1ZWEwMSIsIm5hbWUiOiJDb2luOTggU3VwZXIgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2NvaW45OC5jb20vd2FsbGV0IiwiaW1hZ2VfaWQiOiJlN2M2ZDVkMC1iOTg2LTQzNDgtZGUyMi1mYzk0MGUxYWVlMDAiLCJvcmRlciI6MTI2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdm4vYXBwL2NvaW45OC13YWxsZXQvaWQxNTYxOTY5OTY2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb2luOTguY3J5cHRvLmZpbmFuY2UubWVkaWEmaGw9dmkmZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9jb2luOTgtd2FsbGV0L2FlYWNoa25tZWZwaGVwY2Npb25ib29oY2tvbm9lZW1nIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzQ29pbjk4IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoiY29tLmNvaW45OCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb2luOTg6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2NvaW45OC5jb20vIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjNkNTdiMGE0OGRmNmNlYzQxMWU2MDlkZGVkYWEyOTBkYWU0YTg0NGVhOTA5MDlkZGQzM2FjYTc5NDU3NDYwMyI6eyJpZCI6IjIzZDU3YjBhNDhkZjZjZWM0MTFlNjA5ZGRlZGFhMjkwZGFlNGE4NDRlYTkwOTA5ZGRkMzNhY2E3OTQ1NzQ2MDMiLCJuYW1lIjoiTXlXYWxsaUQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LndhbGxpZC5pby8iLCJpbWFnZV9pZCI6ImU2Y2ZmNjIzLTk2NzEtNGEzOS1hY2M3LTFjMjI5MmQ3ZTEwMCIsIm9yZGVyIjoxMjcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3dhbGxpZC13YWxsZXQvZWtubGtvZ2lrY2Fibmpiam5obWpsbGFiY2tlYXBkaWkiLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvd2FsbGlkLXdhbGxldC9la25sa29naWtjYWJuamJqbmhtamxsYWJja2VhcGRpaSJ9fSwiOWUxNDkyNmJiNjRmYTJmZjM1OWMzYWNiZDc1YmI2NzViMDllZmE2ZjcyYWVkMDQ5NjE2YTA1MzgyNzE0MDAyNSI6eyJpZCI6IjllMTQ5MjZiYjY0ZmEyZmYzNTljM2FjYmQ3NWJiNjc1YjA5ZWZhNmY3MmFlZDA0OTYxNmEwNTM4MjcxNDAwMjUiLCJuYW1lIjoiVTJVIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93YWxsZXQudW5pdWx0cmEueHl6LyIsImltYWdlX2lkIjoiMDNiY2EzZmMtYzE5MS00ODc3LTU5MmQtMGIwZDY1NTdjOTAwIiwib3JkZXIiOjEyODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3ZuL2FwcC91MnUtd2FsbGV0L2lkNjQ0NjE5NDMxMj9sPXZpIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcudTJ1LndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3UydS13YWxsZXQvZWJqZmhrYm5uYmpoY2VkaWxiZWRnaGVkZmdpYWlvZWQiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ1MnV3YzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vdTJ1LnBhZ2UubGluay8/YXBuPW9yZy51MnUud2FsbGV0JmlzaT02NDQ2MTk0MzEyJmliaT1vcmcudW5pdWx0cmEud2FsbGV0Jmxpbms9aHR0cHM6Ly91bml1bHRyYS54eXovP3JlZmVycmVyJTNEIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjFhZjVjN2E5YzAxNzkzMDc3YjYxYWVjYmI0YmI1NjQ4ZTliZTYyYTZhMGE0MmM1ZjRkMmZmMDVkNGUwMGQ1YyI6eyJpZCI6IjIxYWY1YzdhOWMwMTc5MzA3N2I2MWFlY2JiNGJiNTY0OGU5YmU2MmE2YTBhNDJjNWY0ZDJmZjA1ZDRlMDBkNWMiLCJuYW1lIjoiVGhvbG9zIiwiaG9tZXBhZ2UiOiJodHRwczovL3Rob2xvcy5hcHAiLCJpbWFnZV9pZCI6ImYwZjMwNmU2LTJkYmEtNDgwNS1lN2I5LTRmMjU5NTJlMjkwMCIsIm9yZGVyIjoxMjkwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vZGFzaGJvYXJkLnRob2xvcy5hcHAiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC90aG9sb3MvaWQxNjY5NTc4NDg3IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hcHAudGhvbG9zLnRob2xvcyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9kYXNoYm9hcmQudGhvbG9zLmFwcCJ9fSwiZDk5ZDY3Mzc5YTBhZjgwYTM5ZWY4ZmE3OWFkNDc3ZGViZmU1YWJiNzFiZDdjZjkyZDEyZjMwZDZmZmE2OTUwNiI6eyJpZCI6ImQ5OWQ2NzM3OWEwYWY4MGEzOWVmOGZhNzlhZDQ3N2RlYmZlNWFiYjcxYmQ3Y2Y5MmQxMmYzMGQ2ZmZhNjk1MDYiLCJuYW1lIjoiR2FtZVN0b3AgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5nYW1lc3RvcC5jb20vd2FsbGV0cyIsImltYWdlX2lkIjoiYzEyNTM2ZTAtZGZmMS00YTFhLTZjOGYtYzcyNDdkNmFhMjAwIiwib3JkZXIiOjEzMDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQuZ2FtZXN0b3AuY29tL3dhbGxldHMiLCJpb3MiOiJodHRwczovL3dhbGxldC5nYW1lc3RvcC5jb20vd2FsbGV0cyIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuZ2FtZXN0b3AuY29tL3dhbGxldHMifX0sImM0ODJkZmUzNjhkNGYwMDQ0Nzk5NzdmZDg4ZTgwZGM5ZTgxMTA3ZjMyNDVkNzA2ODExNTgxYTZkZmU2OWM1MzQiOnsiaWQiOiJjNDgyZGZlMzY4ZDRmMDA0NDc5OTc3ZmQ4OGU4MGRjOWU4MTEwN2YzMjQ1ZDcwNjgxMTU4MWE2ZGZlNjljNTM0IiwibmFtZSI6Ik5PVyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0bm93LmFwcC8iLCJpbWFnZV9pZCI6ImI2ZWU0ZWZjLWY1M2UtNDc1Yi05MjdiLWE3ZGVkNjIxMTcwMCIsIm9yZGVyIjoxMzEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvbm93LXdhbGxldC1iaXRjb2luLWNyeXB0by9pZDE1OTEyMTYzODYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5ub3d3YWxsZXQiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9ub3ctd2FsbGV0LWJpdGNvaW4tY3J5cHRvL2lkMTU5MTIxNjM4NiIsIndpbmRvd3MiOiJodHRwczovL2FwcHMubWljcm9zb2Z0LmNvbS9kZXRhaWwveHBkYzR2MGozemt2aGgiLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJub3d3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldG5vdy5hcHAubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6Im5vd3dhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0bm93LmFwcC5saW5rIn19LCJmOTRhNjA0MDNjZGZmYTlhNTIxZGQxMmY5ZWMxMDA0YTg4Nzc1NWM2MmVjZjdiYjRlOWI4ZWU2ODA2YzI2YjU4Ijp7ImlkIjoiZjk0YTYwNDAzY2RmZmE5YTUyMWRkMTJmOWVjMTAwNGE4ODc3NTVjNjJlY2Y3YmI0ZTliOGVlNjgwNmMyNmI1OCIsIm5hbWUiOiJVdlRva2VuIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy51dnRva2VuLmNvbSIsImltYWdlX2lkIjoiYTAwNTcyNDEtY2Q5MS00YTUzLTcxNzUtMDE2Yjc2YmZkOTAwIiwib3JkZXIiOjEzMjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93d3cudXZ0b2tlbi5jb20iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2hrL2FwcC91dnRva2VuL2lkMTU1MjU1NjM5NSIsImFuZHJvaWQiOiJodHRwczovL3dhbGxldC51dnRva2VuLmNvbS9zdGF0aWMvZG93bmxvYWQvYW5kcm9pZC91dnRva2VuLmFwayIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cudXZ0b2tlbi5jb20ifX0sIjQ0NWNlZDBmNDgyNzQyNjMyZGZhNjY4NGY4MDJlYjFhMmJiM2NiOTc1MzFiZDA2ZTAyZmIyOTdjNmFkMjFkZTEiOnsiaWQiOiI0NDVjZWQwZjQ4Mjc0MjYzMmRmYTY2ODRmODAyZWIxYTJiYjNjYjk3NTMxYmQwNmUwMmZiMjk3YzZhZDIxZGUxIiwibmFtZSI6IkZhbWlseSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9mYW1pbHkuY28iLCJpbWFnZV9pZCI6IjE4YmExYjk5LTYyNjgtNGQ3ZS1iZWFkLTI2MGU5NzhiMWEwMCIsIm9yZGVyIjoxMzMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZmFtaWx5LWV0aGVyZXVtLXdhbGxldC9pZDE2MDY3NzkyNjciLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvLmZhbWlseS53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoiZmFtaWx5d2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJlMmM4ODQ3Mzc4NTgxNTRjMjhmZjJjNTQzZjk2MzMxZjg5ODdmNTg3MzRhOWM5ZWFmZjZkMmRhZWY4Y2QyOTE3Ijp7ImlkIjoiZTJjODg0NzM3ODU4MTU0YzI4ZmYyYzU0M2Y5NjMzMWY4OTg3ZjU4NzM0YTljOWVhZmY2ZDJkYWVmOGNkMjkxNyIsIm5hbWUiOiJEb2hybmlpIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9kb2hybmlpLmlvLyIsImltYWdlX2lkIjoiMWJiNTFlZDktNjhlZC00MDEyLTMwODItNzJkY2I3NzU0MzAwIiwib3JkZXIiOjEzNDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9kb2hybmlpLmlvLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vY2gvYXBwL2RvaHJuaWktd2FsbGV0L2lkMTYyNDcwMjc1Nj9sPWVuIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5kb2hybmlpLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9kb2hybmlpLmlvLyJ9fSwiYTNlNGU1NGQwMjY2MTE2ZTNiNTFjZGI4OTYzMGRhY2IxYjQ1YzVhNDBkM2FlN2M5OGNhMzI5NDg5YmYyZTE1YSI6eyJpZCI6ImEzZTRlNTRkMDI2NjExNmUzYjUxY2RiODk2MzBkYWNiMWI0NWM1YTQwZDNhZTdjOThjYTMyOTQ4OWJmMmUxNWEiLCJuYW1lIjoiTG9jYWxUcmFkZSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbGFiLmxvY2FsdHJhZGUuY2MiLCJpbWFnZV9pZCI6ImZjYzYwOTgzLTc0YWUtNDg0YS00MjQyLTg3Y2I2ZjA1ZjEwMCIsIm9yZGVyIjoxMzUwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vZG9jcy5sb2NhbHRyYWRlLmNjL3Byb2R1Y3RzL2RlZmktd2FsbGV0LW12cC1mb3ItaW9zIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvbG9jYWx0cmFkZS1kZWZpLXdhbGxldC9pZDE2MDI3NzIyOTgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5sb2NhbHRyYWRlLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dzLmxhYi5sb2NhbHRyYWRlLmNjIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2RvY3MubG9jYWx0cmFkZS5jYy9wcm9kdWN0cy9kZWZpLXdhbGxldC1tdnAtZm9yLWlvcyJ9fSwiMWE1ZjI0MzVlOGUzMWM0MDM0ZjFkMTQyZTg1ZDlmN2QzYmUyYTA5ZGRmNzEwZTVlZjFhZDRlMzZjNzE5ZDNjMCI6eyJpZCI6IjFhNWYyNDM1ZThlMzFjNDAzNGYxZDE0MmU4NWQ5ZjdkM2JlMmEwOWRkZjcxMGU1ZWYxYWQ0ZTM2YzcxOWQzYzAiLCJuYW1lIjoiaW9QYXkiLCJob21lcGFnZSI6Imh0dHBzOi8vaW9wYXkubWUvIiwiaW1hZ2VfaWQiOiI0MTFkODBkMC0zYTc1LTQ5MzItNTYwZi01NjVkOGM3MTVlMDAiLCJvcmRlciI6MTM2MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2lvcGF5Lm1lLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkMTQ3ODA4NjM3MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uaW90ZXguaW9wYXkuZ3AiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImlvcGF5Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vaW9wYXkubWUvIn19LCIyNGZhNzllYmFhZmNhMzMwYWY0NzRkODI4ZDNkMWQ0YjIwYjRkN2Y5M2Y3ZDJmZDQ5ODZkZGFmZWU1ZTUxYjE0Ijp7ImlkIjoiMjRmYTc5ZWJhYWZjYTMzMGFmNDc0ZDgyOGQzZDFkNGIyMGI0ZDdmOTNmN2QyZmQ0OTg2ZGRhZmVlNWU1MWIxNCIsIm5hbWUiOiJYY2FwaXQiLCJob21lcGFnZSI6Imh0dHBzOi8veGNhcGl0LmNvbS8iLCJpbWFnZV9pZCI6IjE3ZjU5Yjc1LTIxYjAtNGIzZi1iMDI0LWZlNGI5YjhkMjMwMCIsIm9yZGVyIjoxMzcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLnhjYXBpdC5jb20vIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hci9hcHAveGNhcGl0L2lkMTU0NTY0ODE0OCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnhjYXBpdC5hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAueGNhcGl0LmNvbS9saW5rcyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAueGNhcGl0LmNvbS8ifX0sImU0MTMzNTYxNWRjMTc1MzI0Nzc3OTJiYjYzMDM0ZjY5ZDQzMGQ3M2RjMzlmZjhkYTYyMmQxN2YzYmFkMGI5NmEiOnsiaWQiOiJlNDEzMzU2MTVkYzE3NTMyNDc3NzkyYmI2MzAzNGY2OWQ0MzBkNzNkYzM5ZmY4ZGE2MjJkMTdmM2JhZDBiOTZhIiwibmFtZSI6Ik5pY2VncmFtIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9uaWNlZ3JhbS5hcHAiLCJpbWFnZV9pZCI6IjkyOTc0NWE0LTU4MzAtNDgwYi1mNmFiLWJiM2E4NTRiYzcwMCIsIm9yZGVyIjoxMzgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxNjA4ODcwNjczIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hcHAubmljZWdyYW0iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im5jZzovL3dhbGxldC9ob21lIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9uaWNlZ3JhbS5hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNjg5ZTYyMWEzNTg1Y2EwMThmZDQ0ZmY0MDRiYzg5MDc5YTBlNTVlOWM2MzI1NzRlOGJmOGQyYjFjNzkxODkxMSI6eyJpZCI6IjY4OWU2MjFhMzU4NWNhMDE4ZmQ0NGZmNDA0YmM4OTA3OWEwZTU1ZTljNjMyNTc0ZThiZjhkMmIxYzc5MTg5MTEiLCJuYW1lIjoiR29vZERvbGxhciIsImhvbWVwYWdlIjoiaHR0cHM6Ly9nb29kZG9sbGFyLm9yZyIsImltYWdlX2lkIjoiMzcxYWI2NWItZTJjOC00ODQzLWYxOGEtY2JjZjJiYTJlZDAwIiwib3JkZXIiOjEzOTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b3JnLmdvb2Rkb2xsYXIiLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJnb29kZG9sbGFyOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuZ29vZGRvbGxhci5vcmcvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiZ29vZGRvbGxhcjovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0Lmdvb2Rkb2xsYXIub3JnLyJ9fSwiYmZhNjk2N2ZkMDVhZGQ3YmIyYjE5YTQ0MmFjMzdjZWRiNmE2Yjg1NDQ4MzcyOTE5NGY1ZDcxODUyNzJjNTU5NCI6eyJpZCI6ImJmYTY5NjdmZDA1YWRkN2JiMmIxOWE0NDJhYzM3Y2VkYjZhNmI4NTQ0ODM3MjkxOTRmNWQ3MTg1MjcyYzU1OTQiLCJuYW1lIjoiQWJzb2x1dGUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2Fic29sdXRld2FsbGV0LmNvbS9kYXNoYm9hcmQvYnJpZGdlIiwiaW1hZ2VfaWQiOiIwMzc5NzA1OS1mYzQ5LTRhZGMtN2I5My01MDMyOTBiNjIzMDAiLCJvcmRlciI6MTQwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3QubWUvQWJzb2x1dGVXYWxsZXRCb3QiLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly90Lm1lL0Fic29sdXRlV2FsbGV0Qm90In19LCIxNWQ3NjEwMDQyMjE3ZjY5MTM4NWQyMGU2NDA4NjlkYzcyNzNlOTkxYjA0ZThmNDc2NDE3Y2RjNWVjODU2OTU1Ijp7ImlkIjoiMTVkNzYxMDA0MjIxN2Y2OTEzODVkMjBlNjQwODY5ZGM3MjczZTk5MWIwNGU4ZjQ3NjQxN2NkYzVlYzg1Njk1NSIsIm5hbWUiOiJDb2lub21pIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5jb2lub21pLmNvbSIsImltYWdlX2lkIjoiM2I0NDZkMTYtYTkwOC00MGM4LTU4MzUtOWE2ZWZlOTBkZDAwIiwib3JkZXIiOjE0MTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vYXBwL2NvaW5vbWktd2FsbGV0L2lkMTMzMzU4ODgwOSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNvaW5vbWkud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb2lub21pOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jb2lub21pLnBhZ2UubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjZjOTBkZWMzODc5MTI3YjQ2ZTE2MjE0NmU4OGNjMjcyYTc5NjU0NjQ4MzkyZDZkZTBmZWFhNGI1MTI3ZjM4ZWIiOnsiaWQiOiI2YzkwZGVjMzg3OTEyN2I0NmUxNjIxNDZlODhjYzI3MmE3OTY1NDY0ODM5MmQ2ZGUwZmVhYTRiNTEyN2YzOGViIiwibmFtZSI6IkxvY2tlciBUb2tlbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9sb2NrZXItdG9rZW4uY29tLyIsImltYWdlX2lkIjoiMzc0MDFkMzUtM2ZhMS00NTFjLTgwMmQtNjA0OTQwMzE1ODAwIiwib3JkZXIiOjE0MjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hcHAubG9ja2VyLXRva2VuLmNvbS8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FyL2FwcC9sb2NrZXItdG9rZW4vaWQxNjE5MTQwODQxP2w9ZW4iLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5sb2NrZXJ0b2tlbiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAubG9ja2VyLXRva2VuLmNvbS8ifX0sIjIxMjVhYjZhM2U4YmUwZDczZTZkNDhmOWRiMzljMzQ5MjVhNzkwYTYzMWI0YjY3Yjg0NTAyZDgyM2FhNDdhZDMiOnsiaWQiOiIyMTI1YWI2YTNlOGJlMGQ3M2U2ZDQ4ZjlkYjM5YzM0OTI1YTc5MGE2MzFiNGI2N2I4NDUwMmQ4MjNhYTQ3YWQzIiwibmFtZSI6IkhCIFdBTExFVCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9oYndhbGxldC5hcHAiLCJpbWFnZV9pZCI6ImYxMzRmOGEyLWNmNTgtNDRkZC03NjI2LWRjMmNkMjFhMzgwMCIsIm9yZGVyIjoxNDMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZXRoZXJldW0td2FsbGV0LWhiLXdhbGxldC9pZDEyNzM2Mzk1NzIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvLmJhY29vci5hbmRyb2lkLmhid2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJoYndhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNzYyNjAwMTlhZWM1YTNjNDRkZDI0MjFiZjc4ZTgwZjcxYTZjMDkwZDkzMmM0MTNhMjg3MTkzZWQ3OTQ1MDY5NCI6eyJpZCI6Ijc2MjYwMDE5YWVjNWEzYzQ0ZGQyNDIxYmY3OGU4MGY3MWE2YzA5MGQ5MzJjNDEzYTI4NzE5M2VkNzk0NTA2OTQiLCJuYW1lIjoiQXVyb3JhIFBhc3MiLCJob21lcGFnZSI6Imh0dHBzOi8vYXVyb3JhY2xvdWQuZGV2L3Bhc3MiLCJpbWFnZV9pZCI6IjZkOTNlZWJhLWVkY2UtNDMxYy00MjkzLWUyNTc4NGU2MWYwMCIsIm9yZGVyIjoxNDQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXVyb3JhLXBhc3Mtd2ViMy13YWxsZXQvaWQ2NDQ3MjQ0Mjg2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hdXJvcmEucGFzcy5hbmRyb2lkLmFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYXVyb3JhLXBhc3M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImRkOGVlNDE5MTVkOTY3ZTU0N2M4MDI2NmU4ODNkNzdlZTgwODQyNzQwNWY0ZTgwMjZhODVhYzEzMDgxMDQyMjEiOnsiaWQiOiJkZDhlZTQxOTE1ZDk2N2U1NDdjODAyNjZlODgzZDc3ZWU4MDg0Mjc0MDVmNGU4MDI2YTg1YWMxMzA4MTA0MjIxIiwibmFtZSI6IkxpbmVuIiwiaG9tZXBhZ2UiOiJodHRwczovL2xpbmVuLmFwcC8iLCJpbWFnZV9pZCI6ImFmZjNlNGUxLTkyYTktNDA2Ni1mNDhmLTM1OTE5NDdjZjIwMCIsIm9yZGVyIjoxNDUwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvbGluZW4tYXBwLWludmVzdGluZy1pbi1kZWZpL2lkMTQ4MDUwOTA2NyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9YXBwLmxpbmVuLndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImxpbmVuOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5lbi5hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMzlmMjMwZGIxZDcwNmM1NGIxMzlhYTc5Y2RmMWU3ZjFiMGRlZTA1ZDYxZWNjN2ExYjRmOGQ4NmMxYTEwMzU0YyI6eyJpZCI6IjM5ZjIzMGRiMWQ3MDZjNTRiMTM5YWE3OWNkZjFlN2YxYjBkZWUwNWQ2MWVjYzdhMWI0ZjhkODZjMWExMDM1NGMiLCJuYW1lIjoiQ0ZDWCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jZmN4LmlvIiwiaW1hZ2VfaWQiOiIyZjFjZGEwZC1mZjBjLTQzY2EtODIwMC02ZGQxODU2MGMxMDAiLCJvcmRlciI6MTQ2MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2NmY3guaW8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9jZmN4L2lkNjc1MzY0NDM0MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNmY3gmcGNhbXBhaWduaWQ9d2ViX3NoYXJlIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjZmN4Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jZmN4LmlvLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2ZjeC5pbyJ9fSwiNjMxYzI5ZWE3OGRhYmNmZDBhZGRlZjA3N2M0OTZiMTg2ODljN2M4YWM4YTY2NDNlM2JlZjkzNTU1YTg1NTVmOSI6eyJpZCI6IjYzMWMyOWVhNzhkYWJjZmQwYWRkZWYwNzdjNDk2YjE4Njg5YzdjOGFjOGE2NjQzZTNiZWY5MzU1NWE4NTU1ZjkiLCJuYW1lIjoiQVRPTiIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cucGxhdG9uLm5ldHdvcmsvZW4vd2FsbGV0IiwiaW1hZ2VfaWQiOiIyZTg1ZjFkMS1mNDk4LTRjYWUtYmI1NC0xZDQwNjE0ZWUzMDAiLCJvcmRlciI6MTQ4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5wbGF0b24ubmV0d29yay9lbi93YWxsZXQiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hdG9uLXBsYXRvbi1uZXR3b3JrJUU5JTkyJUIxJUU1JThDJTg1L2lkMTQ3MzExMjQxOD9sPXpoIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucGxhdG9uLmF0b24iLCJtYWMiOm51bGwsIndpbmRvd3MiOiJodHRwczovL3d3dy5wbGF0b24ubmV0d29yay9lbi93YWxsZXQiLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5wbGF0b24ubmV0d29yay9lbi93YWxsZXQifX0sImIwNjY1NmQwYjA0ZjM0Mjc5OTQ1ZjM2NDUyYmM0MDg5ZThiNjJhNDRlMWQ1OGY5ZTk4ODA3NTI1YWMzN2FmMDYiOnsiaWQiOiJiMDY2NTZkMGIwNGYzNDI3OTk0NWYzNjQ1MmJjNDA4OWU4YjYyYTQ0ZTFkNThmOWU5ODgwNzUyNWFjMzdhZjA2IiwibmFtZSI6IldPVyBFQVJOIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy51bGxhcGF5LmNvbS8iLCJpbWFnZV9pZCI6IjE5ODVhNzUzLTdmZDgtNGQ3NS00YzUwLTc5OThlYTY4YTgwMCIsIm9yZGVyIjoxNDkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaWQ2NDQzNDM0MjIwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uaHhnLndhbGxldCZwbGk9MSIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InVsbGF3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjE2M2QyY2YxOWJhYmYwNWViODk2MmU5NzQ4ZjllYmU2MTNlZDUyZWJmOWM4MTA3YzlhMGYxMDRiZmNmMTYxYjMiOnsiaWQiOiIxNjNkMmNmMTliYWJmMDVlYjg5NjJlOTc0OGY5ZWJlNjEzZWQ1MmViZjljODEwN2M5YTBmMTA0YmZjZjE2MWIzIiwibmFtZSI6IkJyYXZlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9icmF2ZS5jb20vd2FsbGV0LyIsImltYWdlX2lkIjoiOGNlY2FkNjYtNzNlMy00NmVlLWY0NWYtMDE1MDNjMDMyZjAwIiwib3JkZXIiOjE1MDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vYnJhdmUuY29tL3dhbGxldC8iLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNCcmF2ZVdhbGxldCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9LHsiaW5qZWN0ZWRfaWQiOiJpc0JyYXZlV2FsbGV0IiwibmFtZXNwYWNlIjoic29sYW5hIn1dLCJyZG5zIjoiY29tLmJyYXZlLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYWJlMGZkZWFlN2I5MjJhMDdiZDBjZWQyNjhjYWUwNGMxMTk1Y2ExYTUwYTQ3OGNhODJiNmIzNGE3NGI4MzcwMCI6eyJpZCI6ImFiZTBmZGVhZTdiOTIyYTA3YmQwY2VkMjY4Y2FlMDRjMTE5NWNhMWE1MGE0NzhjYTgyYjZiMzRhNzRiODM3MDAiLCJuYW1lIjoiR3J5ZnluIiwiaG9tZXBhZ2UiOiJodHRwczovL2dyeWZ5bi5pby8iLCJpbWFnZV9pZCI6IjUxYmIxNTA3LTQ1YTEtNGQyMS0xNWYyLTFjYzJlYmU2OTQwMCIsIm9yZGVyIjoxNTEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vZ3J5ZnluLmlvLyIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2dyeWZ5bi5pby8ifX0sImNmMTQ2NDJmYjg3MzZhOTliNzMzYWRhNzE4NjMyNDFjODIzNzQzYjE2ZTJhODIyYjNkYmEyNGUyZmEyNTAxNGQiOnsiaWQiOiJjZjE0NjQyZmI4NzM2YTk5YjczM2FkYTcxODYzMjQxYzgyMzc0M2IxNmUyYTgyMmIzZGJhMjRlMmZhMjUwMTRkIiwibmFtZSI6IlRhaG8iLCJob21lcGFnZSI6Imh0dHBzOi8vdGFoby54eXovIiwiaW1hZ2VfaWQiOiIxMzQxNjk1MC1mNzNmLTRhNGMtMmYyMi1kNDk0ZWQ1ZGY4MDAiLCJvcmRlciI6MTUyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvdGFoby9lYWphZm9taG1raXBiam1mbWhlYmVtb2xrY2ljZ2ZtZCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc1RhbGx5IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImU1Mjc2ODUwYTI1NTlhMGZkNGViMzcyMDdlM2M5MzI1Y2ZiMjBiODRlYmIyOGEyZDZhZDVhZGU0M2EyYTc3YmQiOnsiaWQiOiJlNTI3Njg1MGEyNTU5YTBmZDRlYjM3MjA3ZTNjOTMyNWNmYjIwYjg0ZWJiMjhhMmQ2YWQ1YWRlNDNhMmE3N2JkIiwibmFtZSI6IlBpb25lV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3Bpb25ld2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6ImQzYWI1MDEzLWY0OTctNDg1Ny1kMTY5LTRlNjY2ZGI4OWEwMCIsIm9yZGVyIjoxNTMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcGlvbmUtd2FsbGV0L2lkNjczODkxNDgzMyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNvbXBhbnluYW1lLnN3YXB0b2JlJmhsPXZpIiwibWFjIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcGlvbmUtd2FsbGV0L2lkNjczODkxNDgzMyIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNQaW9uZVdhbGxldCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0b2Jld2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJhOTc1MWYxN2EzMjkyZjJkMTQ5MzkyN2YwNTU1NjAzZDY5ZTlhM2ZjYmNkZjU2MjZmMDFiNDlhZmEyMWNlZDkxIjp7ImlkIjoiYTk3NTFmMTdhMzI5MmYyZDE0OTM5MjdmMDU1NTYwM2Q2OWU5YTNmY2JjZGY1NjI2ZjAxYjQ5YWZhMjFjZWQ5MSIsIm5hbWUiOiJGcmFtZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9mcmFtZS5zaC8iLCJpbWFnZV9pZCI6IjI5YjRmNTY5LWMxZTgtNDE0NC0xMzJlLTYyOWJmNTI5MGYwMCIsIm9yZGVyIjoxNTQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9mcmFtZS1jb21wYW5pb24vbGRjb29oZWRmYmpvb2JjYWRvZ2xubm1tZmJkbG1taGYiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNGcmFtZSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjNDBiOWJjZWYzMmZhNmNlNGUwZGY5OGJlMTQyMDYyOGJiYzQ5NTc2NDZmNzQyMzgwZmU2MThmY2I0YWI3NGYxIjp7ImlkIjoiYzQwYjliY2VmMzJmYTZjZTRlMGRmOThiZTE0MjA2MjhiYmM0OTU3NjQ2Zjc0MjM4MGZlNjE4ZmNiNGFiNzRmMSIsIm5hbWUiOiJSaWNlV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3JpY2V3YWxsZXQuaW8vIiwiaW1hZ2VfaWQiOiJkZjk0NTc4ZS0xOWJlLTRmMDAtMjU4Zi0yNDcwMzQzZTdiMDAiLCJvcmRlciI6MTU2MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3JpY2V3YWxsZXQuaW8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicmljZXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vcmljZXdhbGxldC5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9yaWNld2FsbGV0LmlvIn19LCIzNGZjYTBmMGVhYTUxYWY4NTZjYzdmMjA1YmFjYzM2ZWRlNDU1NDVmYTk4N2ZkODEyNzRlNTNkYjc3MThhMTgzIjp7ImlkIjoiMzRmY2EwZjBlYWE1MWFmODU2Y2M3ZjIwNWJhY2MzNmVkZTQ1NTQ1ZmE5ODdmZDgxMjc0ZTUzZGI3NzE4YTE4MyIsIm5hbWUiOiJDT0NBIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuY29jYS54eXovIiwiaW1hZ2VfaWQiOiIxNmU3NTg5My1hZWU3LTQ4ODQtMjI2Ny1iNTYxZmIwMzFkMDAiLCJvcmRlciI6MTU3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2NvY2EtY3J5cHRvLWFuZC1kZWZpL2lkMTU5NDE2NTEzOSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndpcmV4LndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2lyZXh3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3YWxsZXQuYXBwLmxpbmsvd2M/dXJpPXdjOjAwZTQ2YjY5LWQwY2MtNGIzZS1iNmEyLWNlZTQ0MmY5NzE4OEAxP2JyaWRnZT1odHRwcyUzQSUyRiUyRmJyaWRnZS53YWxsZXRjb25uZWN0Lm9yZyZrZXk9OTEzMDNkZWRmNjQyODVjYmJhZjkxMjBmNmU5ZDE2MGE1YzhhYTNkZWI2NzAxN2EzODc0Y2QyNzIzMjNmNDhhZSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjRmNWRlNTMzM2ZlZDJjY2Y0N2M2OTA1NzlhYmEzYjkxMjhhZWE3ODE3NTMzOWZmNTFlZjYxNzA0YmRlNzUwMmEiOnsiaWQiOiI0ZjVkZTUzMzNmZWQyY2NmNDdjNjkwNTc5YWJhM2I5MTI4YWVhNzgxNzUzMzlmZjUxZWY2MTcwNGJkZTc1MDJhIiwibmFtZSI6Ik9rc2UgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL29rc2UuaW8iLCJpbWFnZV9pZCI6IjhhMWIzNmQ1LTdmNDAtNDAzYS03MDAwLTVkMzBmOTE4MTIwMCIsIm9yZGVyIjoxNTkwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vb2tzZS5pbyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL29rc2Utd2FsbGV0LWNhcmQvaWQxNTU1OTE0NTkxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD13YWxsZXQub2tzZS5pbyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoib2tzZXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vb2tzZS5pby8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vb2tzZS5pbyJ9fSwiZDUwY2M4MDczMDVmODg2ZjcxMjIwNmM5YThhN2U0N2E3NzZhMjY2YTczNjdiYzA4MGZlOGNlOTM5ZmNmYTJiOCI6eyJpZCI6ImQ1MGNjODA3MzA1Zjg4NmY3MTIyMDZjOWE4YTdlNDdhNzc2YTI2NmE3MzY3YmMwODBmZThjZTkzOWZjZmEyYjgiLCJuYW1lIjoiQWxpY2Vib2IgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2FsaWNlYm9iLmNvbS8iLCJpbWFnZV9pZCI6IjE1YmU4ZGRkLTBiZWYtNDk0OC01NmQxLTYxMDEzNDdhNmIwMCIsIm9yZGVyIjoxNjAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYWxpY2Vib2ItY3J5cHRvLWJ0Yy13YWxsZXQvaWQ2NDY3MTk3NjIyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uY3J5cHRvLmFiLndhbGxldC5hcHAiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hbGljZWJvYi1jcnlwdG8tYnRjLXdhbGxldC9pZDY0NjcxOTc2MjIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9hbGljZWJvYi13YWxsZXQvbWptcGtiZWVjbGptYW9vamlqZmxwZnBtcGRobnBhYmQiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNBbGljZUJvYiIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNyeXB0by5hYi53YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjVkYzYxZTlkNTc0ODliY2NjMTEzMDYzNjUzNjE2MTRkYWMzZGUxZDhlYWIyYTlhNzg3N2E5NTk3MGY2ODcxMmYiOnsiaWQiOiI1ZGM2MWU5ZDU3NDg5YmNjYzExMzA2MzY1MzYxNjE0ZGFjM2RlMWQ4ZWFiMmE5YTc4NzdhOTU5NzBmNjg3MTJmIiwibmFtZSI6IlBheUJvbHQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnBheWJvbHQuY29tIiwiaW1hZ2VfaWQiOiJjYzhmNGUwYy01NmE4LTQ2NWEtNmNiNi0zZTlkNjA4NDY1MDAiLCJvcmRlciI6MTYyMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5wYXlib2x0LmNvbSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL3BheWJvbHQtY3J5cHRvL2lkMTU5OTg4MDI5MCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmZpbmNyeXB0LnBheWJvbHQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InBheWJvbHQ6Ly9XYWxsZXQiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cucGF5Ym9sdC5jb20ifX0sImZlYTk4ZmFmOGI1YWUyMTZjMTA5MWJiMzNkZmM0MWVlMjcyNzgwNTliODcxYmYxZDViMWI3YWYzNzQ0ZWNhNzIiOnsiaWQiOiJmZWE5OGZhZjhiNWFlMjE2YzEwOTFiYjMzZGZjNDFlZTI3Mjc4MDU5Yjg3MWJmMWQ1YjFiN2FmMzc0NGVjYTcyIiwibmFtZSI6IklCVk0gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2lidm0uaW8vIiwiaW1hZ2VfaWQiOiJhOWI4ZDRjNC1iNmUxLTRiMmUtMTVjMy04MTMzMTUxMWM0MDAiLCJvcmRlciI6MTYzMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2lidm0td2FsbGV0L2lkNjc0NDk2NjYzMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmlidm0ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJpYnZtOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI5ZWM3ZGMyNjk3M2IxYTdiZDcwOGFhYWU3NDkwMDJmZTNiYzUwOTI1NDQ3MjkzOWE4ZDhkMmFlMWYyZDQ4M2IyIjp7ImlkIjoiOWVjN2RjMjY5NzNiMWE3YmQ3MDhhYWFlNzQ5MDAyZmUzYmM1MDkyNTQ0NzI5MzlhOGQ4ZDJhZTFmMmQ0ODNiMiIsIm5hbWUiOiJFdGhlck1haWwiLCJob21lcGFnZSI6Imh0dHBzOi8vZXRoZXJtYWlsLmlvIiwiaW1hZ2VfaWQiOiI3ZjMyMDVjNi02MDUxLTRjZGItOGVmOC04NDMzNGE3YzdmMDAiLCJvcmRlciI6MTY0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2V0aGVybWFpbC9pZDY0NTEzMDU5NjYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5ldGhlcm1haWwuZXRoZXJtYWlsX2FuZHJvaWQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImV0aGVybWFpbDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiY2JlMTNlYjQ4MmM3NmYxZmE0MDFmZjRjODRkOWFjZDBiOGJjOWFmMzExY2EwNjIwYTBiMTkyZmIyODM1OWI0ZSI6eyJpZCI6ImNiZTEzZWI0ODJjNzZmMWZhNDAxZmY0Yzg0ZDlhY2QwYjhiYzlhZjMxMWNhMDYyMGEwYjE5MmZiMjgzNTliNGUiLCJuYW1lIjoiUGxhc21hIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9wbGFzbWEtd2FsbGV0LmNvbSIsImltYWdlX2lkIjoiYzI2OGU3OGQtZmZiMC00YzhiLTVjYWQtMDRjM2FkZDQ4NTAwIiwib3JkZXIiOjE2NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9wbGFzbWFwYXktZGVmaS1jcnlwdG8td2FsbGV0L2lkMTQ2MTczNTM5NiIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicGxhc21hd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9wbGFzbWEtd2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjc0NjhlYmJmNWUxNGJkMTQ2YzRmYTEyYTA4ZmIxYTBkOGQ5YWYzYjY2NDA5YTViNjgyYjY0Y2ZmYzRmMjE5MTkiOnsiaWQiOiI3NDY4ZWJiZjVlMTRiZDE0NmM0ZmExMmEwOGZiMWEwZDhkOWFmM2I2NjQwOWE1YjY4MmI2NGNmZmM0ZjIxOTE5IiwibmFtZSI6IkJ5dGVCYW5rIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5ieXRlYmFuay5vcmcvIiwiaW1hZ2VfaWQiOiJiYzdhYWNkNi1iMmUyLTQxNDYtN2QyMS0wNmUwYzVkNDRmMDAiLCJvcmRlciI6MTY2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vc2cvYXBwL2hpZGVvdXQtd2FsbGV0L2lkMTYyMDMxNTE5Mj9sPXpoIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uaGlkZW91dC53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImhpZGVvdXRXYWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjQ4MmIwOTI1YTkzNTU1NzRlNDY2MjlhYzM5NmVkNDgyMzI3NDZiZDMyZjcyYTdiODEzNzY3YTNmYTg3NmFkOTMiOnsiaWQiOiI0ODJiMDkyNWE5MzU1NTc0ZTQ2NjI5YWMzOTZlZDQ4MjMyNzQ2YmQzMmY3MmE3YjgxMzc2N2EzZmE4NzZhZDkzIiwibmFtZSI6Im1PbmUgc3VwZXJhcHAiLCJob21lcGFnZSI6Imh0dHBzOi8vbW9uZS5teS8iLCJpbWFnZV9pZCI6IjAzMWRmOTIxLWM1YTUtNDUxYy0xYWQ0LWY0MWQ0ZjhmYmIwMCIsIm9yZGVyIjoxNjcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbW9uZS1teS1vbmUtc3VwZXJhcHAvaWQxNjI4MDg3MzU2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubWV0YXByby5hcHAmaGw9ZW4mZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im1vbmU6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL21vbmUubXkvYXBwIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNTUwYjU5OTQyZWI1OGE3MjI2MzgxYmY3OTM1ZjIyZDMxMWU1NmVlMjljMzUzMGU0NGQ5NmIxZGUwNTUwYTM1YSI6eyJpZCI6IjU1MGI1OTk0MmViNThhNzIyNjM4MWJmNzkzNWYyMmQzMTFlNTZlZTI5YzM1MzBlNDRkOTZiMWRlMDU1MGEzNWEiLCJuYW1lIjoiT2t0byIsImhvbWVwYWdlIjoiaHR0cHM6Ly9va3RvLnRlY2gvIiwiaW1hZ2VfaWQiOiIxNTRjNjliNy05YmIxLTQwMTAtNWI0Yy02YjM3ZWVkYTg5MDAiLCJvcmRlciI6MTY4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL29rdG8uZ28ubGluay8/YWRqX3Q9ajM5YjlrcCZhZGpfZmFsbGJhY2s9aHR0cHMlM0ElMkYlMkZva3RvLnRlY2gmYWRqX3JlZGlyZWN0X21hY29zPWh0dHBzJTNBJTJGJTJGb2t0by50ZWNoIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9pbi9hcHAvb2t0by13YWxsZXQvaWQ2NDUwNjg4MjI5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uY29pbmRjeC5va3RvJmhsPWVuX0lOJmdsPVVTIiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vb2t0by50ZWNoLyIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6Imh0dHBzOi8vb2t0by50ZWNoLyIsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJva3RvOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9va3RvLmdvLmxpbmsvP2Fkal90PWozOWI5a3AmYWRqX2ZhbGxiYWNrPWh0dHBzJTNBJTJGJTJGb2t0by50ZWNoJmFkal9yZWRpcmVjdF9tYWNvcz1odHRwcyUzQSUyRiUyRm9rdG8udGVjaCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9va3RvLnRlY2gvIn19LCI5NTA0YTFjMWE4NmNjMDcwMmIyZDNlNDcwNDllMTM4OWIzNzNmYjJmZjIyZGUzMjA4Yzc0OGQ2MjkxMjQzM2E0Ijp7ImlkIjoiOTUwNGExYzFhODZjYzA3MDJiMmQzZTQ3MDQ5ZTEzODliMzczZmIyZmYyMmRlMzIwOGM3NDhkNjI5MTI0MzNhNCIsIm5hbWUiOiJPcHRvIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vcHRvd2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6IjNkZjEwMmU0LWU0MzUtNDlkZC1kNGIxLTVlYTc0ZWJlZDUwMCIsIm9yZGVyIjoxNjkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvb3B0by13YWxsZXQvaWQ2NDQzODU0NTM3IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hcHAub3B0by53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im9wdG86Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjhiNjhkNzQyOGEzYTgwYTczOTBhMjFjMWEwMDE5MzQ4ZDU4YjNkMjliZDRlZmJkOWRhM2NiOWYyMzEyNTE5MzMiOnsiaWQiOiI4YjY4ZDc0MjhhM2E4MGE3MzkwYTIxYzFhMDAxOTM0OGQ1OGIzZDI5YmQ0ZWZiZDlkYTNjYjlmMjMxMjUxOTMzIiwibmFtZSI6IldoaXRld2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3doaXRld2FsbGV0LmFwcC8iLCJpbWFnZV9pZCI6IjMyOGRkZmM2LTA5ODctNDk4MS02OWNmLWM0YmQ3YTE5ZGMwMCIsIm9yZGVyIjoxNzAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9lcy9hcHAvd2hpdGV3YWxsZXQtY3J5cHRvLXdhbGxldC9pZDY3MzY0NDUyMTUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jbGVhci53aGl0ZXdhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2hpdGV3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3doaXRld2FsbGV0YXBwLmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJmYmVhNmY2OGRmNGU2Y2UxNjNjMTQ0ZGY4NmRhODlmMjRjYjI0NGYxOWI1MzkwM2UyNmFlYTlhYjdkZTYzOTNjIjp7ImlkIjoiZmJlYTZmNjhkZjRlNmNlMTYzYzE0NGRmODZkYTg5ZjI0Y2IyNDRmMTliNTM5MDNlMjZhZWE5YWI3ZGU2MzkzYyIsIm5hbWUiOiJLbGV2ZXIgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2tsZXZlci5pby8iLCJpbWFnZV9pZCI6IjJlMTgxYmEzLWJmNmYtNDU5OS01MzQ5LWY3NDA5YmM2MjEwMCIsIm9yZGVyIjoxNzEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva2xldmVyLXdhbGxldC9pZDE2MTUwNjQyNDMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWZpbmFuY2Uua2xldmVyLmJpdGNvaW4ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJrbGV2ZXItd2FsbGV0Oi8vZHAvd2FsbGV0Y29ubmVjdCIsInVuaXZlcnNhbCI6Imh0dHBzOi8va2xldmVyLnBhZ2UubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjRiMzcxM2MyM2Q1YjM4ZjhhZTQyZTA2ODJlODFiMTI4NjgyOGIwYjQ4YWQyZTk4M2JhNWI5MjhiNDdmOTM3ZjQiOnsiaWQiOiI0YjM3MTNjMjNkNWIzOGY4YWU0MmUwNjgyZTgxYjEyODY4MjhiMGI0OGFkMmU5ODNiYTViOTI4YjQ3ZjkzN2Y0IiwibmFtZSI6IkFsZXBoaXVtIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hbGVwaGl1bS5vcmcvIiwiaW1hZ2VfaWQiOiIzZWNlNzZmMS1mYzcxLTRmYWQtMmQyOC03MDdmNWE4ZDIzMDAiLCJvcmRlciI6MTcyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2FsZXBoaXVtLXdhbGxldC9pZDY0NjkwNDMwNzIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5hbGVwaGl1bS53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImFsZXBoaXVtOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhMDcxOGY1ZmIxNDkzZTRhYWFjNzJjZmY2MmQxNjJjYjg1ZGI0MGVkNjhmZDg3MDAyOThmMzZmMWQ1YzRiNzNkIjp7ImlkIjoiYTA3MThmNWZiMTQ5M2U0YWFhYzcyY2ZmNjJkMTYyY2I4NWRiNDBlZDY4ZmQ4NzAwMjk4ZjM2ZjFkNWM0YjczZCIsIm5hbWUiOiJBaXJHYXAgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2FpcmdhcC5pdCIsImltYWdlX2lkIjoiNzZiZmU4Y2QtY2YzZi00MzQxLWMzM2MtNjBkYTAxMDY1MDAwIiwib3JkZXIiOjE3MzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQuYWlyZ2FwLml0IiwiaW9zIjoiaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9haXJnYXAtd2FsbGV0L2lkMTQyMDk5NjU0Mj9sPWRlJmxzPTEmbXQ9OCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aXQuYWlyZ2FwLndhbGxldCIsIm1hYyI6Imh0dHBzOi8vZ2l0aHViLmNvbS9haXJnYXAtaXQvYWlyZ2FwLXdhbGxldC9yZWxlYXNlcyIsIndpbmRvd3MiOiJodHRwczovL2dpdGh1Yi5jb20vYWlyZ2FwLWl0L2FpcmdhcC13YWxsZXQvcmVsZWFzZXMiLCJsaW51eCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9haXJnYXAtaXQvYWlyZ2FwLXdhbGxldC9yZWxlYXNlcyIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYWlyZ2FwLXdhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5haXJnYXAuaXQifX0sIjE1MzFhMmM3ZGQ0NTA2ZGYyZWM4NjYwZGEzMWM3ZDRhNWYzYzllYmJjMTIxYzc5OTZjNjg4ZTEyYTA5N2YyNmIiOnsiaWQiOiIxNTMxYTJjN2RkNDUwNmRmMmVjODY2MGRhMzFjN2Q0YTVmM2M5ZWJiYzEyMWM3OTk2YzY4OGUxMmEwOTdmMjZiIiwibmFtZSI6IkJpdHBpZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iaXRwaWUuY29tIiwiaW1hZ2VfaWQiOiJlNmRjZTRlYy1hMWE4LTQ5ZTYtZDhlMS04MzI5ZmRkNWM3MDAiLCJvcmRlciI6MTc0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2JpdHBpZS11bml2ZXJzYWwtY3J5cHRvLXdhbGxldC9pZDE0ODEzMTQyMjkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9iaXRwaWUuY29tL2FuZHJvaWQvIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJiaXRwaWV3YzovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNTk5NjhjNGU1ZWYxOGVmZTNhMjg3Y2IxMjA2YzQxZmQ0NmQ2OTU4OWRlZjhmZDVjNDk5MGJlOTI0MDFmYWJjYiI6eyJpZCI6IjU5OTY4YzRlNWVmMThlZmUzYTI4N2NiMTIwNmM0MWZkNDZkNjk1ODlkZWY4ZmQ1YzQ5OTBiZTkyNDAxZmFiY2IiLCJuYW1lIjoiT0lTWSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vaXN5LmNvbSIsImltYWdlX2lkIjoiZmQ5NGQxNGMtYzZhMC00N2E5LTQ5OGEtZTZkZjk1ZTUwZjAwIiwib3JkZXIiOjE3NTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9vaXN5LmNvbSIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL29pc3kuY29tIn19LCJkMTY2YzI4M2Q1OTE2NDUzOGNkYzUwZTQxNDU0NmE3NDMzZDVmNjJiOTQxMGM5YWE1NjNlNGUyZWM0OTZhMTA2Ijp7ImlkIjoiZDE2NmMyODNkNTkxNjQ1MzhjZGM1MGU0MTQ1NDZhNzQzM2Q1ZjYyYjk0MTBjOWFhNTYzZTRlMmVjNDk2YTEwNiIsIm5hbWUiOiJaZWxjb3JlIiwiaG9tZXBhZ2UiOiJodHRwczovL3plbGNvcmUuaW8iLCJpbWFnZV9pZCI6IjlmYTQ0NTU4LWEyMmItNDdiMS04N2E0LWI3NjU1ZWIzMDcwMCIsIm9yZGVyIjoxNzYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9nci9hcHAvemVsY29yZS9pZDE0MzYyOTY4MzkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS56ZWxjYXNoLnplbGNvcmUiLCJtYWMiOiJodHRwczovL3plbGNvcmUuaW8vd2FsbGV0Iiwid2luZG93cyI6Imh0dHBzOi8vemVsY29yZS5pby93YWxsZXQiLCJsaW51eCI6Imh0dHBzOi8vemVsY29yZS5pby93YWxsZXQiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3plbGNvcmUva2hwZGFraGFpZ2NvcGFrY29uZGpsZWliZ3BkanBtY2siLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3plbGNvcmUva2hwZGFraGFpZ2NvcGFrY29uZGpsZWliZ3BkanBtY2siLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiaW8uemVsY29yZSIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ6ZWw6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiJ6ZWw6Ly8iLCJ1bml2ZXJzYWwiOiIifX0sIjJjNjliNDVmNjI1YWRkMGFjZDMzNTRkZjRhYjc1NzA2NzE0M2I3ZjU0YjkzNzMxMTk2NmY1NWJlNjBhODljNDEiOnsiaWQiOiIyYzY5YjQ1ZjYyNWFkZDBhY2QzMzU0ZGY0YWI3NTcwNjcxNDNiN2Y1NGI5MzczMTE5NjZmNTViZTYwYTg5YzQxIiwibmFtZSI6IkdheWEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2dheWF3YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiI0MGNiOGE1ZC02MTE4LTQwNGQtNzE1Ni00YWI5YmZiMTg2MDAiLCJvcmRlciI6MTc3MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3BrL2FwcC9nYXlhLXdhbGxldC9pZDY3NDE3MTQyNzgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5nYXlhd2FsbGV0bW9iYXBwJnBjYW1wYWlnbmlkPXdlYl9zaGFyZSZwbGk9MSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9nYXlhd2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZjcxNGZkZjkxMWUzMzAxMjg0NjNhYmU5Njg0YjhjMDJmNDkyODI2ZGIxODVhZmVjZWYxZTkwNzA0MTBlZmVlYyI6eyJpZCI6ImY3MTRmZGY5MTFlMzMwMTI4NDYzYWJlOTY4NGI4YzAyZjQ5MjgyNmRiMTg1YWZlY2VmMWU5MDcwNDEwZWZlZWMiLCJuYW1lIjoiVmVXb3JsZCBNb2JpbGUiLCJob21lcGFnZSI6Imh0dHBzOi8vdmV3b3JsZC5jb20iLCJpbWFnZV9pZCI6ImFmYTUwODRiLTAyZGEtNGRkNC00MThiLTlmNjQxMGUzNGUwMCIsIm9yZGVyIjoxNzgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly93d3cudmV3b3JsZC5jb20vIiwiYW5kcm9pZCI6Imh0dHBzOi8vd3d3LnZld29ybGQuY29tLyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidmV3b3JsZDovL29yZy52ZWNoYWluLnZld29ybGQuYXBwLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYjgzYTM0Njg3N2I3MWMwMmI4NTMxZjUzNDg1Y2UxMmJjMDAwMzNlYWJjYzEyMTNjYTMzMjljYmM3NDQ4MTNhNSI6eyJpZCI6ImI4M2EzNDY4NzdiNzFjMDJiODUzMWY1MzQ4NWNlMTJiYzAwMDMzZWFiY2MxMjEzY2EzMzI5Y2JjNzQ0ODEzYTUiLCJuYW1lIjoiSG9sZHN0YXRpb24gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5ob2xkc3RhdGlvbi5jb20iLCJpbWFnZV9pZCI6ImRiYTIyOGZjLWQwYzktNDk3Yi05MDNlLTg0M2FkMTA3NmUwMCIsIm9yZGVyIjoxNzkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaG9sZHN0YXRpb24td2ViMy13YWxsZXQvaWQ2NDQ0OTI1NjE4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5ob2xkc3RhdGlvbiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiaG9sZHN0YXRpb246Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3N0YWdpbmctcmVmZXJyYWwuaG9sZHN0YXRpb24uY29tL3dhbGxldC1jb25uZWN0P3VyaT0ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhYmNmYTdjYWVjMGQxOTZjZTlhOTliNDhlZTZkNTYyODg0ZjdlMzgyNTJmZTc1MjBjMWZjOWY1M2JmMGUyZmJjIjp7ImlkIjoiYWJjZmE3Y2FlYzBkMTk2Y2U5YTk5YjQ4ZWU2ZDU2Mjg4NGY3ZTM4MjUyZmU3NTIwYzFmYzlmNTNiZjBlMmZiYyIsIm5hbWUiOiJVbml2ZXJzYWxQcm9maWxlcyIsImhvbWVwYWdlIjoiaHR0cHM6Ly91bml2ZXJzYWxldmVyeXRoaW5nLmlvIiwiaW1hZ2VfaWQiOiI0NTM3ZmIxMS1hZGEzLTQwMDktMzdjMi1jNzBlZDRiNDYzMDAiLCJvcmRlciI6MTgwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3VuaXZlcnNhbHByb2ZpbGVzL2lkNjcwMjAxODYzMSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8udW5pdmVyc2FsZXZlcnl0aGluZy51bml2ZXJzYWxwcm9maWxlcyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiaW8udW5pdmVyc2FsZXZlcnl0aGluZy51bml2ZXJzYWxwcm9maWxlczovL3dhbGxldC1jb25uZWN0IiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjOGM4ZjQ0MzI5YjliODI2ZGVkOWEyYWMzMzA3NDVmNTg0YTYxYWVkNmIxZDBlZDJhMDkzYjY0YmNhN2ZjM2JiIjp7ImlkIjoiYzhjOGY0NDMyOWI5YjgyNmRlZDlhMmFjMzMwNzQ1ZjU4NGE2MWFlZDZiMWQwZWQyYTA5M2I2NGJjYTdmYzNiYiIsIm5hbWUiOiJBYnJhIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hYnJhLmNvbSIsImltYWdlX2lkIjoiMjIxOWRiMDEtZTBjOS00NzFjLTVkZWYtZmQzYjRlN2E3YTAwIiwib3JkZXIiOjE4MTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hYnJhLmNvbSIsImlvcyI6Imh0dHBzOi8vYWJyYS5jb20iLCJhbmRyb2lkIjoiaHR0cHM6Ly9hYnJhLmNvbSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYWJyYTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2FicmEuY29tIn19LCIzZmVjYWQ1ZTJmMGEzMGFiYTk3ZWRlYTY5ZWJmMDE1ODg0YTliOGE5YWVjOTNlNjZkNGI0YjY5NWZlZTFmMDEwIjp7ImlkIjoiM2ZlY2FkNWUyZjBhMzBhYmE5N2VkZWE2OWViZjAxNTg4NGE5YjhhOWFlYzkzZTY2ZDRiNGI2OTVmZWUxZjAxMCIsIm5hbWUiOiJUb3J1cyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hcHAudG9yLnVzIiwiaW1hZ2VfaWQiOiIxY2FhNDYyZS1kY2Y1LTRjNTYtZDE4MC0wOTRjODE0NDRmMDAiLCJvcmRlciI6MTgyMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC50b3IudXMiLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAudG9yLnVzIn19LCIyZWJjMzNhMDI5MDYwOTRiOGVhNWQyMWE3YzZlMTY3M2VjZGVmYjMzZGNhNzIzODk3ZDEzYzdkZTM0NDZkMzU0Ijp7ImlkIjoiMmViYzMzYTAyOTA2MDk0YjhlYTVkMjFhN2M2ZTE2NzNlY2RlZmIzM2RjYTcyMzg5N2QxM2M3ZGUzNDQ2ZDM1NCIsIm5hbWUiOiJQdW5kaSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vcHVuZGkuYWkvIiwiaW1hZ2VfaWQiOiJmMDk1YWJkNy01NzVlLTQ4NTEtY2Y5Yy03OWMyYzRlNGNjMDAiLCJvcmRlciI6MTg0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2YteC13YWxsZXQtYnktZnVuY3Rpb24teC1sYWJzL2lkMTUwNDc5ODM2MCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnB1bmRpeC5mdW5jdGlvbngiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImZ4d2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9meC53YWxsZXQvd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJlNjAwNTY0NmMxODdmYzVlNTE0MTI0NzkzMzI1MzM0NjE2ODI0MmRkNWVkOGY0NjQ4MGYzYjVmNzNhNGQxYWM5Ijp7ImlkIjoiZTYwMDU2NDZjMTg3ZmM1ZTUxNDEyNDc5MzMyNTMzNDYxNjgyNDJkZDVlZDhmNDY0ODBmM2I1ZjczYTRkMWFjOSIsIm5hbWUiOiJPbnl4IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vbnl4Lm9yZyIsImltYWdlX2lkIjoiZjlkMTk1NjEtYWRiMy00NTI2LWI4NTItNzdiYTNkNTM0NDAwIiwib3JkZXIiOjE4NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC9vbnl4LXhjbi13YWxsZXQvaWQ2NzQ4NjU0NTM5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ub255eC53YWxsZXRwcm9kJnBjYW1wYWlnbmlkPXdlYl9zaGFyZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoib255eHdhbGxldDovLy8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5vbnl4Lm9yZyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMWY3MTFkMzJiMWRmMGY4NDc0MWZhZmEyYWQxZDgxNTk5YjAxMjk3Y2M3ZDIyZDE1MzI3MmNiM2VmNDIzMmYxOSI6eyJpZCI6IjFmNzExZDMyYjFkZjBmODQ3NDFmYWZhMmFkMWQ4MTU5OWIwMTI5N2NjN2QyMmQxNTMyNzJjYjNlZjQyMzJmMTkiLCJuYW1lIjoiU2VxdWVuY2UgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3NlcXVlbmNlLnh5ei8iLCJpbWFnZV9pZCI6IjIyMWU3ZWU2LTM0NDUtNGI0Zi1mZDA3LTZlMDg5ZGU4MWYwMCIsIm9yZGVyIjoxODcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vc2VxdWVuY2UuYXBwIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjoiaHR0cHM6Ly9zZXF1ZW5jZS5hcHAvIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3NlcXVlbmNlLmFwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vc2VxdWVuY2UuYXBwIn19LCI0MWYyMDEwNjM1OWZmNjNjZjczMmFkZjFmN2RjMWExNTcxNzZjOWIwMmZkMjY2YjUwZGE2ZGNjMWU5Yjg2MDcxIjp7ImlkIjoiNDFmMjAxMDYzNTlmZjYzY2Y3MzJhZGYxZjdkYzFhMTU3MTc2YzliMDJmZDI2NmI1MGRhNmRjYzFlOWI4NjA3MSIsIm5hbWUiOiJCaXRpemVuIiwiaG9tZXBhZ2UiOiJodHRwczovL2JpdGl6ZW4ub3JnLyIsImltYWdlX2lkIjoiNzVkZDE0NzEtNzdlOS00ODExLWNlNTctZWM4ZmM5ODBlYzAwIiwib3JkZXIiOjE4ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9iaXRpemVuLWRlZmktd2ViMy1ldGgtd2FsbGV0L2lkMTU5ODI4MzU0MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b3JnLmJpdGl6ZW4ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9iaXRpemVuLm9yZy8iLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNCaXRpemVuIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYml0aXplbjovL3dhbGxldC8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2JpdGl6ZW4ub3JnL3dhbGxldC8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIwOWQzZjcxMDE0OGQ5NDk5M2NhOWYzZWQwOTU1OTRkN2NjOTBiYTQ2MTM3ZGQ4MDNhODkwNGI2ZGJiNGJkODljIjp7ImlkIjoiMDlkM2Y3MTAxNDhkOTQ5OTNjYTlmM2VkMDk1NTk0ZDdjYzkwYmE0NjEzN2RkODAzYTg5MDRiNmRiYjRiZDg5YyIsIm5hbWUiOiJVbHRpbWF0ZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly91bHRpbWF0ZS5hcHAvIiwiaW1hZ2VfaWQiOiIxZWQ5ODIzZC02NGRkLTRhYjYtMmYzZi0yMmM4ZmYyMjhmMDAiLCJvcmRlciI6MTg5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2lkMTYyOTA1MzQxMCIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidWx0aW1hdGU6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjZiMTZkNzBhY2UwMmIyMDhjNjdlMDZhZDAwZWQ4MTEwZjQ2ZTkxY2MwNzVlMGZkOThjNjhiODI1NTg3ZDQwNzYiOnsiaWQiOiI2YjE2ZDcwYWNlMDJiMjA4YzY3ZTA2YWQwMGVkODExMGY0NmU5MWNjMDc1ZTBmZDk4YzY4YjgyNTU4N2Q0MDc2IiwibmFtZSI6IkFrdGlvbmFyaWF0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ha3Rpb25hcmlhdC5jb20iLCJpbWFnZV9pZCI6ImNiYjk4NGMzLTkyMzgtNDY2MC1iYzllLWJmNTUzNTViOGUwMCIsIm9yZGVyIjoxOTEwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vY2gvYXBwL2FrdGlvbmFyaWF0L2lkMTUxODMyNjgxMyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmFrdGlvbmFyaWF0LmFwcCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiYWt0aW9uYXJpYXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5ha3Rpb25hcmlhdC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImM3NzA4NTc1YTJjM2M5ZTZhOGFiNDkzZDU2Y2RjYzU2NzQ4ZjAzOTU2MDUxZDAyMWI4Y2Q4ZDY5N2Q5YTNmZDIiOnsiaWQiOiJjNzcwODU3NWEyYzNjOWU2YThhYjQ5M2Q1NmNkY2M1Njc0OGYwMzk1NjA1MWQwMjFiOGNkOGQ2OTdkOWEzZmQyIiwibmFtZSI6IkZveFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cDovL2ZveHdhbGxldC5jb20iLCJpbWFnZV9pZCI6ImQ2NzMwNjhkLTFhY2YtNDM3Mi03NmVlLThlYjkzMWM1OWUwMCIsIm9yZGVyIjoxOTIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvZm94d2FsbGV0LWNyeXB0by13ZWIzL2lkMTU5MDk4MzIzMSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmZveHdhbGxldC5wbGF5IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJmb3h3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2xpbmsuZm94d2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjcxYTgzZmZiYWE3ZmEzODQxOWU4ZjU0OGE2NDk5Yzc4YzhkNDI5MTYzNjMxY2Y0ODM0ODNmYzdlZmM2YjdhYWUiOnsiaWQiOiI3MWE4M2ZmYmFhN2ZhMzg0MTllOGY1NDhhNjQ5OWM3OGM4ZDQyOTE2MzYzMWNmNDgzNDgzZmM3ZWZjNmI3YWFlIiwibmFtZSI6IlN0aWNrZXkgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3N0aWNrZXkuYXBwIiwiaW1hZ2VfaWQiOiIxMmFhYjlmYi1mM2Q0LTQyNDgtMTBlMC00ZWRhMTdhNWRlMDAiLCJvcmRlciI6MTkzMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3N0aWNrZXkuYXBwIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQxNjcxMTEzMDgzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hcHAuc3RpY2tleSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic3RpY2t5YXBwOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zdGlja2V5YXBwLnBhZ2UubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6InN0aWNreWFwcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vc3RpY2tleWFwcC5wYWdlLmxpbmsifX0sIjRhZWEzM2I2ZjhmZDFkNGI1YmUwOGNkZDU0MzU2Mjc0ZWEzMTg1ODY4YWNlNTE3MjhhZjdiYTg4OTEyMTFhODIiOnsiaWQiOiI0YWVhMzNiNmY4ZmQxZDRiNWJlMDhjZGQ1NDM1NjI3NGVhMzE4NTg2OGFjZTUxNzI4YWY3YmE4ODkxMjExYTgyIiwibmFtZSI6Ik92ZXJGbGV4IiwiaG9tZXBhZ2UiOiJodHRwczovL292ZXIubmV0d29yay9vdmVyZmxleCIsImltYWdlX2lkIjoiYWM0NDJlYzgtMjA2ZC00ODg1LTQxZGMtMDA1YWE5NGJjNTAwIiwib3JkZXIiOjE5NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9vdmVyd2FsbGV0LWZvci1vdmVyLXByb3RvY29sL2lkNjQ0NzI1MDg5MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnN1cGVyYmxvY2sub3Zlcm1vYmlsZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoib3ZlcmZsZXg6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImJjYWVjMTZlNTMxZmI1ZjZkYzY5MGQ3YjcwZDU3MDQyMWUwMjA5YWY5YTBmZTc3YzY0MTlkNTE2ZmUwMDk4YzIiOnsiaWQiOiJiY2FlYzE2ZTUzMWZiNWY2ZGM2OTBkN2I3MGQ1NzA0MjFlMDIwOWFmOWEwZmU3N2M2NDE5ZDUxNmZlMDA5OGMyIiwibmFtZSI6IkNvaW5TdGF0cyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jb2luc3RhdHMuYXBwIiwiaW1hZ2VfaWQiOiJiMmEwMDkwOC1mMTQ0LTRhNDktY2MwYS05ZDc0MjJhZDVlMDAiLCJvcmRlciI6MTk1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2lkMTI0Nzg0OTMzMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNvaW5zdGF0cy5jcnlwdG8ucG9ydGZvbGlvIiwibWFjIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaWQxMjQ3ODQ5MzMwIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY29pbnN0YXRzOi8vIiwidW5pdmVyc2FsIjoiaHR0cDovL2NvaW5zdGF0cy5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOiJjb2luc3RhdHM6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9fSwiYmQ0NGEzNDkxOTdjOWQyMjY1OWI5OGYwZGI1Nzk1ODlmMWU5OWYwZWY1MWNjYzA2ZmZhYjI1NDRiODZlNjhlNyI6eyJpZCI6ImJkNDRhMzQ5MTk3YzlkMjI2NTliOThmMGRiNTc5NTg5ZjFlOTlmMGVmNTFjY2MwNmZmYWIyNTQ0Yjg2ZTY4ZTciLCJuYW1lIjoiSEFSVGkgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2hhcnRpLmlvLyIsImltYWdlX2lkIjoiZDA0MDdmMjYtZmUwYi00ZjNjLTQzYzMtNjliYzhmZWYyZTAwIiwib3JkZXIiOjE5NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2pwL2FwcC9oYXJ0aS9pZDE1OTk5MjE5NDA/bD1lbiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9YXBwLmhhcnRpJmhsPWphJmdsPVVTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJIQVJUaTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYzRhMjg5ZGIzNGVkMWI4ZTI5ZDdlODdhMmU5N2MyMzZiYjgyZDcyZDYwYzhkNzNlMjdlMDI3NjlmYWNhYmQ0YSI6eyJpZCI6ImM0YTI4OWRiMzRlZDFiOGUyOWQ3ZTg3YTJlOTdjMjM2YmI4MmQ3MmQ2MGM4ZDczZTI3ZTAyNzY5ZmFjYWJkNGEiLCJuYW1lIjoiRFRURCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZHR0ZC5pby8iLCJpbWFnZV9pZCI6IjRhMWRhOWQwLTFhODEtNGU1MS00NzU4LWIyMTU3ZjRlNjAwMCIsIm9yZGVyIjoxOTcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9ob3AuZHR0ZC5hcHAvYXBwc3RvcmVkb3dubG9hZCIsImFuZHJvaWQiOiJodHRwczovL2hvcC5kdHRkLmFwcC9nb29nbGVwbGF5ZG93bmxvYWQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImRvdHRlZDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZWFlMmM0YjlkYTNiMzNiNzJiMjBkOTI5YTYzNDI4MzBiZjU0YjU0MTY2NWU1NGMzYTQ2MDI0MTE4ZTllMGU4MSI6eyJpZCI6ImVhZTJjNGI5ZGEzYjMzYjcyYjIwZDkyOWE2MzQyODMwYmY1NGI1NDE2NjVlNTRjM2E0NjAyNDExOGU5ZTBlODEiLCJuYW1lIjoiTm9vbmUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL25vb25lLmlvLyIsImltYWdlX2lkIjoiZmJhZTg5ZDMtZDZjYi00Yjk4LWJkMWMtYjIwMDdiNjFlZDAwIiwib3JkZXIiOjE5ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9ub29uZS13YWxsZXQvaWQxNjY4MzMzOTk1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5ub29uZS5hbmRyb2lkd2FsbGV0JmhsPWVuJmdsPVVTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvbm9vbmUtd2FsbGV0L2JnZmhtYWZqYW1wYWxrYmppY2pjamlpa2hsYWdnZG5tIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzTm9vbmVXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjcnlwdG8ubm9vbmUud2FsbGV0Oi8vd2FsbGV0Y29uIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI4ODEyNDNjMTg1NGYyMzhlMTg0NTgyMDcwOWQzNWRmZTQzMTZjNmVhODQxNWFhMzdkMmU3MmRlMTc5ZmU2NmRjIjp7ImlkIjoiODgxMjQzYzE4NTRmMjM4ZTE4NDU4MjA3MDlkMzVkZmU0MzE2YzZlYTg0MTVhYTM3ZDJlNzJkZTE3OWZlNjZkYyIsIm5hbWUiOiJIaW5rYWwgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2hpbmthbC5wcm8iLCJpbWFnZV9pZCI6Ijk2MThhZjU5LWYzMzMtNGU1Ni0wOWYxLWRkMWUyNGNjYTgwMCIsIm9yZGVyIjoxOTkwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vaGlua2FsLnBybyIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9oaW5rYWwtd2FsbGV0L2toZmpnYXBqZmNkb2ZmbWtsY2hpYnBlcGJvaG9scGJlIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoicHJvLmhpbmthbC53YWxsZXRjb25uZWN0IiwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhZDI5ZTZiYTgxNDg2NWRjODQxMTFhMzExZjBkNjQ2OTJhNmYzZmRjMjIwYWExYzE1MTAzNGIxZTk0OGZlMmVmIjp7ImlkIjoiYWQyOWU2YmE4MTQ4NjVkYzg0MTExYTMxMWYwZDY0NjkyYTZmM2ZkYzIyMGFhMWMxNTEwMzRiMWU5NDhmZTJlZiIsIm5hbWUiOiJUZWxsYXcgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy50ZWxsYXcuY29tLyIsImltYWdlX2lkIjoiYzFjYjAzZjUtZTFjMi00YzNlLTg2ZTEtOWE5MDU2NWVhMzAwIiwib3JkZXIiOjIwMDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pZDY0NDY4MDIyNDUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS50ZWxsYXcudGVsbGF3IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0ZWxsYXc6Ly93YWxsZXRjb25uZWN0IiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJmYTZhMDljN2VmZDczYzZmZTNiYzVhNjg5NjlkMGRlZjcxYjVkNzYwYjk5YTE2OTg1ZTNlOGU3OWQ4NGIwMTU2Ijp7ImlkIjoiZmE2YTA5YzdlZmQ3M2M2ZmUzYmM1YTY4OTY5ZDBkZWY3MWI1ZDc2MGI5OWExNjk4NWUzZThlNzlkODRiMDE1NiIsIm5hbWUiOiJTQSBBU1NJU1RBTlQiLCJob21lcGFnZSI6Imh0dHBzOi8vc3VtbW9uZXJzYXJlbmEuaW8vIiwiaW1hZ2VfaWQiOiI3OTU0YjUwOC05ZmYwLTQ0MTYtOWFiYS0xNjIwOWI1NzEwMDAiLCJvcmRlciI6MjAyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ub25lY2hhaW4uc2FhcyZobD1lbi1WTiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2FhczovL3N1Y2Nlc3MiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjgxNmQwNjdiNmUzMzg3OTY1OTExYmFiOTY2NjcyNWUyZTUzZDNiZmNkM2RhZGU3MDhiNzQ5MTdhNmQ1Yzg0MzIiOnsiaWQiOiI4MTZkMDY3YjZlMzM4Nzk2NTkxMWJhYjk2NjY3MjVlMmU1M2QzYmZjZDNkYWRlNzA4Yjc0OTE3YTZkNWM4NDMyIiwibmFtZSI6IkltcGFjdCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lml4by53b3JsZC8iLCJpbWFnZV9pZCI6ImFmYzg1NDE4LTJjYTYtNDZjZi1jZmI5LWRhZjZiYzQzZTQwMCIsIm9yZGVyIjoyMDMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaW1wYWN0cy14L2lkNjQ0NDk0ODA1OCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLml4by5tb2JpbGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImltcGFjdHN4Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhYmExZjY1MmU2MWZkNTM2ZThhN2E1Y2Q1ZTAzMTljOTA0N2M0MzVlZjhmN2U5MDc3MTczNjFmZjMzYmIzNTg4Ijp7ImlkIjoiYWJhMWY2NTJlNjFmZDUzNmU4YTdhNWNkNWUwMzE5YzkwNDdjNDM1ZWY4ZjdlOTA3NzE3MzYxZmYzM2JiMzU4OCIsIm5hbWUiOiJHYXRlV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5nYXRld2ViMy5uZXQvd2ViMyIsImltYWdlX2lkIjoiNmU1MjhhYmYtN2E3ZC00N2JkLWQ4NGQtNDgxZjE2OWIxMjAwIiwib3JkZXIiOjIwNDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL3d3dy5nYXRlLmlvL21vYmlsZWFwcCIsImFuZHJvaWQiOiJodHRwczovL3d3dy5nYXRlLmlvL21vYmlsZWFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZ3R3ZWIzd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOiJndHdlYjN3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5nYXRld2ViMy5uZXQvd2ViMyJ9fSwiZTQwMWI1NGNhMjg3Y2U1YzRjNDU3OWE5MTIyMGU3OTgxNmNmZjA3Y2RmMThiMzg4ZmRlODQ0NDljM2JlOGE1MSI6eyJpZCI6ImU0MDFiNTRjYTI4N2NlNWM0YzQ1NzlhOTEyMjBlNzk4MTZjZmYwN2NkZjE4YjM4OGZkZTg0NDQ5YzNiZThhNTEiLCJuYW1lIjoiS29hbGEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2tvYWxhd2FsbGV0LmlvLyIsImltYWdlX2lkIjoiMGQyMjIzNjctZmZhZi00NDAyLTM4NzMtZmRjODBlNTIxYjAwIiwib3JkZXIiOjIwNTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9rb2FsYS13YWxsZXQvaWQxNjI3NDg2MjU5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZXVjYWx5cHR1c2xhYnMua293YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9rb2FsYS13YWxsZXQvbG5ubm1mY3Bia2FmY3BnZGlsY2tobWhia2ticGttaWQiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9rb2FsYS13YWxsZXQvbG5ubm1mY3Bia2FmY3BnZGlsY2tobWhia2ticGttaWQiLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoia293YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjU0MTUxN2NmOTY0Njg3ZDE4NDE0ZmYwNWQyNjIzYjljMGExMjJhN2EwNmFjNWE1NzAyZmQ5MmM0ZjJiODdiMWMiOnsiaWQiOiI1NDE1MTdjZjk2NDY4N2QxODQxNGZmMDVkMjYyM2I5YzBhMTIyYTdhMDZhYzVhNTcwMmZkOTJjNGYyYjg3YjFjIiwibmFtZSI6IkFtbWVyIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hbW1lci5hcHAvIiwiaW1hZ2VfaWQiOiI3ZDM4ZGQ4ZS05MmVlLTQ0YmYtMWNhNC04MTg1MzFkZTE5MDAiLCJvcmRlciI6MjA2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2FtbWVyLXdhbGxldC9pZDE1OTk2OTgzMjkiLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImFtbWVyd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI0N2M1YTI1MzcyZjIyY2NmMmRmMDlhODQzMWNjZDAwYzAyZGYxOWY0YjczZmEwZTdjMDRjMTU3M2I5MGFlYzdhIjp7ImlkIjoiNDdjNWEyNTM3MmYyMmNjZjJkZjA5YTg0MzFjY2QwMGMwMmRmMTlmNGI3M2ZhMGU3YzA0YzE1NzNiOTBhZWM3YSIsIm5hbWUiOiJIQVFRIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9oYXFxLm5ldHdvcmsvd2FsbGV0IiwiaW1hZ2VfaWQiOiI5OWZlNTM5ZC02YTJhLTRmNTItMjIxMS00MmZkMDRhOWYzMDAiLCJvcmRlciI6MjA3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2hhcXEtd2FsbGV0LWJ5LWJvcmVkLWdlbi9pZDY0NDM4NDMzNTIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5oYXFxLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiaGFxcTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiY2JjMTE0MTUxMzBkMDEzMTY1MTNmNzM1ZWFjMzRmZDFhZDdhNWQ0MGE5OTNiYmI2NzcyZDJjMDJlZWVmM2RmOCI6eyJpZCI6ImNiYzExNDE1MTMwZDAxMzE2NTEzZjczNWVhYzM0ZmQxYWQ3YTVkNDBhOTkzYmJiNjc3MmQyYzAyZWVlZjNkZjgiLCJuYW1lIjoiQmluYW5jZS5VUyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iaW5hbmNlLnVzIiwiaW1hZ2VfaWQiOiI0OGFhMWE3ZC1jNWZlLTRhZDYtYzJmMi1lNTY4NGIyOTY5MDAiLCJvcmRlciI6MjA4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS9hcHAvaWQxNDkyNjcwNzAyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYmluYW5jZS51cyIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJuY3VzOi8vYmluYW5jZS51cyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYmluYW5jZS51cy91bml2ZXJzYWxfSkhIR0RTS0RKIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMGUzNmRkODYzZjdjYjcwYTBkOGRkNTA3ZTJiMzI0OTViMDE3NzFhYmJmNWM3MzgxNzQwMWQ5NThkOTkzOGNhNyI6eyJpZCI6IjBlMzZkZDg2M2Y3Y2I3MGEwZDhkZDUwN2UyYjMyNDk1YjAxNzcxYWJiZjVjNzM4MTc0MDFkOTU4ZDk5MzhjYTciLCJuYW1lIjoiU0lTVEVNQVMiLCJob21lcGFnZSI6Imh0dHBzOi8vd2F5bmFuY2UuY29tIiwiaW1hZ2VfaWQiOiJlZGE4NjVjOC03NDZiLTQ1MzYtOWQ1Ny03ZDdkZTA1NTU0MDAiLCJvcmRlciI6MjA5MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dheW5hbmNlLmFwcCIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6Imh0dHBzOi8vd2F5bmFuY2UuY29tIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dheW5hbmNlLmFwcCJ9fSwiZTRhMWM3YmJlNDcxNDU2NDBmNTI3YzkxZDI1ZTVkOGE0ZDNkYjA5Nzk2NjhmMmQzYTk1MjY4Y2ZiMjA5ZjI0OCI6eyJpZCI6ImU0YTFjN2JiZTQ3MTQ1NjQwZjUyN2M5MWQyNWU1ZDhhNGQzZGIwOTc5NjY4ZjJkM2E5NTI2OGNmYjIwOWYyNDgiLCJuYW1lIjoid2FsbGxldC5jb20iLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGxldC5jb20vIiwiaW1hZ2VfaWQiOiI1ZTFhMTkzMC03NTA1LTQ4ZmQtYmU2ZC02NDhiZTg1NGVlMDAiLCJvcmRlciI6MjExMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3dhbGxsZXQtY29tL2lkNjc1MjM4NjM2OCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndhbGxsZXQuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ3YWxsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsbGV0LmNvbS8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjYzNDg4ZTBlMDY3OWRhODI5ZGQ5NjRhNjcwZjJkMGJmODY0M2Y1MmFhMmQ1YThhODUzOWMzYTRmY2FkNmE3OGEiOnsiaWQiOiI2MzQ4OGUwZTA2NzlkYTgyOWRkOTY0YTY3MGYyZDBiZjg2NDNmNTJhYTJkNWE4YTg1MzljM2E0ZmNhZDZhNzhhIiwibmFtZSI6IlRydXN0ZWUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3RydXN0ZWVnbG9iYWwuY29tIiwiaW1hZ2VfaWQiOiI4NTNlNmYwYS1jY2I2LTRiN2UtZTczYi04OTE3MWE0ZTBhMDAiLCJvcmRlciI6MjEyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL3RydXN0ZWUtd2FsbGV0L2lkMTQ2MjkyNDI3NiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnRydXN0ZWV3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InR3Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly90cnVzdGVlZ2xvYmFsLmNvbS9saW5rL1B4eHVtOFl0In0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNGI5ZTRmNWM0M2MyNjgxNzRiNmUwZmFjMGZjYjc5ZjM2NjJmNjgxOGM1YTgwMjQ1OGUyMjMzYjJkZDQzNmRiMiI6eyJpZCI6IjRiOWU0ZjVjNDNjMjY4MTc0YjZlMGZhYzBmY2I3OWYzNjYyZjY4MThjNWE4MDI0NThlMjIzM2IyZGQ0MzZkYjIiLCJuYW1lIjoiVHJ1c3RlZSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdHJ1c3RlZWdsb2JhbC5ldS8iLCJpbWFnZV9pZCI6Ijk4NzBkYzMxLTllYjItNGY3Yy0zZWJmLTllYWQ5OThlOWIwMCIsIm9yZGVyIjoyMTMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91YS9hcHAvdHJ1c3RlZS13YWxsZXQtYml0Y29pbi13YWxsZXQvaWQxNDYyOTI0Mjc2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udHJ1c3RlZXdhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidHc6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjNhOTk3M2I5ZWU2MzhhM2FhYzNlMWQwMDFjYWJlNDI1YmYzMDc2MDJhNjFmYWVlNjc5NDJmZGEzMTQ3MzY2MTAiOnsiaWQiOiIzYTk5NzNiOWVlNjM4YTNhYWMzZTFkMDAxY2FiZTQyNWJmMzA3NjAyYTYxZmFlZTY3OTQyZmRhMzE0NzM2NjEwIiwibmFtZSI6IlVuaWJsb3ciLCJob21lcGFnZSI6Imh0dHBzOi8vdW5pYmxvdy5vcmcvIiwiaW1hZ2VfaWQiOiIzYWE4NmRhYS1iODg1LTQ2ODYtYzQ0My04MzM1NWUxYjNiMDAiLCJvcmRlciI6MjE1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjoiaHR0cHM6Ly91bmlibG93Lm9yZy9nZXQiLCJ3aW5kb3dzIjoiaHR0cHM6Ly91bmlibG93Lm9yZy9nZXQiLCJsaW51eCI6Imh0dHBzOi8vdW5pYmxvdy5vcmcvZ2V0IiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNjU0NGM5ZmYzZWEyNWJjMTBhODZiNmUyMTNjMGYwNDA3YjA0ZmIzMzU0OTBkN2Q1NmY0NTUwYzJjNmJlMDUwMiI6eyJpZCI6IjY1NDRjOWZmM2VhMjViYzEwYTg2YjZlMjEzYzBmMDQwN2IwNGZiMzM1NDkwZDdkNTZmNDU1MGMyYzZiZTA1MDIiLCJuYW1lIjoiTWV0YVdhbGxldCIsImhvbWVwYWdlIjoiaHR0cDovL3d3dy5kb3RhMTY4Lm9yZy8iLCJpbWFnZV9pZCI6ImExODMzN2FkLTQzM2YtNDdjMC1lYTU3LThhNjE5OTgzNWUwMCIsIm9yZGVyIjoyMTcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cDovL3d3dy5kb3RhMTY4Lm9yZy8iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwOi8vd3d3LmRvdGExNjgub3JnLyIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJ3aW5kb3cuZXRoZXJldW0uaXNNZXRhV2FsbGV0IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibWV0YXdhbGxldDovL2NvbS5tZXRhd2FsbGV0LmNsaWVudCIsInVuaXZlcnNhbCI6Imh0dHA6Ly93d3cuZG90YTE2OC5vcmcvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoibWV0YXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHA6Ly93d3cuZG90YTE2OC5vcmcvIn19LCJjYjdkNGUwMGU5YzZiYTVjYTFlZjNiMzQ2NGNlMWNjZjA0NjhmNzUyNmZiZGExMTYxMDYzMDI1MjVmOTI5ODA3Ijp7ImlkIjoiY2I3ZDRlMDBlOWM2YmE1Y2ExZWYzYjM0NjRjZTFjY2YwNDY4Zjc1MjZmYmRhMTE2MTA2MzAyNTI1ZjkyOTgwNyIsIm5hbWUiOiJVbml0eSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdW5pdHl3YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiIwOWI0YWFkMy1jMDA3LTQwZTctZWM4Zi02YTYyNTg1ZTY5MDAiLCJvcmRlciI6MjE4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3Nhdmwtd2FsbGV0LWJpdGNvaW4tc29sYW5hL2lkMTM2OTkxMjkyNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnNhdmwiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InNhdmw6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjE3OTZiM2Q5MWQ2ZGNhYTQ3YTIzZjdlZWI3NTFiODllOTVkOWNlZDc2OWFkZTQxY2FhMThhOGU5NzU5YjY3M2MiOnsiaWQiOiIxNzk2YjNkOTFkNmRjYWE0N2EyM2Y3ZWViNzUxYjg5ZTk1ZDljZWQ3NjlhZGU0MWNhYTE4YThlOTc1OWI2NzNjIiwibmFtZSI6IlVuaWRvIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy51bmlkby51cy8iLCJpbWFnZV9pZCI6ImMyMjQ1MGEzLWI0YTctNGU4Ni04ODU1LWY1Yjg4ZDk4MzEwMCIsIm9yZGVyIjoyMTkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hdS9hcHAvdW5pZG8vaWQxNDQ0MjYxMDA1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ud29ybGR3ZWJtcy5tdWx0aXNpZ3dhbGxldCZobD1lbiZnbD1VUyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjMzYzAzNmQ4MDc1ZDI4YzlmMzYxOWQ0ZDQzMDc1Njc2YTZkMjk0MDQ3ZTM2NThmYjEwM2U1YjM0MjQzMzc1NTEiOnsiaWQiOiIzM2MwMzZkODA3NWQyOGM5ZjM2MTlkNGQ0MzA3NTY3NmE2ZDI5NDA0N2UzNjU4ZmIxMDNlNWIzNDI0MzM3NTUxIiwibmFtZSI6Ik5VRkkiLCJob21lcGFnZSI6Imh0dHBzOi8vbnUuZmkiLCJpbWFnZV9pZCI6ImY3MjU0MGM2LTlmZGMtNDNhZC02NWI3LTBjOGQ4NjllYmMwMCIsIm9yZGVyIjoyMjAwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0Lm51LmZpL3dhbGxldF9jb25uZWN0L2Nvbm5lY3Rvci9yZWRpcmVjdCIsImlvcyI6IiIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9udWZpL2dwbmlobG5ub2RlaWlhYWtiaWtsZGNpaG9qcGxvZWNhIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6Im51ZmkiLCJuYW1lc3BhY2UiOiJjaXAtMzQifSx7ImluamVjdGVkX2lkIjoiaXNOdWZpIiwibmFtZXNwYWNlIjoic29sYW5hIn1dLCJyZG5zIjoiZmkubnUiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQubnUuZmkvd2FsbGV0X2Nvbm5lY3QvY29ubmVjdG9yL3JlZGlyZWN0In19LCIzY2Y5ZTYzNTA3NWNkYzE1ODdjNDQ0YmM2ZTAxYTYwMjZjN2ZkMWQ1MThhOTZhN2FjMGFhMjNiOTA1YTdjNTNlIjp7ImlkIjoiM2NmOWU2MzUwNzVjZGMxNTg3YzQ0NGJjNmUwMWE2MDI2YzdmZDFkNTE4YTk2YTdhYzBhYTIzYjkwNWE3YzUzZSIsIm5hbWUiOiJTYWZlIEFwcCBTeXNjb2luIiwiaG9tZXBhZ2UiOiJodHRwczovL3N5c2NvaW4ub3JnLyIsImltYWdlX2lkIjoiMGI2YjI5Y2EtMTBhNC00NGNjLWE1MWUtYmFhNGI0OWZjMzAwIiwib3JkZXIiOjIyMjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9zYWZlLnN5c2NvaW4ub3JnIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjoiaHR0cHM6Ly9zYWZlLnN5c2NvaW4ub3JnLyIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zYWZlLnN5c2NvaW4ub3JnIn19LCIyZjBlMzkzMjNiZTE2NWEwOTcyMTQ3MTQwYzdiODIyYmUxN2U1ZWI0NjRhNWU4NTU4YWMwZTBhYjAxYzQ4OTQ0Ijp7ImlkIjoiMmYwZTM5MzIzYmUxNjVhMDk3MjE0NzE0MGM3YjgyMmJlMTdlNWViNDY0YTVlODU1OGFjMGUwYWIwMWM0ODk0NCIsIm5hbWUiOiJPcGVuIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vcGVud2FsbGV0LmZpbmFuY2UiLCJpbWFnZV9pZCI6IjY4YTNjNDMzLWQ5NDQtNGJmNi01MDkzLTRhYzQxNWZkNTQwMCIsIm9yZGVyIjoyMjQwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZWUvYXBwL29wZW4td2FsbGV0LWtleWxlc3MtbWFzdGVyeS9pZDY1MDI2MzY2ODQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5maW52ZXJzZWxhYnMub3BlbndhbGxldCZwbGk9MSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoieC1hcHAtb3Blbi13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImYxZjRjZTljNDk1Y2IzZGI2ODYyMjMwYWQ5NjFlZGNhODU2M2JmODVjMjQ1YmQ3NzRkNGQ3OGI3ZGU4ODQ2NDEiOnsiaWQiOiJmMWY0Y2U5YzQ5NWNiM2RiNjg2MjIzMGFkOTYxZWRjYTg1NjNiZjg1YzI0NWJkNzc0ZDRkNzhiN2RlODg0NjQxIiwibmFtZSI6IkJpdEJveCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iaXRib3guc3dpc3MiLCJpbWFnZV9pZCI6ImU4MzczNDg5LWRlMzMtNGQxZi1mZmRmLTFjNDM1YTA1MGUwMCIsIm9yZGVyIjoyMjUwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNoLnNoaWZ0Y3J5cHRvLmJpdGJveGFwcCZ1dG1fc291cmNlPXdlYnNpdGUmcGNhbXBhaWduaWQ9cGNhbXBhaWduaWRNS1QtT3RoZXItZ2xvYmFsLWFsbC1jby1wcnRuci1weS1QYXJ0QmFkZ2UtTWFyMjUxNS0xIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6Imh0dHBzOi8vYml0Ym94LnN3aXNzL2Rvd25sb2FkLyNsaW51eC1kb3dubG9hZHMiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhZjlhNmRmZmY5ZTYzOTc3YmJkZTI4ZmIyMzUxODgzNGYwOGI2OTZmZThiZmY2ZGQ2ODI3YWNhZDE4MTRjNmJlIjp7ImlkIjoiYWY5YTZkZmZmOWU2Mzk3N2JiZGUyOGZiMjM1MTg4MzRmMDhiNjk2ZmU4YmZmNmRkNjgyN2FjYWQxODE0YzZiZSIsIm5hbWUiOiJTdGF0dXMgTGVnYWN5IiwiaG9tZXBhZ2UiOiJodHRwczovL3N0YXR1cy5hcHAvYmxvZy9taWdyYXRlLWZyb20tc3RhdHVzLWxlZ2FjeS10by11bmlmaWVkLXN0YXR1cy1tb2JpbGUtYXBwIiwiaW1hZ2VfaWQiOiIyZmM5YTI2My01NmMwLTRlMDAtMmZkOC1kYWRiOWQ5YWQ0MDAiLCJvcmRlciI6MjI3MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zdGF0dXMtZ2F0ZXdheS10by1ldGhlcmV1bS9pZDExNzg4OTMwMDYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWltLnN0YXR1cy5ldGhlcmV1bSIsIm1hYyI6Imh0dHBzOi8vc3RhdHVzLmFwcC9oZWxwL2dldHRpbmctc3RhcnRlZCIsIndpbmRvd3MiOiJodHRwczovL3N0YXR1cy5hcHAvaGVscC9nZXR0aW5nLXN0YXJ0ZWQiLCJsaW51eCI6Imh0dHBzOi8vc3RhdHVzLmFwcC9oZWxwL2dldHRpbmctc3RhcnRlZCIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwva2FoZWhuYnBhbWpwbGVmaHBraGFmaW5hb2Rra2VucGciLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiYXBwLnN0YXR1cyIsIm1vYmlsZSI6eyJuYXRpdmUiOiJzdGF0dXMtYXBwOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zdGF0dXMuYXBwIn0sImRlc2t0b3AiOnsibmF0aXZlIjoic3RhdHVzLWFwcDovLyIsInVuaXZlcnNhbCI6IiJ9fSwiYTk0MzI4YmNhZmYzZWQ2OWRlODhjYjYzNDdiNjkzMzM3MGQxNjQ1NWFmNTkxZTRhNDZlN2UwZDdjMmE0ODVjOCI6eyJpZCI6ImE5NDMyOGJjYWZmM2VkNjlkZTg4Y2I2MzQ3YjY5MzMzNzBkMTY0NTVhZjU5MWU0YTQ2ZTdlMGQ3YzJhNDg1YzgiLCJuYW1lIjoiSHlwZXJQYXkiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lmh5cGVycGF5LmlvLyIsImltYWdlX2lkIjoiNDRhYmJmMjUtZjhjNC00ZDA0LTBjZTctYTY5NWUwMGQ4ZTAwIiwib3JkZXIiOjIyODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FlL2FwcC9oeXBlcnBheS1iaXRjb2luLWNyeXB0by13YWxsZXQvaWQxMzU0NzU1ODEyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubGVnZW5kd2QuaHlwZXJwYXlXJmhsJnBsaT0xIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJoeXBlclBheTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoiaHlwZXJQYXk6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9fSwiNzIxNWQ0MDZlYmJkOGUxMjlmNjA5MmVlM2M2Yzg2YzA4ZDQ0NGU0MzFiZjM1NDE0NjEzZjZmYmI2ODZhYjJjOSI6eyJpZCI6IjcyMTVkNDA2ZWJiZDhlMTI5ZjYwOTJlZTNjNmM4NmMwOGQ0NDRlNDMxYmYzNTQxNDYxM2Y2ZmJiNjg2YWIyYzkiLCJuYW1lIjoiTWV0ZXIgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5tZXRlci5pbyIsImltYWdlX2lkIjoiMDU3MDA3ODgtMWI5ZC00NjcwLWRhYmQtNjFmYTliOTBmOTAwIiwib3JkZXIiOjIyOTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQubWV0ZXIuaW8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQubWV0ZXIuaW8ifX0sIjY0NjQ4NzMyNzlkNDYwMzBjMGI2YjAwNWIzM2RhNmJlNWVkNTdhNzUyYmUzZWYxZjg1N2RjMTBlYWY4MDI4YWEiOnsiaWQiOiI2NDY0ODczMjc5ZDQ2MDMwYzBiNmIwMDViMzNkYTZiZTVlZDU3YTc1MmJlM2VmMWY4NTdkYzEwZWFmODAyOGFhIiwibmFtZSI6IlNlY3VYIiwiaG9tZXBhZ2UiOiJodHRwczovL3NlY3V4dGVjaC5jb20vIiwiaW1hZ2VfaWQiOiI5ODE4M2JlMC0zMTI1LTQ1ZWUtYTZiNi1mYmQ0N2ViZWZkMDAiLCJvcmRlciI6MjMwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dhbGxldC5zZWN1eHRlY2guY29tL3NlY3V4ZXNzLyMvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS90dy9hcHAvc2VjdXgtbW9iaWxlL2lkMTQ3NzQzNzYwNyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnNlY3V4YXBwJmhsPXpoX1RXJmdsPVVTJnBsaT0xIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzZWN1eDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3N3ZWIuc2VjdXh0ZWNoLmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuc2VjdXh0ZWNoLmNvbS9zZWN1eGVzcy8jLyJ9fSwiMDFkM2VhZTY1NjIzOGQzYjMzNTRhOTk1MjI4Zjg0NjE0NDZlMGQ3MDFlYjE1ZmQ3MWZlYjM0YWZkOThjM2IxMCI6eyJpZCI6IjAxZDNlYWU2NTYyMzhkM2IzMzU0YTk5NTIyOGY4NDYxNDQ2ZTBkNzAxZWIxNWZkNzFmZWIzNGFmZDk4YzNiMTAiLCJuYW1lIjoiRE1Ub2tlbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9kZWZpbS5zaXRlIiwiaW1hZ2VfaWQiOiJjZDE5ZjRhNS05MzkwLTQ4MDEtNzU4Ny0yMzNhM2JmMWQ4MDAiLCJvcmRlciI6MjMxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6Imh0dHBzOi8vZGVmaW0uc2l0ZSIsImNocm9tZSI6Imh0dHBzOi8vZGVmaW0uc2l0ZSIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGVmaW0uc2l0ZSJ9fSwiNDM4MzIyNjA2NjVlYTBkMDc2ZjlhZjFlZTE1N2Q1ODBiYjBlYjQ0Y2EwNDE1MTE3ZmVmNjU2NjY0NjBhMjY1MiI6eyJpZCI6IjQzODMyMjYwNjY1ZWEwZDA3NmY5YWYxZWUxNTdkNTgwYmIwZWI0NGNhMDQxNTExN2ZlZjY1NjY2NDYwYTI2NTIiLCJuYW1lIjoiVGhldGEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy50aGV0YXRva2VuLm9yZy93YWxsZXQiLCJpbWFnZV9pZCI6ImQ0YWZiODEwLTU5MjUtNGYwMC00ZWJiLWQxODBmY2YyOTAwMCIsIm9yZGVyIjoyMzIwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LnRoZXRhdG9rZW4ub3JnIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvdGhldGEtd2FsbGV0L2lkMTQ1MTA5NDU1MCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b3JnLnRoZXRhLndhbGxldCZwbGk9MSIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IndjOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LnRoZXRhdG9rZW4ub3JnIn19LCJkZWI3MDBmMGViZTM0ZmQ2YzI1YTkzNzYyOTk0OWIzYzRjNmM5ZGFmZGY4NzA1NjE5MGU5ODVmMTg5YjY5MWQyIjp7ImlkIjoiZGViNzAwZjBlYmUzNGZkNmMyNWE5Mzc2Mjk5NDliM2M0YzZjOWRhZmRmODcwNTYxOTBlOTg1ZjE4OWI2OTFkMiIsIm5hbWUiOiJjYW1wdXguZGlnaXRhbCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jYW1wdXguZGlnaXRhbCIsImltYWdlX2lkIjoiYTYzNWI2NWEtNDRiOS00ZGZhLWEyOGYtODMxMjhkOGRmZjAwIiwib3JkZXIiOjIzMzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jYW1wdXguZGlnaXRhbCIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2NhbXB1eC5kaWdpdGFsIn19LCJmNjQ4ODQ5M2FhNzcxM2VjNmY5MTVlYmU4MDA3MGQ3YTRkZDE3ZGE5ZDE2MmQ3MmY1MzExN2NjNGYyMzBiZDc1Ijp7ImlkIjoiZjY0ODg0OTNhYTc3MTNlYzZmOTE1ZWJlODAwNzBkN2E0ZGQxN2RhOWQxNjJkNzJmNTMxMTdjYzRmMjMwYmQ3NSIsIm5hbWUiOiJCZXhvIiwiaG9tZXBhZ2UiOiJodHRwczovL2JleG8uY29tLyIsImltYWdlX2lkIjoiNzA3NGJmMGMtZDBmNy00ZDg2LTJkYzQtMjg0MzBkNjI5ZDAwIiwib3JkZXIiOjIzNDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hci9hcHAvYmVleG8td2FsbGV0L2lkMTUzMzMxMTA2MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJlZXhvIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJiZWV4bzovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmJlZXhvLmNvbS8ifX0sIjczMjMyZWFlZDdhMWU0ODc2ZjNlZmIxM2MzZDUyNmRmZTRlMjkzYTE1MmUxMzgwMDk1YTYyZWI0YzU4MTRhODciOnsiaWQiOiI3MzIzMmVhZWQ3YTFlNDg3NmYzZWZiMTNjM2Q1MjZkZmU0ZTI5M2ExNTJlMTM4MDA5NWE2MmViNGM1ODE0YTg3IiwibmFtZSI6Im1pZG9pbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9taWRvaW4uY29tIiwiaW1hZ2VfaWQiOiI5NzI4MjQ2Yy05NTA0LTRiMGYtOTg4MS1lZDg0OGM5ZmEwMDAiLCJvcmRlciI6MjM1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL21pZG9pbi9pZDEzNzQ5NzQ1MjMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5taWRvaW4iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im1pZG9pbjovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbWlkb2luLmFwcC5saW5rIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMTIzZTZkMTllNmMwZjU3NWIxNDhjNDY5ZWIxOTFmOGI5MjYxOGMxM2M5NGM0NzU4YWVlMzVlMDQyZTM3ZmEyMSI6eyJpZCI6IjEyM2U2ZDE5ZTZjMGY1NzViMTQ4YzQ2OWViMTkxZjhiOTI2MThjMTNjOTRjNDc1OGFlZTM1ZTA0MmUzN2ZhMjEiLCJuYW1lIjoiQ29tcGFzcyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vY29tcGFzc3dhbGxldC5pby8iLCJpbWFnZV9pZCI6IjFkN2RlYTAwLTk2YmUtNGNlOC1jYTE1LWQxNGJkZGJiNTAwMCIsIm9yZGVyIjoyMzYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvY29tcGFzcy13YWxsZXQtZm9yLXNlaS9pZDY0NTAyNTc0NDEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLmxlYXB3YWxsZXQuY29tcGFzcyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvY29tcGFzcy13YWxsZXQtZm9yLXNlaS9hbm9rZ21waG5jcGVra2hjbG1pbmdwaW1qbWNvb2lmYiIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvY29tcGFzcy13YWxsZXQtZm9yLXNlaS9hbm9rZ21waG5jcGVra2hjbG1pbmdwaW1qbWNvb2lmYiIsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJsZWFwY29tcGFzczovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjIwODZhNzA0NDQ5MjkxOWM4NTBlMDZjMzhiNzk0MGRjYTVhMTdjODNhNjlkMmQ2MTU4MWQ3MmExNTI2YzM3MyI6eyJpZCI6IjIyMDg2YTcwNDQ0OTI5MTljODUwZTA2YzM4Yjc5NDBkY2E1YTE3YzgzYTY5ZDJkNjE1ODFkNzJhMTUyNmMzNzMiLCJuYW1lIjoiSGVsbMWNIiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5oZWxsby5jb29wLyIsImltYWdlX2lkIjoiZDM2NWY4MjYtMGE5NS00OGY1LTA2NDItZTI1Y2Q0N2MyMTAwIiwib3JkZXIiOjIzNzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQuaGVsbG8uY29vcC8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmhlbGxvLmNvb3AvIn19LCIzMDM3NjZiNmNjNjc2OGIzODRjODRkNjNhMDJjNWYzMDJlMWZhYTFjOGQyNmE2MjQ2MjMwNjAzMTZmYzFmNjhjIjp7ImlkIjoiMzAzNzY2YjZjYzY3NjhiMzg0Yzg0ZDYzYTAyYzVmMzAyZTFmYWExYzhkMjZhNjI0NjIzMDYwMzE2ZmMxZjY4YyIsIm5hbWUiOiJEcm9wcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9kcm9wcC5jYy8iLCJpbWFnZV9pZCI6IjUyNmZiN2VhLWQwZGEtNDgyYS1hYzg0LTdlMzhhZmVhMTcwMCIsIm9yZGVyIjoyMzkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZHJvcHAtY2MvaWQxNTQ0ODk0NDA0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jYy5kcm9wcC53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9kcm9wcC1leHRlbnNpb24vaGdmcG5taG5tbW5lbGRva21wbmNqbWVpamthcGdiYmY/aGw9ZW4tVVMiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJkcm9wcDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNmRiNWMyY2Q3OGVhNWEwOWU4MjBiNzU0M2RhY2M5MGJmM2IxNzI3ZTViYmFkZGZmNTQ0YjMwMWRlMWY3NGYzOSI6eyJpZCI6IjZkYjVjMmNkNzhlYTVhMDllODIwYjc1NDNkYWNjOTBiZjNiMTcyN2U1YmJhZGRmZjU0NGIzMDFkZTFmNzRmMzkiLCJuYW1lIjoiWW8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3lvd2FsbGV0LmlvIiwiaW1hZ2VfaWQiOiJhMzhkYjMyYi04MjkxLTRkMjUtOWFhZS00YmY0YjZlNmYzMDAiLCJvcmRlciI6MjQwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2Zhc3RleC13YWxsZXQvaWQ2NDc0MTE4OTQ0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ueW93YWxsZXQuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20uZmFzdGV4LndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ5by13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImRlMDg3NjgzNGQ4OWNmYmM3ZDUwYzkwODI3Mjc0ODBjNzg0YzMzZWM1NTkzNDliMDU0MWM0NTJjZDllMTBlZDAiOnsiaWQiOiJkZTA4NzY4MzRkODljZmJjN2Q1MGM5MDgyNzI3NDgwYzc4NGMzM2VjNTU5MzQ5YjA1NDFjNDUyY2Q5ZTEwZWQwIiwibmFtZSI6IkRlZmljbG91ZCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hcHAuZGVmaWNsb3VkLmNjIiwiaW1hZ2VfaWQiOiJmNjdkNDVkMC1kYmViLTRkMDAtM2MzYS01MWE5MWJlZGMxMDAiLCJvcmRlciI6MjQxMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC5kZWZpY2xvdWQuY2MiLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAuZGVmaWNsb3VkLmNjIn19LCIwMTZmODE2MWNkNzhkZDAxMDAzY2Y0NjYyOTJiOTY5MGMwZmQyNTFmMmQ2OTQxNWEzY2M5NjY1OWQ5NzVlMzk4Ijp7ImlkIjoiMDE2ZjgxNjFjZDc4ZGQwMTAwM2NmNDY2MjkyYjk2OTBjMGZkMjUxZjJkNjk0MTVhM2NjOTY2NTlkOTc1ZTM5OCIsIm5hbWUiOiJwb2NraWUiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnBvY2tpZS5pby9rbyIsImltYWdlX2lkIjoiYTc2MWJlYWUtMWU3ZS00NDAyLWJjYzUtYTg5NmE5MmJmYjAwIiwib3JkZXIiOjI0MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2tyL2FwcC9wb2NraWUvaWQ2NDQ4NzE1MjM0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucGlsYWIucG9ja2llJmhsPWVuLUtSIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJwb2NraWU6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3BvY2tpZS5hcHAubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjM0YzE5ZTBhZmFmZWI4NmZmYTc1ZGYxYzA0NDQ1Yjg4NDA0NTAyMTdlNzlkMzBhYmM2ZGVmOWFhNTM3ZmI3ZDYiOnsiaWQiOiIzNGMxOWUwYWZhZmViODZmZmE3NWRmMWMwNDQ0NWI4ODQwNDUwMjE3ZTc5ZDMwYWJjNmRlZjlhYTUzN2ZiN2Q2IiwibmFtZSI6IldhbGxldCAzIiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldDMuaW8iLCJpbWFnZV9pZCI6IjM0YWI3NTU4LTllNjQtNDQzNi1mNGU2LTkwNjlmMjUzM2QwMCIsIm9yZGVyIjoyNDQwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0My5pbyIsImlvcyI6Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAvd2FsbGV0LTMvaWQxNTk3Mzk1NzQxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1qcC5jby5jaGFpbmJvdy53YWxsZXQzLm1vYmlsZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2FsbGV0MzovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoid2FsbGV0MzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0My5pbyJ9fSwiZDExZTg5MGNjMjA4MjM1ZmQxNGU1MjM0YjRmYzE4MGViMzZhZGUzMjgwOGM5ODBlZTg1Y2M1N2ZlNGEwOGViYiI6eyJpZCI6ImQxMWU4OTBjYzIwODIzNWZkMTRlNTIzNGI0ZmMxODBlYjM2YWRlMzI4MDhjOTgwZWU4NWNjNTdmZTRhMDhlYmIiLCJuYW1lIjoiU21hcnQuQmFieSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zbWFydC5iYWJ5IiwiaW1hZ2VfaWQiOiI3ZjQwODUwMi1lM2QxLTQ4ZjEtYTgxZi02NTRhM2YzMzhmMDAiLCJvcmRlciI6MjQ1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vc21hcnRiYWJ5Lm9zcy1jbi1ob25na29uZy5hbGl5dW5jcy5jb20vd2FsbGV0LzIwMjMwOTEyL2U5NGNlZTkxMDEwNzRlNTRhNzE3NDE1Y2NjZDExYTg3LmFwayIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic21hcnRib2R5Oi8vP3VyaT0iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjQ5YzYxYzEzNzU4YjdhOWY2OTAxOGYwNmRlOTYxMTEwYTI5Y2IwZjBiZTRjYjljYmJkNGViM2EyYmVlM2I4NTciOnsiaWQiOiI0OWM2MWMxMzc1OGI3YTlmNjkwMThmMDZkZTk2MTExMGEyOWNiMGYwYmU0Y2I5Y2JiZDRlYjNhMmJlZTNiODU3IiwibmFtZSI6Ik5ld21vbmV5LkFJIiwiaG9tZXBhZ2UiOiJodHRwczovL25ld21vbmV5LmFpIiwiaW1hZ2VfaWQiOiIyNzM2YmZlNS02NWY2LTRjYTEtNzdiZi04YjRhNTlmN2E5MDAiLCJvcmRlciI6MjQ2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9uZXdtb25leWFpL2Nva25rZHBsbWRkZmdvZ2dkZHBpZW5laGZoZGdlZ25hIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzTmV3TW9uZXkiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiOWFhMjg4YTRjNjY4ODRiZWMyOGFmNTQwNTY5MjE2NjBlYmRlOWRlYmQ4NDhlZjAzOTAyMzYzZWQ1MzRjOTZkNCI6eyJpZCI6IjlhYTI4OGE0YzY2ODg0YmVjMjhhZjU0MDU2OTIxNjYwZWJkZTlkZWJkODQ4ZWYwMzkwMjM2M2VkNTM0Yzk2ZDQiLCJuYW1lIjoiQ2Flc2l1bSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jYWVzaXVtbGFiLmNvbS8iLCJpbWFnZV9pZCI6ImIzYTQ1NmRiLTQzYzctNDYzYy1jYzNjLThjNTUwYzViOTUwMCIsIm9yZGVyIjoyNDcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jc21fYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjYWVzaXVtLWFwcDovL3dhbGxldGNvbm5lY3QiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImQ2MDcxMDE4ZDIxOTliNDdkNDhjOTU5MDQyM2YxN2FmZTIyMmMzNWExMjcyN2RiM2Y2NGNhMjk2MmE1ZTU3MDkiOnsiaWQiOiJkNjA3MTAxOGQyMTk5YjQ3ZDQ4Yzk1OTA0MjNmMTdhZmUyMjJjMzVhMTI3MjdkYjNmNjRjYTI5NjJhNWU1NzA5IiwibmFtZSI6IklBcHAiLCJob21lcGFnZSI6Imh0dHBzOi8vaXZpcnNlLmNvbSIsImltYWdlX2lkIjoiNWRhOTVlODgtMmQ2Yy00ODgwLWU2ZDgtYjZhOGQwNjYzOTAwIiwib3JkZXIiOjI0ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3ZuL2FwcC9vb215L2lkNjQ0NjI2NTI0NiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLml2aXJzZS5maWdhbWUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Iml2aXJzZTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMGY1ZWNhMmM3ZjJjOWQxMWM5OTJmZGM3MDc1NzVjNDg0ZmZiNzUxZTU4ZTQzZWFlZWVhMjQ1MTBiZmU4YjhkZCI6eyJpZCI6IjBmNWVjYTJjN2YyYzlkMTFjOTkyZmRjNzA3NTc1YzQ4NGZmYjc1MWU1OGU0M2VhZWVlYTI0NTEwYmZlOGI4ZGQiLCJuYW1lIjoiT05UTyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vbnRvLmFwcCIsImltYWdlX2lkIjoiMTQ5MzQ1OTYtNjMyZS00YjI5LWQ0NWYtNjExMDllOTU5MDAwIiwib3JkZXIiOjI0OTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9vbnRvLWFuLW9udG9sb2d5LWRhcHAvaWQxNDM2MDA5ODIzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZ2l0aHViLm9udGlvLm9udG8iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im9udG9wcm92aWRlcjovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiY2UzZTcwODgxYzQ2MDVhMDNmYjg2NTU0NTA5NzM1ZDQ1ZWNhOThjNjhiZDZkNzJlODYwNzNlOTYyZGM2ZThjYiI6eyJpZCI6ImNlM2U3MDg4MWM0NjA1YTAzZmI4NjU1NDUwOTczNWQ0NWVjYTk4YzY4YmQ2ZDcyZTg2MDczZTk2MmRjNmU4Y2IiLCJuYW1lIjoiS2F5cm9zIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5rYXlyb3MuZ2FtZXMvIiwiaW1hZ2VfaWQiOiJiMmMzYWUyMC1kM2M5LTRhNDctMTZhMS1hOTg2MmE0MTBjMDAiLCJvcmRlciI6MjUwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5rYXlyb3MuZ2FtZXMvIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9rYXlyb3MvaW9ubmJkbG9naWFhcG9wb2RpZ2xnYWFraGlpZmloY2wiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9rYXlyb3MvaW9ubmJkbG9naWFhcG9wb2RpZ2xnYWFraGlpZmloY2wiLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzS2F5cm9zIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cua2F5cm9zLmdhbWVzLyJ9fSwiYjJjMTViMjg4YjNjMzc2MDQyYmUyZWEyMmUyYWZiZmNjM2RmZjFkMDY0NGJlZGVlZWEzNTMzYzJlZjE3MGE4YyI6eyJpZCI6ImIyYzE1YjI4OGIzYzM3NjA0MmJlMmVhMjJlMmFmYmZjYzNkZmYxZDA2NDRiZWRlZWVhMzUzM2MyZWYxNzBhOGMiLCJuYW1lIjoibS1XYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbXdhbGxldC55aWVsZGNyYWZ0LmlvIiwiaW1hZ2VfaWQiOiIxZmRjYTM5OS1jMWY5LTQ2ZTMtMGE3OC1kODM5NGQ0NzZmMDAiLCJvcmRlciI6MjUxMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL213YWxsZXQueWllbGRjcmFmdC5pbyIsImlvcyI6IiIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbXdhbGxldC55aWVsZGNyYWZ0LmlvIn19LCJjMjk5ZDIwNzg4NDY1ODU0NjE1YmMxOTc4NjQwMjc2MjVjNzFmOGY0NzM1ZmRiM2UyMTA2MzZkMWJkMWUxOTM1Ijp7ImlkIjoiYzI5OWQyMDc4ODQ2NTg1NDYxNWJjMTk3ODY0MDI3NjI1YzcxZjhmNDczNWZkYjNlMjEwNjM2ZDFiZDFlMTkzNSIsIm5hbWUiOiJEUyBTZWN1cml0eSBTQSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZHNzZWN1cml0eS5jaCIsImltYWdlX2lkIjoiMTQ5YTEwYTYtODkxNC00NGVhLTQyNGEtMjM2MDE3ODkwMTAwIiwib3JkZXIiOjI1MjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93aWtpLnBvbHlnb24udGVjaG5vbG9neS9kb2NzL3Rvb2xzL3dhbGxldHMvbWV0YW1hc2svY29uZmlnLXBvbHlnb24tb24tbWV0YW1hc2sjcG9seWdvbi1zY2FuIiwiaW9zIjoiaHR0cHM6Ly9kc3NlY3VyaXR5LmNoIiwiYW5kcm9pZCI6Imh0dHBzOi8vZHNzZWN1cml0eS5jaCIsIm1hYyI6Imh0dHBzOi8vZHNzZWN1cml0eS5jaCIsIndpbmRvd3MiOiJodHRwczovL2Rzc2VjdXJpdHkuY2giLCJsaW51eCI6Imh0dHBzOi8vZHNzZWN1cml0eS5jaCIsImNocm9tZSI6Imh0dHBzOi8vZHNzZWN1cml0eS5jaCIsImZpcmVmb3giOiJodHRwczovL2Rzc2VjdXJpdHkuY2giLCJzYWZhcmkiOiJodHRwczovL2Rzc2VjdXJpdHkuY2giLCJlZGdlIjoiaHR0cHM6Ly9kc3NlY3VyaXR5LmNoIiwib3BlcmEiOiJodHRwczovL2Rzc2VjdXJpdHkuY2gifSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaHR0cHM6Ly9uZnQuY29pbmJhc2UuY29tIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5jb2luYmFzZS5jb20vd2FsbGV0LyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuY29pbmJhc2UuY29tL3dhbGxldC8ifX0sIjdkY2IwZTVlYjFiNGZjNmUyZTBiMTQzMjAxYzQ4OWVhNmM2MTgyNTlmNDk1Mjc1MjdkNGEzNDlkMWE5NWJhN2IiOnsiaWQiOiI3ZGNiMGU1ZWIxYjRmYzZlMmUwYjE0MzIwMWM0ODllYTZjNjE4MjU5ZjQ5NTI3NTI3ZDRhMzQ5ZDFhOTViYTdiIiwibmFtZSI6IkNvbmNvcmRpdW0iLCJob21lcGFnZSI6Imh0dHBzOi8vY29uY29yZGl1bS5jb20vIiwiaW1hZ2VfaWQiOiJiMWNhOTA3ZS0yZjVmLTQyYTgtZDExYy04NmExNWEyOTE2MDAiLCJvcmRlciI6MjUzMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9jb25jb3JkaXVtLXdhbGxldC9pZDE1OTMzODY0NTciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5waW9uZWVyaW5ndGVjaHZlbnR1cmVzLndhbGxldCZobD1lbiZwbGk9MSIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL2NvbmNvcmRpdW0td2FsbGV0L21ubmtwZmZuZG1pY2tiaWFrb2ZjbG5wb2lhamxlZ21nIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImNvbmNvcmRpdW0iLCJuYW1lc3BhY2UiOiJjY2QifV0sInJkbnMiOiJjb20uY29uY29yZGl1bS53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoiY29uY29yZGl1bXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmNvbmNvcmRpdW0uc29mdHdhcmUifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjYzZjViMjAyNGQ3MTBiMzBmN2NlYzU3ZmI4MzEyZjQyNjFhNjcwNzRkYzUwNDNjNTBmMmQ1OWY0ZDk4MjE0MWEiOnsiaWQiOiI2M2Y1YjIwMjRkNzEwYjMwZjdjZWM1N2ZiODMxMmY0MjYxYTY3MDc0ZGM1MDQzYzUwZjJkNTlmNGQ5ODIxNDFhIiwibmFtZSI6IkFwZSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnprYXBlLmlvIiwiaW1hZ2VfaWQiOiJlYTY2ZjYyNy1jYzQ2LTQxYzQtODI4Ny1kYWUyZjM3OWY3MDAiLCJvcmRlciI6MjU0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2FwZS1sYXllcjItd2FsbGV0L2lkNjQ1MDk0NDAyOSIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYXBlOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly96a2FwZS5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjE0ZTVkOTU3YzZlYjYyZDNlZThmYzYyMzk3MDNhYzJkNTM3ZDdlMzU1MjE1NDgzNmNhMGJlZWY3NzVmNjMwYmMiOnsiaWQiOiIxNGU1ZDk1N2M2ZWI2MmQzZWU4ZmM2MjM5NzAzYWMyZDUzN2Q3ZTM1NTIxNTQ4MzZjYTBiZWVmNzc1ZjYzMGJjIiwibmFtZSI6IlBpdGFrYSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9waXRha2EuaW8iLCJpbWFnZV9pZCI6ImM4MTZhZWFlLWUwZDEtNGM1Mi1mMzdhLWVmZGU2ZGYxZWUwMCIsIm9yZGVyIjoyNTUwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9waC9hcHAvcGl0YWthLWJsb2NrY2hhaW4td2FsbGV0L2lkMTY0NDM0MTkyNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnBpdGFrYW1vYmlsZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicGl0YWthOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAucGl0YWthLmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZmViNmZmMWZiNDI2ZGIxODExMGY1YTgwYzdhZGJkZTg0NmQwYTdlOTZiMmJjNTNhZjRiNzNhYWYzMjU1MmJlYSI6eyJpZCI6ImZlYjZmZjFmYjQyNmRiMTgxMTBmNWE4MGM3YWRiZGU4NDZkMGE3ZTk2YjJiYzUzYWY0YjczYWFmMzI1NTJiZWEiLCJuYW1lIjoiQ29zbW9zdGF0aW9uIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5jb3Ntb3N0YXRpb24uaW8vIiwiaW1hZ2VfaWQiOiJlYTI2YzNjOC1hZGI2LTRkYzQtZWUwMi0zNWQ2ZWVlMDI4MDAiLCJvcmRlciI6MjU3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20va3IvYXBwL2Nvc21vc3RhdGlvbi9pZDE0NTk4MzAzMzkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPXdhbm5hYml0LmlvLmNvc21vc3RhaW9uIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb3Ntb3N0YXRpb246Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImYzN2EyNzIwOTBiM2I3NjIwYzhiZTFkMmVkNDBjZjQzNTA1NTc4OWZjMTZhYjJiNzEwZWNlYzEyNGI2MmI2MzQiOnsiaWQiOiJmMzdhMjcyMDkwYjNiNzYyMGM4YmUxZDJlZDQwY2Y0MzUwNTU3ODlmYzE2YWIyYjcxMGVjZWMxMjRiNjJiNjM0IiwibmFtZSI6IkxpY2h0Qml0IiwiaG9tZXBhZ2UiOiJodHRwczovL3NjYW4ubGljaHRiaXQubmV0IiwiaW1hZ2VfaWQiOiJmNjdiNTRjNy1jNWUyLTQ3OTYtNWJjNi1lY2E0ZjNlNmU4MDAiLCJvcmRlciI6MjU4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3NjYW4ubGljaHRiaXQubmV0IiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc01ldGFtYXNrIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zY2FuLmxpY2h0Yml0Lm5ldCJ9fSwiOTZkZWM0ODc5N2I1NDNjYzQ1NWVmYzUzZjFmNjU0OGQxYWY0OTA1MzQ4OTJiN2E2Mzk3NDg5NDhmYzczOGU2YSI6eyJpZCI6Ijk2ZGVjNDg3OTdiNTQzY2M0NTVlZmM1M2YxZjY1NDhkMWFmNDkwNTM0ODkyYjdhNjM5NzQ4OTQ4ZmM3MzhlNmEiLCJuYW1lIjoiTXkgQ2xvdWQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5teWNsb3Vkd2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6IjJmYWM4NWIzLTg1YTMtNGRkMi04ZTlkLThlYTJjZmEyODEwMCIsIm9yZGVyIjoyNjAwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd3d3Lm15Y2xvdWR3YWxsZXQuY29tLyIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5teWNsb3Vkd2FsbGV0LmNvbS8ifX0sIjMwZWIzZTZkNzFmZDA3MjdkMTU0ZTQ1MTc0ODgxNWUwNGE5OWMwNjk3MmE4NGIxMGRmZTdhZTFiOTIzYzBjOTIiOnsiaWQiOiIzMGViM2U2ZDcxZmQwNzI3ZDE1NGU0NTE3NDg4MTVlMDRhOTljMDY5NzJhODRiMTBkZmU3YWUxYjkyM2MwYzkyIiwibmFtZSI6IkZ4V2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5meHdhbGxldC5jb20iLCJpbWFnZV9pZCI6IjQ2YTgwNTQxLWU2MzktNDgzZC1lMjMwLTczMWZjYmYxMzAwMCIsIm9yZGVyIjoyNjEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZnh3YWxsZXQvaWQxNTYwOTQzOTgzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZnhmaS5meHdhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZnh3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjdlNmJiMTdkMGY3NzZjMDQ0OWY1ZTc5ZjhkZjNiMzRlN2JlMzg4YzljNTI3YmVmYzRiYTkyZWY4Y2JlNTVjNDQiOnsiaWQiOiI3ZTZiYjE3ZDBmNzc2YzA0NDlmNWU3OWY4ZGYzYjM0ZTdiZTM4OGM5YzUyN2JlZmM0YmE5MmVmOGNiZTU1YzQ0IiwibmFtZSI6Ik1lIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hc3Ryb3gubWUvIiwiaW1hZ2VfaWQiOiJlOTY2NmIxNS00Mjk2LTQzODQtMzY2MS03ZTk5YTVmMmE5MDAiLCJvcmRlciI6MjYzMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC5hc3Ryb3gubWUvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYXN0cm94LW1lLXdhbGxldC9pZDE2MzQwMzE3MDciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5hc3Ryb3gubWUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImFzdHJveDovL21lL3djeCIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5hc3Ryb3gubWUvIn19LCI3ZWI5NWY1ZTAxYTNjNDVmN2YwMTExZjczNmQ3M2U1Yzg4YWE1ZjI2ODI1NmM2YTM4YjdmNjMxMjE2ZjYyMGZiIjp7ImlkIjoiN2ViOTVmNWUwMWEzYzQ1ZjdmMDExMWY3MzZkNzNlNWM4OGFhNWYyNjgyNTZjNmEzOGI3ZjYzMTIxNmY2MjBmYiIsIm5hbWUiOiJRSUUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5xaWV3YWxsZXQubWUvIiwiaW1hZ2VfaWQiOiIwNDdmMWU2MC05YzE0LTQ2MDEtZjM1Ny0zZTI4MDQ3Njk2MDAiLCJvcmRlciI6MjY0MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC9xaWUtd2FsbGV0L2lkNjQ0NTgyNjc0NiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnFpZXdhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvcWllLXdhbGxldC1hbmQtd2ViMy1kb21haS9vbGpjaGRjZ21pYm5qYmJvcG9sYWZiam5jZmhkYWNqYj9hdXRodXNlcj0xJmhsPWVuIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6Im1lLnFpZXdhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJxaWVtb2JpbGV3YWxsZXRjb25uZWN0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cucWlld2FsbGV0Lm1lLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiYTBjNGIyNWEwMDAyODE2MjQzMmQxNzNkMTEwZGJkOGVlMDg2YTAxYzNhMDBmOTRkOTdmNzBiNzc5ZDI1Yzc5NCI6eyJpZCI6ImEwYzRiMjVhMDAwMjgxNjI0MzJkMTczZDExMGRiZDhlZTA4NmEwMWMzYTAwZjk0ZDk3ZjcwYjc3OWQyNWM3OTQiLCJuYW1lIjoiU2FpZnkiLCJob21lcGFnZSI6Imh0dHBzOi8vc2FpZnkuY29tLyIsImltYWdlX2lkIjoiODNlNDU5YWEtN2UyYy00NWNmLTFjNmMtYzcxMjg2ZjM0YzAwIiwib3JkZXIiOjI2NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9zYWlmeS1jcnlwdG8td2FsbGV0LWFwcC9pZDY3Mzc0NjQ3MjQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5zYWlmeSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2FpZnk6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImFhMDFkMTM0ODNkYjRjMDY1YjdhNjE5YjgxM2Y5ZWFlMWNiNjBjMTliZjBmYzBlZDNjMzY0NDRhMDcyNTdiZDAiOnsiaWQiOiJhYTAxZDEzNDgzZGI0YzA2NWI3YTYxOWI4MTNmOWVhZTFjYjYwYzE5YmYwZmMwZWQzYzM2NDQ0YTA3MjU3YmQwIiwibmFtZSI6IkFULldhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hdXRoZW50cmVuZC5jb20vYXQtd2FsbGV0LyIsImltYWdlX2lkIjoiOThiZDNiOWEtMDk3ZS00NzQzLTg4MDgtOTg2YjRhZDFhZDAwIiwib3JkZXIiOjI2NzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hdXRoZW50cmVuZC5jb20vYXQtd2FsbGV0LyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2F0LXdhbGxldC9pZDE0NzkxNzEzMTAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5hdXRoZW50cmVuZC5hdHdhbGxldCIsIm1hYyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2F0LXdhbGxldC9pZDE0OTAwOTc5NjIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJhdHdhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoiYXR3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hdC13YWxsZXQvaWQxNDkwMDk3OTYyP210PTEyIn19LCIxN2E0ZWM5NmNlYjM0YWRlOGU1MjE1MjIwZGYyMDUxNjE0YWVlYmI4MzJjYzgwZWYxOWRkZDdmMzNkNWJhODYyIjp7ImlkIjoiMTdhNGVjOTZjZWIzNGFkZThlNTIxNTIyMGRmMjA1MTYxNGFlZWJiODMyY2M4MGVmMTlkZGQ3ZjMzZDViYTg2MiIsIm5hbWUiOiJGaXplbiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZml6ZW4uaW8iLCJpbWFnZV9pZCI6IjExNjBiZmEyLWI2NjktNDJiYS1iMjI0LTEzZWRjZDQwYzcwMCIsIm9yZGVyIjoyNjgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZml6ZW4td2FsbGV0L2lkMTYyMTI2OTUwOCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmZpemVuLmlvLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZnc6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImMzNGRlMjQ2NTg2NDU5YjhhMzNlODJlZmU4MjVmZWM1Zjc1YWM2Y2VlNTAwOThlNzZhYmZkODE2MWRlODI3ZjIiOnsiaWQiOiJjMzRkZTI0NjU4NjQ1OWI4YTMzZTgyZWZlODI1ZmVjNWY3NWFjNmNlZTUwMDk4ZTc2YWJmZDgxNjFkZTgyN2YyIiwibmFtZSI6IldlYkF1dGgiLCJob21lcGFnZSI6Imh0dHBzOi8vd2ViYXV0aC5jb20iLCJpbWFnZV9pZCI6IjkzZmNkMjRlLTQzMWQtNDIxZi0zMmMyLTk1NjNkNzI1YzgwMCIsIm9yZGVyIjoyNjkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvd2ViYXV0aC9pZDE1OTQ1MDAwNjkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5tZXRhbGxpY3VzLndlYmF1dGgmaGw9ZW5fVVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InByb3RvbjovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZTkwYjNlZmEzNWRjZTc1MDk3Yjg1ZDg5N2Q0YmI4MDM0MmI3NGNmODIwOTA2YjZlZGJmNTljOTM0ZDMxOWNjZiI6eyJpZCI6ImU5MGIzZWZhMzVkY2U3NTA5N2I4NWQ4OTdkNGJiODAzNDJiNzRjZjgyMDkwNmI2ZWRiZjU5YzkzNGQzMTljY2YiLCJuYW1lIjoiTUciLCJob21lcGFnZSI6Imh0dHBzOi8vbW9vbmdhdGUub25lIiwiaW1hZ2VfaWQiOiI4NDk0NjMwOC00MTNjLTQxOTEtNTQxNC1hMzI1NTQ3YTVjMDAiLCJvcmRlciI6MjcwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dhbGxldC5tb29uZ2F0ZS5vbmUvIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL3dhbGxldC5tb29uZ2F0ZS5vbmUvIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLm1vb25nYXRlLm9uZSIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5tb29uZ2F0ZS5vbmUvIn19LCJhMGUwNGYxMDg2YWFjMjA0ZDRlYmRkNWY5ODVjMTJlZDIyNmNkMDAwNjMyM2ZkODE0MzcxNWY5MzI0ZGE1OGQxIjp7ImlkIjoiYTBlMDRmMTA4NmFhYzIwNGQ0ZWJkZDVmOTg1YzEyZWQyMjZjZDAwMDYzMjNmZDgxNDM3MTVmOTMyNGRhNThkMSIsIm5hbWUiOiJTYWZlTW9vbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zYWZlbW9vbi5jb20vIiwiaW1hZ2VfaWQiOiJlYTAxNDBjNy03ODdjLTQzYTQtODM4Zi1kNWFiNmEzNDIwMDAiLCJvcmRlciI6MjcxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3NhZmVtb29uL2lkMTU3OTczNTQ5NSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9bmV0LnNhZmVtb29uLmFuZHJvaWR3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InNhZmVtb29uOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zYWZlbW9vbi5jb20vd2Mvd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiJzYWZlbW9vbjovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vc2FmZW1vb24uY29tL3djL3djIn19LCI3OWEzN2EzMzgxNmNmYmE4YjJhYjkzNmM0NDBhNjllZmRkNTU1NDE0ZTNlZWQ3ZjQzYTJmMTJkYWI1ZTg4MDdiIjp7ImlkIjoiNzlhMzdhMzM4MTZjZmJhOGIyYWI5MzZjNDQwYTY5ZWZkZDU1NTQxNGUzZWVkN2Y0M2EyZjEyZGFiNWU4ODA3YiIsIm5hbWUiOiJGSU5UT0tFTiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9maW50b2tlbi5wcm8vIiwiaW1hZ2VfaWQiOiI0MjBhYmFiYS0zYzI5LTQ3MTEtNDQ4Ny04NGI5M2JmYTU5MDAiLCJvcmRlciI6MjcyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2ZpbnRva2VuLXdlYjMtY3J5cHRvLXdhbGxldC9pZDY0NDc1MDMyMTUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5kaWdpdGFsYXNzZXQuZmludG9rZW4mcGxpPTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImZpbnRva2VuOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9pb3MuZmludG9rZW4ucHJvL2FwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImE5MTA0YjYzMGJhYzE5MjlhZDlhYzJhNzNhMTdlZDRiZWVhZDE4ODkzNDFmMzA3YmZmNTAyZjg5YjQ2Yzg1MDEiOnsiaWQiOiJhOTEwNGI2MzBiYWMxOTI5YWQ5YWMyYTczYTE3ZWQ0YmVlYWQxODg5MzQxZjMwN2JmZjUwMmY4OWI0NmM4NTAxIiwibmFtZSI6IkJsYWRlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ibGFkZXdhbGxldC5pbyIsImltYWdlX2lkIjoiOGZhODc2NTItYjA0My00OTkyLTNhNDUtNzhlNDM4ZDFjZDAwIiwib3JkZXIiOjI3NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9hcHBsZS1zdG9yZS9pZDE2MjM4NDk5NTEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5ibGFkZWxhYnMud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYmxhZGUtJUUyJTgwJTkzLWhlZGVyYS13ZWIzLWRpZ2l0L2Fib2dtaW9jbm5lZWRtbWVwbm9obmhsaWpjanBjaWZkIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoib3JnLmJsYWRlbGFicy5ibGFkZXdhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dlbGNvbWUuYmxhZGV3YWxsZXQuaW8vIn19LCI4ZWVmYTYyYzJmODZiNGM3M2JkNjhjZjVjYjE3OGUwOWQxNWNiZjIxMzk5YWM1YWVhMjM0ZDJiNjE2ZTlhZTlkIjp7ImlkIjoiOGVlZmE2MmMyZjg2YjRjNzNiZDY4Y2Y1Y2IxNzhlMDlkMTVjYmYyMTM5OWFjNWFlYTIzNGQyYjYxNmU5YWU5ZCIsIm5hbWUiOiJ1bmEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3VuYXdhbGxldC51bmFnaS5pbyIsImltYWdlX2lkIjoiNzgxMThhYTgtOGRmYy00NzQyLTg2ZjctYjUxZDM0ZTdjZjAwIiwib3JkZXIiOjI3NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC91bmEtd2FsbGV0L2lkNjQ1NjM5NzIzOSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9YXBwLnVuYXdhbGxldC5hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InVuYVdhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNTNhMmUwMTc4MWVlNmMwZDg0MWU2Yzg0NGYyNzMzODk5YjhmNDA4MmExNDUyOTg2ZDg3YTU1MDgwMGFhMTNjYSI6eyJpZCI6IjUzYTJlMDE3ODFlZTZjMGQ4NDFlNmM4NDRmMjczMzg5OWI4ZjQwODJhMTQ1Mjk4NmQ4N2E1NTA4MDBhYTEzY2EiLCJuYW1lIjoiQlNDIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ic2NlY293YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiI2M2ZlOTE2Mi1iMzUyLTRhMmMtMWRhMS1hMzFkNDgwMDhlMDAiLCJvcmRlciI6Mjc2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2JzYy13YWxsZXQtYm5iLWNoYWluL2lkNjQ0NTgyMTM4MSIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYnNjd2FsbGV0YXBwOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJiYjlkOWZmNjRjODc3YWVkYzJlYzVmNTk2ZTJjNDgwNmFhNWIyNmJhZmEwNGU4MzU2MjRlMWY4ZTJiODcxNzZiIjp7ImlkIjoiYmI5ZDlmZjY0Yzg3N2FlZGMyZWM1ZjU5NmUyYzQ4MDZhYTViMjZiYWZhMDRlODM1NjI0ZTFmOGUyYjg3MTc2YiIsIm5hbWUiOiJOb3ZhIFNwZWt0ciIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ub3Zhc3Bla3RyLmlvIiwiaW1hZ2VfaWQiOiI3MzNlODY0OS0zNjA4LTQzZDYtNjk1Ni0xNjdmYjdlYjgwMDAiLCJvcmRlciI6Mjc3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ub3Zhc2FtYXRlY2gvbm92YS1zcGVrdHIvcmVsZWFzZXMvbGF0ZXN0IiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoibm92YXNwZWt0cjovLyIsInVuaXZlcnNhbCI6bnVsbH19LCJiZDI1YzM3MGRiYzJlNjJiMDU4MGJiMWVlYTlkZjZhODEyYTY2ZDZmZmY3MDQ1MTA3MTczYTZhYzVlN2M2ZjU3Ijp7ImlkIjoiYmQyNWMzNzBkYmMyZTYyYjA1ODBiYjFlZWE5ZGY2YTgxMmE2NmQ2ZmZmNzA0NTEwNzE3M2E2YWM1ZTdjNmY1NyIsIm5hbWUiOiJTbWFydFJ1c2giLCJob21lcGFnZSI6Imh0dHBzOi8vc21hcnRtb25leXJ1c2guY29tLyIsImltYWdlX2lkIjoiMzMwZGY5YzQtNjZjMi00MzA2LTFjYTEtMDliNGM5OTIxODAwIiwib3JkZXIiOjI3ODAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93d3cuc21hcnRtb25leXJ1c2guY29tLyIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5zbWFydG1vbmV5cnVzaC5jb20vIn19LCJmZGNhYWE0N2MxNTQ5ODhmZjJjZTI4ZDM5MjQ4ZWIxMDM2NmVjNjBjN2RlNzI1ZjczYjBkMzNiNWJiOWI5YTY0Ijp7ImlkIjoiZmRjYWFhNDdjMTU0OTg4ZmYyY2UyOGQzOTI0OGViMTAzNjZlYzYwYzdkZTcyNWY3M2IwZDMzYjViYjliOWE2NCIsIm5hbWUiOiJLZWVwS2V5IERlc2t0b3AiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmtlZXBrZXkuY29tLyIsImltYWdlX2lkIjoiZWI0MjI3ZDktMzY2Yy00NjZjLWRiOGYtYWI3ZTQ1OTg1NTAwIiwib3JkZXIiOjI3OTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93d3cua2VlcGtleS5jb20vIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOiJodHRwczovL2dpdGh1Yi5jb20va2VlcGtleS9rZWVwa2V5LWRlc2t0b3AvcmVsZWFzZXMvZG93bmxvYWQvdjEuMS4xNC9LZWVwS2V5LURlc2t0b3AtMS4xLjE0LmRtZyIsIndpbmRvd3MiOiJodHRwczovL2dpdGh1Yi5jb20va2VlcGtleS9rZWVwa2V5LWRlc2t0b3AvcmVsZWFzZXMvZG93bmxvYWQvdjEuMS4xNC9LZWVwS2V5LURlc2t0b3AtU2V0dXAtMS4xLjE0LmV4ZSIsImxpbnV4IjoiaHR0cHM6Ly9naXRodWIuY29tL2tlZXBrZXkva2VlcGtleS1kZXNrdG9wL3JlbGVhc2VzL2Rvd25sb2FkL3YxLjEuMTQva2VlcGtleS1kZXNrdG9wXzEuMS4xNF9hbWQ2NC5kZWIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOiJrZWVwa2V5Oi8vbGF1bmNoIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cua2VlcGtleS5jb20vIn19LCI3YmU4ZDhiNWUzOWJiY2VlMTM4NjdjNTBlNDczODdjZDc1MmMxMmUwM2IzZTZmZGYyZTA2MzhjN2I0ZTNiNjlmIjp7ImlkIjoiN2JlOGQ4YjVlMzliYmNlZTEzODY3YzUwZTQ3Mzg3Y2Q3NTJjMTJlMDNiM2U2ZmRmMmUwNjM4YzdiNGUzYjY5ZiIsIm5hbWUiOiJOYXNoIiwiaG9tZXBhZ2UiOiJodHRwczovL25hc2guaW8iLCJpbWFnZV9pZCI6IjY1YzUzZGUyLTA1ZmQtNGE2Mi01ZjljLTk3OWRjYjQwNmMwMCIsIm9yZGVyIjoyODAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9ubC9hcHAvbmFzaC1zcGVuZC1zYXZlLWludmVzdC9pZDE0NzU3NTkyMzYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLm5hc2guYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJuYXNoOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI5ZjE0ODM3ZTQzOTI1ODJjMzk3NDYxM2VkOGUxYWNjN2VkODRiMmFlMzkxMGFkMjdjYjk1NDJhMzc1OGRmODAwIjp7ImlkIjoiOWYxNDgzN2U0MzkyNTgyYzM5NzQ2MTNlZDhlMWFjYzdlZDg0YjJhZTM5MTBhZDI3Y2I5NTQyYTM3NThkZjgwMCIsIm5hbWUiOiJCaXR3aW5leCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iaXR3aW5leC5jb20iLCJpbWFnZV9pZCI6IjJmYzc5M2VlLTRjM2EtNGQ4NC04NWExLTNmOWZmOThlY2UwMCIsIm9yZGVyIjoyODEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYml0Y3VpdC5jb20vbG9naW4iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9iaXRjdWl0LmNvbS9sb2dpbiJ9fSwiODU1NDgxYTIzMzEwYzJiY2NmMmE2MTM0MzY3NDQ5ZDYxYmQyZjFjODc5M2Y5Mjk1MTZjNGY2OGE2YWFhY2U3YSI6eyJpZCI6Ijg1NTQ4MWEyMzMxMGMyYmNjZjJhNjEzNDM2NzQ0OWQ2MWJkMmYxYzg3OTNmOTI5NTE2YzRmNjhhNmFhYWNlN2EiLCJuYW1lIjoiU3RhYmxleiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zdGFibGV6LmZpLyIsImltYWdlX2lkIjoiMzQ1YTA0OTEtOTFmYi00MjgyLTMxNmItOGRiOGQyMDEwMjAwIiwib3JkZXIiOjI4MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vYXBwL2lkMTYwMDM4MTA3MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJsb2NrY2hhaW4uY3J5cHRvLndhbGxldC5uZW9waW4iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im5wdHdjOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhMmViOGExYzQwM2E0NDQwYjJmNTc4ZTlkZWIxODViOGUyMmNmNGVjMmEyYTU4NDQxMDMyYjg0YjEzYWFhYjg3Ijp7ImlkIjoiYTJlYjhhMWM0MDNhNDQ0MGIyZjU3OGU5ZGViMTg1YjhlMjJjZjRlYzJhMmE1ODQ0MTAzMmI4NGIxM2FhYWI4NyIsIm5hbWUiOiJUaGUgUHVsc2UgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3RoZXB1bHNld2FsbGV0Lm9yZy8iLCJpbWFnZV9pZCI6IjFmM2Q0NmI4LTI1NjktNDYwMS01MDg0LTg0NWY3ZTY0ZGEwMCIsIm9yZGVyIjoyODQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS92bi9hcHAvcHVsc2Utd2FsbGV0L2lkNjQ1ODM0Njk1MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndhbGxldC50aGVwdWxzZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2FsbGV0LnB1bHNlOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI2YmQ0Y2YzZmE2MWRhZmU5MDg4ZjllOTNlNWQxMTc4YzdlNzkyZmUzNDk0ODlkOWE4MTQxY2Y0MzU0MzU5NzEyIjp7ImlkIjoiNmJkNGNmM2ZhNjFkYWZlOTA4OGY5ZTkzZTVkMTE3OGM3ZTc5MmZlMzQ5NDg5ZDlhODE0MWNmNDM1NDM1OTcxMiIsIm5hbWUiOiJCYWxsZXQgQ3J5cHRvIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5iYWxsZXQuY29tIiwiaW1hZ2VfaWQiOiJmZDQ2ZTk2ZC0zNTBkLTQ5MjItYTRhOS1iMmJmZTdjOTI0MDAiLCJvcmRlciI6Mjg1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2lkMTQ3NDkxMjk0MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJhbGxldGNyeXB0byIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYmFsbGV0Y3J5cHRvOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIyMTY2MmVhMjZmMjI4NGMyNmFjNDRiZmJiMTc2MzQwYjQ3N2EzYjQwMzlkNWEzNzkzZTg2YmE4MTc3NTE0OTAxIjp7ImlkIjoiMjE2NjJlYTI2ZjIyODRjMjZhYzQ0YmZiYjE3NjM0MGI0NzdhM2I0MDM5ZDVhMzc5M2U4NmJhODE3NzUxNDkwMSIsIm5hbWUiOiJldGgtcTEiLCJob21lcGFnZSI6Imh0dHBzOi8vd2ViZWFzeS54eXoiLCJpbWFnZV9pZCI6IjAyN2YzZDcwLTYxYWQtNDNkNy02Yzc3LWRhMzA1YmY2NDUwMCIsIm9yZGVyIjoyODYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjoiaHR0cHM6Ly9lcm5ucy50b3AvIiwiY2hyb21lIjoiaHR0cHM6Ly9lcm5ucy50b3AvIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjoiaHR0cHM6Ly9lcm5ucy50b3AvIiwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI2YWYwMmFmYmM0YWMyMWQzMzlmYjQyOTBkMDQ4ZDQ4ZjlmNzNjM2IxYTMwN2E5OTRmMDQ3NDMyOTk0OGMwZTVhIjp7ImlkIjoiNmFmMDJhZmJjNGFjMjFkMzM5ZmI0MjkwZDA0OGQ0OGY5ZjczYzNiMWEzMDdhOTk0ZjA0NzQzMjk5NDhjMGU1YSIsIm5hbWUiOiJVVE9SRyIsImhvbWVwYWdlIjoiaHR0cHM6Ly91dG9yZy5hcHAiLCJpbWFnZV9pZCI6IjM5Yzc3YzBiLWQ2ZWEtNDE5ZC05MmI3LTUxM2E1ZWFjMmMwMCIsIm9yZGVyIjoyODcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvdXRvcmctYml0Y29pbi1jcnlwdG8td2FsbGV0L2lkNjQ0NDcyMDkwOCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnV0b3JnIiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidXRvcmc6Ly9tYWluYWN0aXZpdHkiLCJ1bml2ZXJzYWwiOiJodHRwczovL2xpbmsudXRvcmcuY29tL3pwMGYifSwiZGVza3RvcCI6eyJuYXRpdmUiOiJ1dG9yZzovL21haW5hY3Rpdml0eSIsInVuaXZlcnNhbCI6bnVsbH19LCI0M2M3NmEzZDJhODRjYjdhMTBmNjMyOWEzNDI2MWViNjc5NGFjODMwZTc0YmM4MTM2YjQyZWUwNWVlNTRlZmIxIjp7ImlkIjoiNDNjNzZhM2QyYTg0Y2I3YTEwZjYzMjlhMzQyNjFlYjY3OTRhYzgzMGU3NGJjODEzNmI0MmVlMDVlZTU0ZWZiMSIsIm5hbWUiOiJLaWdvIiwiaG9tZXBhZ2UiOiJodHRwczovL2tpZ28uaW8iLCJpbWFnZV9pZCI6ImFkODNkODY5LWRlMTEtNDY4NS0yYTI0LWQzY2U5M2E4NjQwMCIsIm9yZGVyIjoyODkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva2lnby1kaWdpdGFsL2lkNjQ0OTU5OTg3MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmF1Z2VvLmtpZ28iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImtpZ28tbW9iaWxlLWFwcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8va2lnby1kaWdpdGFsLmFwcC5saW5rLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjEyZjkxM2VkMWNiYTM2ZDExYzE3NWZmYWVhNDE1Nzg2NGYzMzYzYTY5MGVjZjNjYzI0ZTk2ODNlZjljZTI5MTUiOnsiaWQiOiIxMmY5MTNlZDFjYmEzNmQxMWMxNzVmZmFlYTQxNTc4NjRmMzM2M2E2OTBlY2YzY2MyNGU5NjgzZWY5Y2UyOTE1IiwibmFtZSI6IlR1Q09QIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly90dWNvcC54eXovIiwiaW1hZ2VfaWQiOiIyZDM4YmZkNi04NWRjLTQxYjUtYTEyNS1hMGVjYTQxMDAyMDAiLCJvcmRlciI6MjkwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcudHVjb3AiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im15YXBwOi8vdHVjb3AiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjUyNjVkY2Y2NmJlMDU1MzMyOGRiYzcyNzQxNGFiMzI5ZTIyZjlhNDgwZTU5M2JkMmU5MjdiMjc5ZTRhYjI0NGQiOnsiaWQiOiI1MjY1ZGNmNjZiZTA1NTMzMjhkYmM3Mjc0MTRhYjMyOWUyMmY5YTQ4MGU1OTNiZDJlOTI3YjI3OWU0YWIyNDRkIiwibmFtZSI6IlNhaGFsIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9tcmhiLm5ldHdvcmsiLCJpbWFnZV9pZCI6ImFmYTFlNDZhLTMzMWEtNDE4Zi1lZjFmLWEyOWY3NmRlZjEwMCIsIm9yZGVyIjoyOTEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vbXJoYi5uZXR3b3JrIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9nYi9hcHAvc2FoYWwtd2FsbGV0L2lkMTYwMjM2NjkyMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9c2FoYWwud2FsbGV0LmFwcCZnbD1HQiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2FoYWx3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6InNhaGFsd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zYWhhbHdhbGxldC5hcHAifX0sIjY2YTFiOGQwMGFhOGRhNzE0YWUwN2ExMjNhNTY1ZjYyMjZjNDQxNTZhNTRlZDA0ZmZjNmVlNWZmZTFmNTZlNjQiOnsiaWQiOiI2NmExYjhkMDBhYThkYTcxNGFlMDdhMTIzYTU2NWY2MjI2YzQ0MTU2YTU0ZWQwNGZmYzZlZTVmZmUxZjU2ZTY0IiwibmFtZSI6Ik1pcmFpIEFwcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9taXJhaWFwcC5pbyIsImltYWdlX2lkIjoiMGM4MDIyYjAtZDVhMy00NTYxLTY0ZDUtYTNlNjBkMWVkNTAwIiwib3JkZXIiOjI5MjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9taXJhaWFwcC5pbyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdm4vYXBwL21pcmFpLWFwcC1tcGMtcG93ZXJlZC13YWxsZXQvaWQ2NDcyMTM0MjM2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jby5taXJhaWxhYnMuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNNaXJhaSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im1pcmFpYXBwOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9nby5taXJhaWFwcC5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9taXJhaWFwcC5pbyJ9fSwiOWJlNDE2ZmQ3YjVhMjBkZmUxMTU5MzBiNzU5ZTlhNjlhNWRkNjI5OWI0MmYzZWFiMGYzZjcwZWU2YWM1MzMxZiI6eyJpZCI6IjliZTQxNmZkN2I1YTIwZGZlMTE1OTMwYjc1OWU5YTY5YTVkZDYyOTliNDJmM2VhYjBmM2Y3MGVlNmFjNTMzMWYiLCJuYW1lIjoiTWl4aW4iLCJob21lcGFnZSI6Imh0dHBzOi8vbWVzc2VuZ2VyLm1peGluLm9uZSIsImltYWdlX2lkIjoiYzU1MTZhYjUtNTdjMy00NWVjLTA5ZTItYjE0OWM5NzA5NjAwIiwib3JkZXIiOjI5MzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9taXhpbi5vbmUiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9taXhpbi9pZDEzMjIzMjQyNjYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9uZS5taXhpbi5tZXNzZW5nZXIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiaHR0cHM6Ly9hcHBzLm1pY3Jvc29mdC5jb20vZGV0YWlsLzlucTZoZjk5Yjhuaj9obD1lbi1VUyZnbD1VUyIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6Im9uZS5taXhpbi5tZXNzZW5nZXIiLCJtb2JpbGUiOnsibmF0aXZlIjoibWl4aW46Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL21peGluLm9uZSJ9fSwiMzRhZjlmODk1ZTAzMjU5ZmIwMDhlOGZmNGVhNWNhNWQ3NWZjZmNiNjA2ZWM1NjNjMzMyMDA0ZjM5YWI0NzgwMyI6eyJpZCI6IjM0YWY5Zjg5NWUwMzI1OWZiMDA4ZThmZjRlYTVjYTVkNzVmY2ZjYjYwNmVjNTYzYzMzMjAwNGYzOWFiNDc4MDMiLCJuYW1lIjoiQmlsbGlvbiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iaWxsaW9ud2FsbGV0LmlvLyIsImltYWdlX2lkIjoiOGZkOWIwYzUtODdhNi00ZGQ1LTE5ZDUtOWNiMTMzZmJkMTAwIiwib3JkZXIiOjI5NTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYmlsbGlvbi1jcnlwdG8td2FsbGV0L2lkNjc0NjEyMjkwMiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJpbGxpb253YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImJpbGxpb253YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3cuYmlsbGlvbndhbGxldC5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiOGJlZTJjNjVhZDM3MjQwZmFiNzY5ZmYzYzlmNTZmOTQ5MTRlNTNjOGQ5OTA4N2UxYTgwNWNjNWVmMzlhNDRmMyI6eyJpZCI6IjhiZWUyYzY1YWQzNzI0MGZhYjc2OWZmM2M5ZjU2Zjk0OTE0ZTUzYzhkOTkwODdlMWE4MDVjYzVlZjM5YTQ0ZjMiLCJuYW1lIjoiQ29nbmkgIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5nZXRjb2duaS5jb20vIiwiaW1hZ2VfaWQiOiJiNjUwY2QwOC0yMWViLTQ3NjktOGVmOS05NmZlYjZlMzhlMDAiLCJvcmRlciI6Mjk2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2NvZ25pLW1vYmlsZS1iYW5raW5nL2lkMTQ4Mzk1NzUxMiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmdldGNvZ25pLmFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZ2V0Y29nbmk6Ly93ZWIzLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ2V0Y29nbmkuY29tL3dlYjNfd2NfY29ubmVjdCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjBhNDE4ZjFiOTkxNzQ0YjllNzdlZDk1N2I4ZjgwOWUxMWQxOTIwMWQ0OWEyYTQ3NjgxNmMxM2EyMjQyMGVjNGMiOnsiaWQiOiIwYTQxOGYxYjk5MTc0NGI5ZTc3ZWQ5NTdiOGY4MDllMTFkMTkyMDFkNDlhMmE0NzY4MTZjMTNhMjI0MjBlYzRjIiwibmFtZSI6IjM3eCIsImhvbWVwYWdlIjoiaHR0cHM6Ly8zN3hkdWJhaS5jb20iLCJpbWFnZV9pZCI6ImM4NWE2YmYyLWY1MDUtNDgxYy05ZTdkLTlhNzE5MDA0MmMwMCIsIm9yZGVyIjoyOTcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vMzd4ZHViYWkuY29tIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vMzd4ZHViYWkuY29tIn19LCJkYmUzMGZjMjk2Y2NkNzVmYmY1YmM3MTU3ZmNmZTIzZDgzOWMwY2VhODNjNDg4M2FiOTYwMTY3N2UwYTlhNzM4Ijp7ImlkIjoiZGJlMzBmYzI5NmNjZDc1ZmJmNWJjNzE1N2ZjZmUyM2Q4MzljMGNlYTgzYzQ4ODNhYjk2MDE2NzdlMGE5YTczOCIsIm5hbWUiOiJOb25CYW5rIiwiaG9tZXBhZ2UiOiJodHRwczovL25vbmJhbmsuaW8vIiwiaW1hZ2VfaWQiOiJmZTA2YzdlZC0zZGYxLTRjYzctOTY4Ni1jOTIwOTE0YWJkMDAiLCJvcmRlciI6Mjk4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL25vbmJhbmstZGVmaS1jcnlwdG8td2FsbGV0LWFwcC9pZDY0Nzc0NDE0NzkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLm5vbmJhbmsiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im5vbmJhbms6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2lkLm5vbmJhbmsuaW8vd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJmMjZkZTE1OTAxZmEwN2Y0NjRlM2JlODI0ZTM2ZTYzYmRjNTg3ZDM0ZjA0NjU0YWQ2Y2QzZjBhMDE4ODg5ZmNhIjp7ImlkIjoiZjI2ZGUxNTkwMWZhMDdmNDY0ZTNiZTgyNGUzNmU2M2JkYzU4N2QzNGYwNDY1NGFkNmNkM2YwYTAxODg4OWZjYSIsIm5hbWUiOiJOb0YiLCJob21lcGFnZSI6Imh0dHBzOi8vbm9mLnRvd24iLCJpbWFnZV9pZCI6IjBmODIyNTMxLWFjM2ItNGNjMC1kMGRhLWMyYWI1N2QwZmUwMCIsIm9yZGVyIjoyOTkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9ub2YudG93biIsImFuZHJvaWQiOiJodHRwczovL25vZi50b3duIiwibWFjIjoiaHR0cHM6Ly9ub2YudG93biIsIndpbmRvd3MiOiJodHRwczovL25vZi50b3duIiwibGludXgiOiJodHRwczovL25vZi50b3duIiwiY2hyb21lIjoiaHR0cHM6Ly9ub2YudG93biIsImZpcmVmb3giOiJodHRwczovL25vZi50b3duIiwic2FmYXJpIjoiaHR0cHM6Ly9ub2YudG93biIsImVkZ2UiOiJodHRwczovL25vZi50b3duIiwib3BlcmEiOiJodHRwczovL25vZi50b3duIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImZiNmVkOTYyNzJlYzg4NTAwOGU4OTZjNjE0NjAwMjA0OGQ4ZGM4OGMwYjdlMGU2ZmE0MmJjYWRmMDUyYTE1NjkiOnsiaWQiOiJmYjZlZDk2MjcyZWM4ODUwMDhlODk2YzYxNDYwMDIwNDhkOGRjODhjMGI3ZTBlNmZhNDJiY2FkZjA1MmExNTY5IiwibmFtZSI6IkVua3J5cHQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmVua3J5cHQuY29tIiwiaW1hZ2VfaWQiOiI1YWFmZDY4MC05NWE4LTQxZTYtNmRmMC02MzJlYTIzZjQ3MDAiLCJvcmRlciI6MzAwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2dvb2dsZS5jb20iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvZW5rcnlwdC1tdWx0aWNoYWluLWNyeXB0by9ra3BsbGtvZGplbG9pZGllZWRvam9nYWNmaHBhaWhvaCIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL2Vua3J5cHQvIiwic2FmYXJpIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZW5rcnlwdC13ZWIzLXdhbGxldC9pZDE2NDAxNjQzMDk/bXQ9MTIiLCJlZGdlIjoiaHR0cHM6Ly9taWNyb3NvZnRlZGdlLm1pY3Jvc29mdC5jb20vYWRkb25zL2RldGFpbC9nZmVuYWpham5qam1tZG9qaGRqbW5uZ29ta2hsbmZqbCIsIm9wZXJhIjoiaHR0cHM6Ly9hZGRvbnMub3BlcmEuY29tL2VuL2V4dGVuc2lvbnMvZGV0YWlscy9lbmtyeXB0LyJ9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc0Vua3J5cHQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJjb20uZW5rcnlwdCIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2dvb2dsZS5jb20ifX0sIjVmZjFjMDk4MjA5MmY1YjQxZGY2N2M2YWQ2MzZmZWRkZmMzZTlkOGM3NzE3NzdkZGMyNmU1MzM1ZmM5MWFiMmYiOnsiaWQiOiI1ZmYxYzA5ODIwOTJmNWI0MWRmNjdjNmFkNjM2ZmVkZGZjM2U5ZDhjNzcxNzc3ZGRjMjZlNTMzNWZjOTFhYjJmIiwibmFtZSI6IlNjcmFtYmxlIiwiaG9tZXBhZ2UiOiJodHRwczovL3NjcmFtYmxlLXdhbGxldC5jb20iLCJpbWFnZV9pZCI6ImMwMGVmM2RhLWFhY2ItNGMyNy02NmFlLTNjYjk1MzdhNDgwMCIsIm9yZGVyIjozMDEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9zY3JhbWJsZS1ldm0tYnRjLXBvbGthZG90L2Rma2tlZm1ibGtnbmVjZXBqb2dlbm9ranBhZ2dsZmhqIiwiZmlyZWZveCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvYWRkb24vc2NyYW1ibGUtbXVsdGljaGFpbi13YWxsZXQvIiwic2FmYXJpIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hdC9hcHAvc2NyYW1ibGUtbXVsdGljaGFpbi13YWxsZXQvaWQ2NDYzODEyODc4P210PTEyIiwiZWRnZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3NjcmFtYmxlLWV2bS1idGMtcG9sa2Fkb3QvZGZra2VmbWJsa2duZWNlcGpvZ2Vub2tqcGFnZ2xmaGoiLCJvcGVyYSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3NjcmFtYmxlLWV2bS1idGMtcG9sa2Fkb3QvZGZra2VmbWJsa2duZWNlcGpvZ2Vub2tqcGFnZ2xmaGoifSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNTY3JhbWJsZSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImNvbS5zY3JhbWJsZSIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNWVhYzIyZmY0NmMzNDk0NGYyNDUxNDZhZDQ1ZjYyOTIzMzYwMjkwZDkwYmIyOTJhNGYwMTk2NjhkNzRmNzc5MiI6eyJpZCI6IjVlYWMyMmZmNDZjMzQ5NDRmMjQ1MTQ2YWQ0NWY2MjkyMzM2MDI5MGQ5MGJiMjkyYTRmMDE5NjY4ZDc0Zjc3OTIiLCJuYW1lIjoiVVhMSU5LIiwiaG9tZXBhZ2UiOiJodHRwczovL29hb2cudXhsaW5rLmlvIiwiaW1hZ2VfaWQiOiI3YzBhYzY4Yy1lZmQ2LTQyYWItNDg4Yi1iZThmZWJlNDVmMDAiLCJvcmRlciI6MzAyMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL29hb2cudXhsaW5rLmlvIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vb2FvZy51eGxpbmsuaW8ifX0sIjZmNDNkMzVkNTNhZTEyYzg2NjgxZGY2NTM0MjMxNWI2NDMwMjZlMjA4NWU0MWJmOGI4Y2M2NzI4NzE1MGMzNzUiOnsiaWQiOiI2ZjQzZDM1ZDUzYWUxMmM4NjY4MWRmNjUzNDIzMTViNjQzMDI2ZTIwODVlNDFiZjhiOGNjNjcyODcxNTBjMzc1IiwibmFtZSI6IlNoaW1tZXJTZWEiLCJob21lcGFnZSI6Imh0dHBzOi8vc2hpbW1lcnNlYS5maW5hbmNlIiwiaW1hZ2VfaWQiOiIyZTk3ZGEwYi0yMjVhLTQ0YzItMmU3Mi05MTI1ZDg1MDRhMDAiLCJvcmRlciI6MzAzMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3NoaW1tZXJzZWEuZmluYW5jZSIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3NoaW1tZXJzZWEuZmluYW5jZSJ9fSwiNTgyNTA2ZDNhYzc5NWUxZDcyYjE2NzRlMGVlNTRiNDU0MzFhZDZmYWM5YjUxYzBjOGM0YzE4OTNkOTIzYzVmMCI6eyJpZCI6IjU4MjUwNmQzYWM3OTVlMWQ3MmIxNjc0ZTBlZTU0YjQ1NDMxYWQ2ZmFjOWI1MWMwYzhjNGMxODkzZDkyM2M1ZjAiLCJuYW1lIjoiU2hpZG8gQXBwIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5zaGlkby5pby8iLCJpbWFnZV9pZCI6IjY3M2I0ZmRjLThjNjUtNDFlMC1kMGY4LWMyZWI2YzhlNTUwMCIsIm9yZGVyIjozMDQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc2hpZG8tYXBwL2lkNjQ3MzQ1MjE2NSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnNoaWRvLndhbGxldCZobD1lbiZnbD1VUyZwbGk9MSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2hpZG86Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjI1NjRhNzAyZjNiNzA5YjAwMGE3NzQ3Y2NmYzZmNmRjYzU4YjYzOGM1N2YyOTc5MWNkMDE1MTRmZTkxY2M1ZjgiOnsiaWQiOiIyNTY0YTcwMmYzYjcwOWIwMDBhNzc0N2NjZmM2ZjZkY2M1OGI2MzhjNTdmMjk3OTFjZDAxNTE0ZmU5MWNjNWY4IiwibmFtZSI6IlNpbnVtIiwiaG9tZXBhZ2UiOiJodHRwczovL3NpbnVtLmFwcC8iLCJpbWFnZV9pZCI6IjU2MGQ1ZWZhLTNmZDEtNGFjNC05MjI5LWY3MjAzOTVhYjUwMCIsIm9yZGVyIjozMDUwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLnNpbnVtLmlvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9nYi9hcHAvc2ludW1hcHAvaWQ2NDY2MTUxODE5P210PTgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLnNpbnVtLndhbGxldCZyZWZlcnJlcj1hZl90cmFuaWQlM0RuVTdsX2cyYUs1ajhzZHFXT3lrVTdnJTI2YyUzRE1BSU4rV0VCU0lURStUTytBTkRST0lEJTI2cGlkJTNETUFJTitBTkRST0lEJnBsaT0xIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzaW51bTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5zaW51bS5pbyJ9fSwiNmQ0N2MxMGYwNDZjMzIyYjQ4ODJkYmI2YTRkOGM4ZTVlNDM5MDE5NDAyZmY4NzI0MTJkM2I3OWJkM2E4NTlmNCI6eyJpZCI6IjZkNDdjMTBmMDQ2YzMyMmI0ODgyZGJiNmE0ZDhjOGU1ZTQzOTAxOTQwMmZmODcyNDEyZDNiNzliZDNhODU5ZjQiLCJuYW1lIjoiU291bFN3YXAiLCJob21lcGFnZSI6Imh0dHBzOi8vYXBwLnNvdWxzd2FwLmZpbmFuY2UiLCJpbWFnZV9pZCI6IjI0ZmM2ZTZlLWEyNzYtNGM5NS1mYTc3LTkxZWMxMDk3ZDYwMCIsIm9yZGVyIjozMDYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc291bHdhbGxldC1kZWZpLXBvcnRhbC9pZDY0Njk3MzUyNTIiLCJhbmRyb2lkIjpudWxsLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zb3Vsd2FsbGV0LWRlZmktcG9ydGFsL2lkNjQ2OTczNTI1MiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zb3Vsd2FsbGV0LWRlZmktcG9ydGFsL2lkNjQ2OTczNTI1MiIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc1NvdWxXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifSx7ImluamVjdGVkX2lkIjoiaXNTb3VsV2FsbGV0IiwibmFtZXNwYWNlIjoicG9sa2Fkb3QifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzb3Vsd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI0NDU3YzEzMGRmNDlmYjNjYjFmOGI5OTU3NGI5N2IzNTIwOGJkM2QwZDEzYjhkMjVkMmI1ODg0ZWQyY2FkMTNhIjp7ImlkIjoiNDQ1N2MxMzBkZjQ5ZmIzY2IxZjhiOTk1NzRiOTdiMzUyMDhiZDNkMGQxM2I4ZDI1ZDJiNTg4NGVkMmNhZDEzYSIsIm5hbWUiOiJTaGFwZVNoaWZ0IiwiaG9tZXBhZ2UiOiJodHRwczovL3NoYXBlc2hpZnQuY29tIiwiaW1hZ2VfaWQiOiI5NTdjMzRiMi03MjEwLTQ3NWEtMDczNC02ODlkZmNhYmM0MDAiLCJvcmRlciI6MzA3MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC5zaGFwZXNoaWZ0LmNvbS8jIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc2hhcGVzaGlmdC1jcnlwdG8tcGxhdGZvcm0vaWQ5OTY1NjkwNzUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5zaGFwZXNoaWZ0LmRyb2lkX3NoYXBlc2hpZnQmaGw9ZW5fVVMmZ2w9VVMmcGxpPTEiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zaGFwZXNoaWZ0LWNyeXB0by1wbGF0Zm9ybS9pZDk5NjU2OTA3NSIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2hhcGVzaGlmdDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vc2hhcGVzaGlmdC5hcHAubGluay8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5zaGFwZXNoaWZ0LmNvbS8jIn19LCIwMjJlOGZmODQ1MTllNDI3YmZmMzk0YjNhNTgzMDhiYzk4MzgxOTZhOGVmYjQ1MTU4ZGEwYWI3YzMyMjhhYmZiIjp7ImlkIjoiMDIyZThmZjg0NTE5ZTQyN2JmZjM5NGIzYTU4MzA4YmM5ODM4MTk2YThlZmI0NTE1OGRhMGFiN2MzMjI4YWJmYiIsIm5hbWUiOiJFc3NlbnRpYWxzIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy50cmluaXR5LXRlY2guaW8vZXNzZW50aWFscyIsImltYWdlX2lkIjoiMDU4ODc4ZjQtNzM2NC00ZTAxLTQzNGYtMmNjMDlhMTVjZjAwIiwib3JkZXIiOjMwODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9lbGFzdG9zLWVzc2VudGlhbHMvaWQxNTY4OTMxNzQzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcuZWxhc3Rvcy5lc3NlbnRpYWxzLmFwcCIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9lc3NlbnRpYWxzLndlYjNlc3NlbnRpYWxzLmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYjUwOGJhYzY1OTg5Yzk4Y2Q1Y2E2NjQ3MzhlYmQ1MGI0ZmRhYTA2NDIwZjJjMGMzYjA0OWEwMWEwODU2YmQ3OSI6eyJpZCI6ImI1MDhiYWM2NTk4OWM5OGNkNWNhNjY0NzM4ZWJkNTBiNGZkYWEwNjQyMGYyYzBjM2IwNDlhMDFhMDg1NmJkNzkiLCJuYW1lIjoiS2V5Y2hhaW4iLCJob21lcGFnZSI6Imh0dHA6Ly9rZXljaGFpbi5tb25leS8iLCJpbWFnZV9pZCI6IjJiNmU5ZTRiLTdkY2EtNDVkZC00NWQ1LWQ5NmY0NTAxMDIwMCIsIm9yZGVyIjozMDkwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLmtleWNoYWluLm1vbmV5LyIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmtleWNoYWluLm1vbmV5LyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAua2V5Y2hhaW4ubW9uZXkvIn19LCJhZmJkOTU1MjJmNDA0MWM3MWRkNGYxYTA2NWY5NzFmZDMyMzcyODY1YjQxNmY5NWEwYjFkYjc1OWFlMzNmMmE3Ijp7ImlkIjoiYWZiZDk1NTIyZjQwNDFjNzFkZDRmMWEwNjVmOTcxZmQzMjM3Mjg2NWI0MTZmOTVhMGIxZGI3NTlhZTMzZjJhNyIsIm5hbWUiOiJPbW5pIiwiaG9tZXBhZ2UiOiJodHRwczovL29tbmkuYXBwIiwiaW1hZ2VfaWQiOiIyY2Q2N2I0Yy0yODJiLTQ4MDktZTdjMC1hODhjZDUxMTZmMDAiLCJvcmRlciI6MzEwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZGUvYXBwL3N0ZWFrd2FsbGV0L2lkMTU2OTM3NTIwND9sPWVuIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1maS5zdGVha3dhbGxldC5hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im9tbmk6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2xpbmtzLm9tbmkuYXBwIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjE2YThhOTIxYzJlZDI4ODA4YTVlM2JlNjcwNGZhMTA2MTU0OTU3OTExZDhiZjNhZTFlMDhiZTE0ODhmYzJiNiI6eyJpZCI6IjIxNmE4YTkyMWMyZWQyODgwOGE1ZTNiZTY3MDRmYTEwNjE1NDk1NzkxMWQ4YmYzYWUxZTA4YmUxNDg4ZmMyYjYiLCJuYW1lIjoiRmlub2FDb25uZWN0IiwiaG9tZXBhZ2UiOiJodHRwczovL2FwcC5maW5vYS5pby8iLCJpbWFnZV9pZCI6ImI3YTBjNmZlLTEwYmQtNDIzYy02YWE1LTA2MzdiZDJiOTkwMCIsIm9yZGVyIjozMTIwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLmZpbm9hLmlvLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2Zpbm9hLTJmYS9pZDE0ODQwNTg1MjQiLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImlvLmZpbm9hIiwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmZpbm9hLmlvLyJ9fSwiN2VlN2I5NWY0YWU4YjNlMDhhYWI1MTU4YmU3ZmU4ZTcxZjc5YmNkMzcxNzU5NDI1NGIzNGZhMWYzY2Q0NjExYSI6eyJpZCI6IjdlZTdiOTVmNGFlOGIzZTA4YWFiNTE1OGJlN2ZlOGU3MWY3OWJjZDM3MTc1OTQyNTRiMzRmYTFmM2NkNDYxMWEiLCJuYW1lIjoiUHV6emxlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9wdXp6bGUub25saW5lIiwiaW1hZ2VfaWQiOiIwOGNiMGE2OC02MjcxLTRlMjUtOTBjMy1iY2MzYzAyMjZhMDAiLCJvcmRlciI6MzEzMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2ppZ3Nhdy1kZXYucHV6emxlLm9ubGluZSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXUvYXBwL3B1enpsZS1hbGVvLXdhbGxldC9pZDY0NTAyNjgzMjEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9ubGluZS5wdXp6bGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3B1enpsZS1hbGVvLXdhbGxldC9mZGNoZGNwaWVlZ2ZvZm5vZmhnZG9tYmZja2hiY29raiIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InB1enpsZWFwcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vamlnc2F3LWRldi5wdXp6bGUub25saW5lLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXRjb25uZWN0LnB1enpsZS5vbmxpbmUifX0sIjNlODY0Njc4NDZlYTE5OTcwZWZhZDI1NGFiM2ZjM2NiOGZkNTdlMWYzODc1OWVkNzM2ZjFjYmVhOTMxNGE4NzgiOnsiaWQiOiIzZTg2NDY3ODQ2ZWExOTk3MGVmYWQyNTRhYjNmYzNjYjhmZDU3ZTFmMzg3NTllZDczNmYxY2JlYTkzMTRhODc4IiwibmFtZSI6IkdyZWVuaG9vZCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZ3JlZW5ob29kLm5sIiwiaW1hZ2VfaWQiOiI3YjZhYWE0ZC1mYTE3LTRjYzYtNzFlMS03OWYyZTY4YzA5MDAiLCJvcmRlciI6MzE0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2dyZWVuaG9vZC13YWxsZXQvaWQxNjYxMjQ4MTM1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZ3JlZWhvb2Qud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJubC5ncmVlbmhvb2Qud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6ImdyZWVuaG9vZDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNWZiNTJkNWQxMzE2ZWIwOWUyYTNmN2U2ZTM2MjBlNWU3ODQ1MGYzMTA3Njg0MTY2ZWY3ZWUzNjQ1OWViYzA5YyI6eyJpZCI6IjVmYjUyZDVkMTMxNmViMDllMmEzZjdlNmUzNjIwZTVlNzg0NTBmMzEwNzY4NDE2NmVmN2VlMzY0NTllYmMwOWMiLCJuYW1lIjoiRWNob29vIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZWNob29vLnh5ei8iLCJpbWFnZV9pZCI6ImE3YjFkZTIwLWJhZmQtNGFiOS1jMzFkLTdkMzk4Y2M5MGEwMCIsIm9yZGVyIjozMTUwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZWNob29vLWNyeXB0by1hYS13YWxsZXQtZGVmaS9pZDY0NDY4ODM3MjUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5zbWFydHdhbGxldC5hcHAmaGw9ZW5fVVMmZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL2VjaG9vby13YWxsZXQvbGNtbmNsb2hlb2VraGJtbGpqbGhkbGFvYmtlZGpiZ2QiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJlY2hvb286Ly9lY2hvb28udmFsbGV5c291bmQueHl6L3Zzcy93YWxsZXRjb25uZWN0IiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcGkudmFsbGV5c291bmQueHl6L3Zzcy8qIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMGRiOWI1MzlhNWU1MTlkYWI5MDk3MjUwZjVhYmI2ZjBiMmExMWMyZTE3ZGVlMzEzYjY1MDQwMWUwODk5NDViOCI6eyJpZCI6IjBkYjliNTM5YTVlNTE5ZGFiOTA5NzI1MGY1YWJiNmYwYjJhMTFjMmUxN2RlZTMxM2I2NTA0MDFlMDg5OTQ1YjgiLCJuYW1lIjoiTWF4V2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL21heHdhbGxldC5jYyIsImltYWdlX2lkIjoiMmY2ZTYzZmItNjQ0My00YWM5LTU5NzgtODVkNjFkZWZiNjAwIiwib3JkZXIiOjMxNjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2VzL2FwcC82NjcwNjEwMzQ5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubWF4d2FsbGV0LmNjIiwibWFjIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9lbi9hcHAvNjY3MDYxMDM0OSIsIndpbmRvd3MiOiJodHRwczovL21heHdhbGxldC5jYy9kb3dubG9hZC9NQVgtV2FsbGV0LTEuMC4wLXdpbi5leGUiLCJsaW51eCI6Imh0dHBzOi8vbWF4d2FsbGV0LmNjL2Rvd25sb2FkL01BWC1XYWxsZXQtMS4wLjAtbGludXguQXBwSW1hZ2UiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im1heHdhbGxldDovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6Im1heHdhbGxldDovLyIsInVuaXZlcnNhbCI6IiJ9fSwiYjI0ODU1OWJmZjZiMThkMGQ3NzZhMjM2OTg5OTA2NDFmOGQ3NzA0YzM1ZmFhN2RlNjA4NjVjYzg0Mjk4MThiOSI6eyJpZCI6ImIyNDg1NTliZmY2YjE4ZDBkNzc2YTIzNjk4OTkwNjQxZjhkNzcwNGMzNWZhYTdkZTYwODY1Y2M4NDI5ODE4YjkiLCJuYW1lIjoiUmV6b3IiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnJlem9yLm9yZy8iLCJpbWFnZV9pZCI6IjAyMzliM2U0LTJjOTYtNDA0NS1kN2YxLTM5MGExZmZjN2UwMCIsIm9yZGVyIjozMTcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5yZXpvciZobD1lbl9JTiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicmV6b3I6Ly9hcHAiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjczZThkYjE0NWM2YjJhMmExMTQ0NGU4MzVhNDE0NDQxNmMwMzYxMzQyZGVjNGM3YzFiYzE3Zjg1MjIzYWVjOTMiOnsiaWQiOiI3M2U4ZGIxNDVjNmIyYTJhMTE0NDRlODM1YTQxNDQ0MTZjMDM2MTM0MmRlYzRjN2MxYmMxN2Y4NTIyM2FlYzkzIiwibmFtZSI6IlRydXN0IEFzc2V0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly90cnVzdGFzc2V0LmlvLyIsImltYWdlX2lkIjoiZjY0ZmFiYzUtMWUzZi00YWQ0LTczNjItNzQ3YWJkMWJjMDAwIiwib3JkZXIiOjMxODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnRydXN0YXNzZXRhcHAmaGw9ZW5fSU4mZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InRydXN0YXNzZXRhcHA6Ly93YWxsZXRjb25uZWN0IiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI3ZTZmNjhiMDMzYTE5ZmQ2YzI5OTk1OThmOTc5MWUyNDAxNGY5ODcwYzYyNjkwMWQyNTRkYTUwNjYwZmRhNTc4Ijp7ImlkIjoiN2U2ZjY4YjAzM2ExOWZkNmMyOTk5NTk4Zjk3OTFlMjQwMTRmOTg3MGM2MjY5MDFkMjU0ZGE1MDY2MGZkYTU3OCIsIm5hbWUiOiJEZmlubiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZGZpbm53YWxsZXQuYXBwIiwiaW1hZ2VfaWQiOiI5YTljNTljZS02MzQ2LTRhZjgtZGIxOS03Nzg1MzNmYjYwMDAiLCJvcmRlciI6MzE5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2RmaW5uLXdhbGxldC9pZDY0NTExMzQyMTkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW1vbmV5LmRmaW5uLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZGZpbm53YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2RmaW5ud2FsbGV0LWxpbmsudmVyY2VsLmFwcC8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIxMzhmNTFjOGQwMGFjN2I5YWM5ZDhkYzc1MzQ0ZDA5NmE3ZGZlMzcwYTU2OGFhMTY3ZWFiYzBhMjE4MzBlZDk4Ijp7ImlkIjoiMTM4ZjUxYzhkMDBhYzdiOWFjOWQ4ZGM3NTM0NGQwOTZhN2RmZTM3MGE1NjhhYTE2N2VhYmMwYTIxODMwZWQ5OCIsIm5hbWUiOiJBbHBoYVdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hbHBoYXdhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiI1YjFjZGRmYi0wNTZlLTRlNzgtMDI5YS01NGRlNWQ3MGM1MDAiLCJvcmRlciI6MzIwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2FscGhhd2FsbGV0LWV0aC13YWxsZXQvaWQxMzU4MjMwNDMwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5zdG9ybWJpcmQud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJhd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hdy5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIwODBmMWIxMGMxYTU1OTIyMDM3YTRiZGE2MmY0MmM3ZmYyYjUzODRiYzliNWQ2ZWJmMGM3Y2Q5M2U3MDQ4OWEyIjp7ImlkIjoiMDgwZjFiMTBjMWE1NTkyMjAzN2E0YmRhNjJmNDJjN2ZmMmI1Mzg0YmM5YjVkNmViZjBjN2NkOTNlNzA0ODlhMiIsIm5hbWUiOiJMZWdpb25OZXR3b3JrIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5sZWdpb25uZXR3b3JrLmlvLyIsImltYWdlX2lkIjoiMjYwNDQyMjktNGE2MS00YjE0LWEyZWQtNTQxM2ZlNDM1YTAwIiwib3JkZXIiOjMyMTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2diL2FwcC9sZWdpb24tbmV0d29yay1jcnlwdG8tc3VwZXJhcHAvaWQxNjAyOTIxNTI4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubGVnaW9uLnByb2R1Y3Rpb24mcGNhbXBhaWduaWQ9d2ViX3NoYXJlIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJsZWdpb25hcHA6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjI0ZmQ4MTA0ZTA3YWExODAyYWVmNTE0MjYyMjJmMjM4NjgwMTNiODM2NTVmYjY2ODZjODQ3ODc0NGRkMmZkYTEiOnsiaWQiOiIyNGZkODEwNGUwN2FhMTgwMmFlZjUxNDI2MjIyZjIzODY4MDEzYjgzNjU1ZmI2Njg2Yzg0Nzg3NDRkZDJmZGExIiwibmFtZSI6IkhhbG8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2hhbG8uc29jaWFsLyIsImltYWdlX2lkIjoiODA1ODM5NzMtOGI0NC00YmVmLTBhZjktMDk5Y2ZkYmVkNjAwIiwib3JkZXIiOjMyMjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2hrL2FwcC9pZDE2MzM1NzI5MDUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5rdWNvaW4ud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2hhbG8td2FsbGV0L25iZHBtbGhhbWJiZGtoa21iZnBsamNramNtZ2liYWxvIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzSGFsb1dhbGxldCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImhhbG93YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2xpbmsua3V3YWxsZXQuY29tL3VuaXZlcnNhbGxpbmsifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIwNjNjNTIwOTYyYTQ0NTYxN2FkM2ZjOWNjYjk3NDRjODExMDRkZDExZTM0ZTNkNjFjNmE2YTQyY2MwYTZiZWIzIjp7ImlkIjoiMDYzYzUyMDk2MmE0NDU2MTdhZDNmYzljY2I5NzQ0YzgxMTA0ZGQxMWUzNGUzZDYxYzZhNmE0MmNjMGE2YmViMyIsIm5hbWUiOiJEZXhhcmkiLCJob21lcGFnZSI6Imh0dHBzOi8vZGV4YXJpLmNvbSIsImltYWdlX2lkIjoiYjM5MDJjMjAtMzY0ZS00NDdkLTUzMzEtMDNkOTJmMjI2ZDAwIiwib3JkZXIiOjMyMzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9kZXhhcmkvaWQ2NzQxMDk4MTY5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZGV4YXJpIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJkZXhhcmk6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2RleGFyaS5jb20vam9pbiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiOWY2ZmJmNGIwYTIyZWY1N2NmNDBhY2Y0NWJjNzViODNiOWIxYmQ4MDJjOGZlMmZiYzZhMzgwMjU5YTA1ZThmNyI6eyJpZCI6IjlmNmZiZjRiMGEyMmVmNTdjZjQwYWNmNDViYzc1YjgzYjliMWJkODAyYzhmZTJmYmM2YTM4MDI1OWEwNWU4ZjciLCJuYW1lIjoiTWVDbyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbWVjb3dhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiJlOTVmOGQ5Mi0zMmVhLTQ1YWQtYjE2My00ODlkZWYyYmQ3MDAiLCJvcmRlciI6MzI0MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9tZWNvLXdhbGxldC9pZDY3NDk1MjMyMTgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5tZW1lY29yZS53YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6Im1lY293YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjE4OTZhYTY3Y2UzM2Q1YmRlNzY0MzY5Yzc1NDFhNzUwNzRiYWExYjhkYTk3ZTcwM2M5ZWUzYTRiNjFlNTZlNjUiOnsiaWQiOiIxODk2YWE2N2NlMzNkNWJkZTc2NDM2OWM3NTQxYTc1MDc0YmFhMWI4ZGE5N2U3MDNjOWVlM2E0YjYxZTU2ZTY1IiwibmFtZSI6IlJpcGlvIFBvcnRhbCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9yaXBpby5jb20vcG9ydGFsIiwiaW1hZ2VfaWQiOiJmZDU2YzY5NS1jZTU4LTRkZjUtMTYyNS03Njc1NzFjODA3MDAiLCJvcmRlciI6MzI1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXIvYXBwL3JpcGlvLWNvbXByYXItYml0Y29pbi15LWV0aC9pZDEyMjEwMDY3NjEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5yaXBpby5hbmRyb2lkJmhsPWVuJmdsPVVTIiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3JpcGlvLXBvcnRhbC9kZGFtaGFwYXBpYW5pYmtra2NjbGFiZ2ljbXBucGRuaiIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3JpcGlvLXBvcnRhbC9kZGFtaGFwYXBpYW5pYmtra2NjbGFiZ2ljbXBucGRuaiIsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNQb3J0YWwiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJyaXBpbzovL3BvcnRhbCIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZmFiZmNjOWQ1Y2IwN2FmODNlZWM5ODZiZTlhNGY4ZGQxMzQ1MDc5NzA4ZDI0YmQ1MjlmNGY4NjFmZWIyZGUwNCI6eyJpZCI6ImZhYmZjYzlkNWNiMDdhZjgzZWVjOTg2YmU5YTRmOGRkMTM0NTA3OTcwOGQyNGJkNTI5ZjRmODYxZmViMmRlMDQiLCJuYW1lIjoiV2FhUCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93YWFwLnh5eiIsImltYWdlX2lkIjoiOWM0MTFiYTAtNDVhZi00NDdkLTIyZWMtMGFjNzlkMDBhYzAwIiwib3JkZXIiOjMyNjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWFwLnh5eiIsImlvcyI6IiIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FhcC54eXoifX0sIjEyZmZiZWI1MmIzN2YwOGJkODIyNGE1MGUxY2QyMTczMjg2YmY0MzI4MzI1Nzk4NjFhNTQ4MGJkNjYyZTM0OWQiOnsiaWQiOiIxMmZmYmViNTJiMzdmMDhiZDgyMjRhNTBlMWNkMjE3MzI4NmJmNDMyODMyNTc5ODYxYTU0ODBiZDY2MmUzNDlkIiwibmFtZSI6IkJsb29tIiwiaG9tZXBhZ2UiOiJodHRwczovL2Jsb29td2FsbGV0LmlvLyIsImltYWdlX2lkIjoiMTg1YzAzODgtNThmNC00MDhjLTQ1YWYtNzFjOWNhMTE0MzAwIiwib3JkZXIiOjMyNzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9ibG9vbXdhbGxldC5pbyIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjoiaHR0cHM6Ly9ibG9vbXdhbGxldC5pby8iLCJ3aW5kb3dzIjoiaHR0cHM6Ly9ibG9vbXdhbGxldC5pby8iLCJsaW51eCI6Imh0dHBzOi8vYmxvb213YWxsZXQuaW8vIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoiYmxvb206Ly93YWxsZXQtY29ubmVjdC9jb25uZWN0IiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9ibG9vbXdhbGxldC5pbyJ9fSwiYTMwOWM0ZTVlNTFmMTA2ZTczOWI3MGNhNjRjOWM4YTc4YTU5ZTUxYTM1ZmIwZGYzNzExZWViMWE0ZDY0MmIzYSI6eyJpZCI6ImEzMDljNGU1ZTUxZjEwNmU3MzliNzBjYTY0YzljOGE3OGE1OWU1MWEzNWZiMGRmMzcxMWVlYjFhNGQ2NDJiM2EiLCJuYW1lIjoiTGlrZXJMYW5kIEFwcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9saWtlci5sYW5kL2dldGFwcCIsImltYWdlX2lkIjoiNTAxZmEzMTYtZjBkZi00YTFiLWVhZDYtNTUyMzI1MWI3MTAwIiwib3JkZXIiOjMyODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9saWtlci1sYW5kL2lkMTI0ODIzMjM1NSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm9pY2UiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNvbS5vaWNlOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI1ZTRhOGNjMzFkMDYyYjc4YTdhZDllMDE3MTM1NTc0ODA5YjAxYzRkYmJmMzBlNGRiYjQ2N2RkZDQzMDI1NjE4Ijp7ImlkIjoiNWU0YThjYzMxZDA2MmI3OGE3YWQ5ZTAxNzEzNTU3NDgwOWIwMWM0ZGJiZjMwZTRkYmI0NjdkZGQ0MzAyNTYxOCIsIm5hbWUiOiJUb21vIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly90b21vLmluYyIsImltYWdlX2lkIjoiOTVjOWY5NTctYjFlNC00NjE5LWZhN2MtYTc3NTY5ZDJmZTAwIiwib3JkZXIiOjMyOTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC90b21vLWluYy9pZDY0NjgwMTAyODciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPXRvbW8uYXBwLnVueXgiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3RvbW8td2FsbGV0L3BmY2Nqa2VqY2dvcHBqbmxsYWxvbHBsZ29nZW5mb2prIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6IndpbmRvdy5ldGhlcmV1bS5pc1RvbW8iLCJuYW1lc3BhY2UiOiJlaXAxNTUifSx7ImluamVjdGVkX2lkIjoid2luZG93LnRvbW9fZXZtIiwibmFtZXNwYWNlIjoiZWlwMTU1In0seyJpbmplY3RlZF9pZCI6IndpbmRvdy50b21vX2V2bS5pc1RvbW8iLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJpbmMudG9tbyIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0b21vOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIxYTA5MDkxOWZhMzIxODU5NzdmNjViY2FiMzQzNWQyNTBmYTdlN2U0N2M4NDEwZTMxMTM2ZjNmMjk3NTE3ZTI3Ijp7ImlkIjoiMWEwOTA5MTlmYTMyMTg1OTc3ZjY1YmNhYjM0MzVkMjUwZmE3ZTdlNDdjODQxMGUzMTEzNmYzZjI5NzUxN2UyNyIsIm5hbWUiOiJLb21ldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rb21ldC5tZSIsImltYWdlX2lkIjoiYTJlOWFhZWQtMjBmNi00ZGE5LTNjYTMtNDQ4YTFmYzAwYjAwIiwib3JkZXIiOjMzMDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC9rb21ldC9pZDY0NDgyMzg1NTgiLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL2tvbWV0LXdhbGxldC9hbm1ra2dnb2hjZGVsaGFob2xqaWFsY2ZnZGJjZWdibyIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6Im1lLmtvbWV0LmFwcCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJrb21ldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYjEyM2Q5ZDRhYTZiMzg0YWVkNmM0NWU3NzM4ODYxYTI4YTJlYWJkZjRhZGI3MmFkMWU0MDhkODU3OGJjOWI4MSI6eyJpZCI6ImIxMjNkOWQ0YWE2YjM4NGFlZDZjNDVlNzczODg2MWEyOGEyZWFiZGY0YWRiNzJhZDFlNDA4ZDg1NzhiYzliODEiLCJuYW1lIjoiR1VBUkRJSUFOIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ndWFyZGlpYW53YWxsZXQuaW8vIiwiaW1hZ2VfaWQiOiI0ZjA5NWMxZC04YTMxLTRhZjgtYWI1OC01N2U4MmEzOThlMDAiLCJvcmRlciI6MzMxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vcGsvYXBwL2d1YXJkaWlhbi13YWxsZXQvaWQ2NDc4Mzg0MzM4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZ2FyZGlhbndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZ3VhcmRpaWFud2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhMjFkMDZjNjU2YzhiMWRlMjUzNjg2ZTA2ZmMyZjFiM2Q0YWEzOWM0NmRmMmJmZGE4YTZjYzUyNGVmMzJjMjBjIjp7ImlkIjoiYTIxZDA2YzY1NmM4YjFkZTI1MzY4NmUwNmZjMmYxYjNkNGFhMzljNDZkZjJiZmRhOGE2Y2M1MjRlZjMyYzIwYyIsIm5hbWUiOiJWZW5seSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cudmVubHkuaW8iLCJpbWFnZV9pZCI6ImQ4Yzg0NmQwLTUxNjQtNDUyMC1kMTBmLWUxYzI3ZDY5Y2UwMCIsIm9yZGVyIjozMzIwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LnZlbmx5LmlvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvdmVubHkvaWQxNjcwOTE1OTU2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby52ZW5seS53YWxsZXQiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC92ZW5seS9pZDE2NzA5MTU5NTYiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldGNvbm5lY3QudmVubHkuaW8ifX0sImI3NjAyYjI3ZWZkOTNmYWZlY2I1M2E4MDZjZDc0ZDY1ZmRmYjg1NDhiNzZkMDI4MzM5NTY5YTM3YWVlMDEyYzAiOnsiaWQiOiJiNzYwMmIyN2VmZDkzZmFmZWNiNTNhODA2Y2Q3NGQ2NWZkZmI4NTQ4Yjc2ZDAyODMzOTU2OWEzN2FlZTAxMmMwIiwibmFtZSI6IkNyeXB0bm94IEJyaWRnZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jcnlwdG5veC5jb20iLCJpbWFnZV9pZCI6IjVjYmZjMjYzLWRkMGQtNDk3OC1kNDU1LTNjMGIwZWQ1MjkwMCIsIm9yZGVyIjozMzMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vY3J5cHRub3guY29tIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOiJodHRwczovL3d3dy5taWNyb3NvZnQuY29tL3N0b3JlL3Byb2R1Y3RJZC85UEIxUFNGR01LNjI/b2NpZD1wZHBzaGFyZSIsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS5jcnlwdG5veCIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoiY3J5cHRub3hjb25uZWN0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jcnlwdG5veC5jb20ifX0sIjQ4Mjc3OWIwMWZmZDkzYjcwYzFmNjJlNzkwNTY1OGNhMWE2YjAyNzk5ZjQ5OGIwN2NjZTQyM2Y3ODQxYWVkNzUiOnsiaWQiOiI0ODI3NzliMDFmZmQ5M2I3MGMxZjYyZTc5MDU2NThjYTFhNmIwMjc5OWY0OThiMDdjY2U0MjNmNzg0MWFlZDc1IiwibmFtZSI6Ilp5cHRvIiwiaG9tZXBhZ2UiOiJodHRwczovL3p5cHRvLmNvbSIsImltYWdlX2lkIjoiNGY2YWU4NTEtN2ZlNi00MWFjLTU3MTQtM2E5MTBiMmZmNDAwIiwib3JkZXIiOjMzNDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC96eXB0by1hbGwtaW4tb25lLWNyeXB0by13YWxsZXQvaWQ2NDYzNzU1OTkyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uenlwdG8mZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS56eXB0byIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ6eXB0bzovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYTc2NjMzYjg1ZGI2NWQ3ODk5MmZmNTFjMTg0OTJhNzJmNDQyYWE1ZWEyYmY3YmRmNDlkOTkxYTk0MTA3NzM0ZCI6eyJpZCI6ImE3NjYzM2I4NWRiNjVkNzg5OTJmZjUxYzE4NDkyYTcyZjQ0MmFhNWVhMmJmN2JkZjQ5ZDk5MWE5NDEwNzczNGQiLCJuYW1lIjoiTmFib3giLCJob21lcGFnZSI6Imh0dHBzOi8vbmFib3guaW8vIiwiaW1hZ2VfaWQiOiJkN2Q1MjE2MS1mOWJiLTQ1NWEtMDM4ZS05ZWNhNjg1MzYyMDAiLCJvcmRlciI6MzM1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL25hYm94LXdhbGxldC9pZDY0NDM4MjEwMjEiLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im5hYm94Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9uYWJveC5pby9hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjNjc5YzJhMTI2N2M4Y2ZiNTFkNWQyOGExYTIxZjNlY2E1ZThkNzU1NjMzMmI5YjllYjQwMGMxZjM3MTg0NGM5Ijp7ImlkIjoiYzY3OWMyYTEyNjdjOGNmYjUxZDVkMjhhMWEyMWYzZWNhNWU4ZDc1NTYzMzJiOWI5ZWI0MDBjMWYzNzE4NDRjOSIsIm5hbWUiOiJOYWJveCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9uYWJveC5pby8iLCJpbWFnZV9pZCI6IjNiNzVlOWY3LTJjYTgtNGEzMy1lZDJiLTRlOGEwYzA0OGQwMCIsIm9yZGVyIjozMzYwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL25hYm94LXdhbGxldC9ua25oaWVobGtsaXBwYWZha2Fla2xiZWdsZWNpZmhhZD9obD1lbiIsImlvcyI6Imh0dHBzOi8vdGVzdGZsaWdodC5hcHBsZS5jb20vam9pbi9VeDE4aDVOdiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndhbGxldC5uYWJveCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL25hYm94LmlvL2FwcC8qIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9uYWJveC13YWxsZXQvbmtuaGllaGxrbGlwcGFmYWthZWtsYmVnbGVjaWZoYWQ/aGw9ZW4ifX0sIjIxYzNhMzcxZjcyZjAwNTcxODYwODJlZGIyZGRkNDM1NjZmN2U5MDg1MDhhYzNlODUzNzNjNmQxOTY2ZWQ2MTQiOnsiaWQiOiIyMWMzYTM3MWY3MmYwMDU3MTg2MDgyZWRiMmRkZDQzNTY2ZjdlOTA4NTA4YWMzZTg1MzczYzZkMTk2NmVkNjE0IiwibmFtZSI6IkJpdGdldCBXYWxsZXQgTGl0ZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93ZWIzLmJpdGdldC5jb20vIiwiaW1hZ2VfaWQiOiIzZDAyYzgzYS0xOWFjLTQ1NTItZGE1YS1jNGFkYzI1MjNiMDAiLCJvcmRlciI6MzM3MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL21pbmktYXBwLmJpdGtlZXAuY29tLyIsImlvcyI6Imh0dHBzOi8vdC5tZS9CaXRnZXRXYWxsZXRfVEdCb3QvQkdXIiwiYW5kcm9pZCI6Imh0dHBzOi8vdC5tZS9CaXRnZXRXYWxsZXRfVEdCb3QvQkdXIiwibWFjIjoiaHR0cHM6Ly90Lm1lL0JpdGdldFdhbGxldF9UR0JvdC9CR1ciLCJ3aW5kb3dzIjoiaHR0cHM6Ly90Lm1lL0JpdGdldFdhbGxldF9UR0JvdC9CR1ciLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly90Lm1lL0JpdGdldFdhbGxldF9UR0JvdC9CR1ciLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNCaXRrZWVwIiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL21pbmktYXBwLmJpdGtlZXAuY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL21pbmktYXBwLmJpdGtlZXAuY29tIn19LCJlOWE3MzA1M2M3ZDhjZjdmOGViNzMyZTNkYTZhOGRmZDNjYzIxMWVhNGRjMDBlMDI3NGI5ZGVjNmUzMzE2NjA1Ijp7ImlkIjoiZTlhNzMwNTNjN2Q4Y2Y3ZjhlYjczMmUzZGE2YThkZmQzY2MyMTFlYTRkYzAwZTAyNzRiOWRlYzZlMzMxNjYwNSIsIm5hbWUiOiJ0YXN0eWNyeXB0byIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cudGFzdHljcnlwdG8uY29tLyIsImltYWdlX2lkIjoiMzU3ODc4YzktYTE5NS00MTAyLThmNjktNTVlYjJjNTc4NzAwIiwib3JkZXIiOjMzODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC90YXN0eWNyeXB0by1jcnlwdG8td2FsbGV0L2lkMTY3MDEwMjE4NiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnRhc3R5Y3J5cHRvJmhsPWVuIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0YXN0eWNyeXB0bzovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMTBhODg1MTU2Y2MwN2UzYThlNDI0YzlkZWE5ZWFmZGI2MmI1NjQwYjc3Y2JmOWQyZTA3Mjk1ZGJkM2EzMzRjOCI6eyJpZCI6IjEwYTg4NTE1NmNjMDdlM2E4ZTQyNGM5ZGVhOWVhZmRiNjJiNTY0MGI3N2NiZjlkMmUwNzI5NWRiZDNhMzM0YzgiLCJuYW1lIjoiUmV3YXJkeSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnJld2FyZHl3YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiIyMzYzMTdiNy05ODZkLTQ5MzYtZWYwZC1iMzNkNmU5OGE2MDAiLCJvcmRlciI6MzM5MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2tyL2FwcC9yZXdhcmR5LXdhbGxldC1ldm0tc29sLWFwdG9zL2lkNjU3MjI4NTExNCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNoYWlud2l0aC5yZXdhcmR5IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJyZXdhcmR5d2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cucmV3YXJkeXdhbGxldC5jb20vd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImM5MzRhODQ5Mjk0YjUyN2E4M2Q3MjZhYjc5MmYxMjk5NjMwMjQyMjU2YzMzOGZjMmNlNjY2ZTEyYWUxOGQ4MmUiOnsiaWQiOiJjOTM0YTg0OTI5NGI1MjdhODNkNzI2YWI3OTJmMTI5OTYzMDI0MjI1NmMzMzhmYzJjZTY2NmUxMmFlMThkODJlIiwibmFtZSI6IkR5bmFtaWMiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmR5bmFtaWMueHl6IiwiaW1hZ2VfaWQiOiJkZDg4YTc0ZS01OTNjLTRmNmUtYTk0NS0xMTk5ODUxZGU4MDAiLCJvcmRlciI6MzQwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2RlbW8uZHluYW1pYy54eXovIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGVtby5keW5hbWljLnh5ei8ifX0sImQwNDZjZThlOWQyZDk2ZTNhMGYwMmQwZjc0ZTUxMTE2YjE4ODRjYzRlODVjYTI0YTgzNTA2Y2Q0OWZhMjhkMjkiOnsiaWQiOiJkMDQ2Y2U4ZTlkMmQ5NmUzYTBmMDJkMGY3NGU1MTExNmIxODg0Y2M0ZTg1Y2EyNGE4MzUwNmNkNDlmYTI4ZDI5IiwibmFtZSI6IlNvbHV0aW9ucyBUZWFtIFRlc3QiLCJob21lcGFnZSI6Imh0dHBzOi8vc29sdXRpb25zLXRlYW0tdGVzdC5lY29zeXN0ZW0udGhpcmR3ZWIuY29tLyIsImltYWdlX2lkIjoiNjMwNDg4NTEtMzhmOS00YTU4LTg4MGUtNjVkNDA0ZGNmMzAwIiwib3JkZXIiOjM0MTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9zb2x1dGlvbnMtdGVhbS10ZXN0LmVjb3N5c3RlbS50aGlyZHdlYi5jb20vIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vc29sdXRpb25zLXRlYW0tdGVzdC5lY29zeXN0ZW0udGhpcmR3ZWIuY29tLyJ9fSwiZDYwOWIwODI0ZWE5YTQ1NmE0NjljODZjYzJkYWZmZTQyMjY4MWU2YjYwNDZhMmNjNjU0MDUwNjdiN2E0ZTIyMSI6eyJpZCI6ImQ2MDliMDgyNGVhOWE0NTZhNDY5Yzg2Y2MyZGFmZmU0MjI2ODFlNmI2MDQ2YTJjYzY1NDA1MDY3YjdhNGUyMjEiLCJuYW1lIjoiQmxhenBheSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ibGF6cGF5LmNvbS9kb3dubG9hZCIsImltYWdlX2lkIjoiYmEwZWQzZDEtZTk0Yy00MDhkLWM4ZjUtYTM4NGVkY2JhNzAwIiwib3JkZXIiOjM0MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvYmxhenBheS9jZWNuZGVkZG9oZWtha2xrZmVobWNuaGVqZmxtY2xoYyIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc0JseldhbGxldCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImNvbS5ibGF6cGF5LndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiOTdkMmNjYWIxZDU1YjFjMmJjZDcwYWEyMGM4Y2NiMGQ2NDUwZmY1NzcxNzgyMjdmYzY0MGM4ZjczMTljZDQzNyI6eyJpZCI6Ijk3ZDJjY2FiMWQ1NWIxYzJiY2Q3MGFhMjBjOGNjYjBkNjQ1MGZmNTc3MTc4MjI3ZmM2NDBjOGY3MzE5Y2Q0MzciLCJuYW1lIjoiS0FNSVlBR1VSQSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rYW1peWFndXJhLmNvbS8iLCJpbWFnZV9pZCI6ImY4MjZmYjg2LTcyZWMtNDdjYy0zZTYwLWE2ZTY5NDgxNTUwMCIsIm9yZGVyIjozNDMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8va2FtaXlhZ3VyYS5lY29zeXN0ZW0udGhpcmR3ZWIuY29tIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8va2FtaXlhZ3VyYS5lY29zeXN0ZW0udGhpcmR3ZWIuY29tIn19LCI1ZmIyMGJjNGNmN2M4NjYyZjAyM2Y0NjViOWVlNjVmZDZhM2IyNjZmYTVmMzdjNjc5OTc0NWYwYTlhMmRlMzNiIjp7ImlkIjoiNWZiMjBiYzRjZjdjODY2MmYwMjNmNDY1YjllZTY1ZmQ2YTNiMjY2ZmE1ZjM3YzY3OTk3NDVmMGE5YTJkZTMzYiIsIm5hbWUiOiJLVEMiLCJob21lcGFnZSI6Imh0dHBzOi8va2V5dHJ1c3Qub25lLyIsImltYWdlX2lkIjoiNDJlYTBiYTMtZGY5NC00MzA1LTZhNTItMWNhYmE0MmE3MDAwIiwib3JkZXIiOjM0NDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9rZXl0cnVzdC5vbmUvIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8va2V5dHJ1c3Qub25lLyJ9fSwiMzc2Y2M4NDk1ZTFiOTM4NzA4NGRjZTYxMTQ0NmJjNjA4Njc4MGIzOWIzMzg5MzRhZTA1N2VkMTFjNTczOTczNSI6eyJpZCI6IjM3NmNjODQ5NWUxYjkzODcwODRkY2U2MTE0NDZiYzYwODY3ODBiMzliMzM4OTM0YWUwNTdlZDExYzU3Mzk3MzUiLCJuYW1lIjoiSXJvbldhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9pcm9ud2FsbGV0LmlvLyIsImltYWdlX2lkIjoiYjgzNmQzNzItNDU3Yy00ZDEwLTVhMWQtNmU0YjBhMzY5YjAwIiwib3JkZXIiOjM0NTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9nYi9hcHAvaXJvbndhbGxldC1zZWxsLWJ1eS1jcnlwdG8vaWQ2NDUxMTQ2MzI1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ud2FsbGV0LmNyeXB0by5idGMuZXRoIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiaHR0cHM6Ly9jZG4uaXJvbndhbGxldC5pby9pcm9ud2FsbGV0X2FwcC5hcGsiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6Im15QXBwOi8vYXBwLmlyb253YWxsZXQuaW8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5pcm9ud2FsbGV0LmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJjOGU5ZTcyMThiN2QyNWI4NjIxYzEyNWJkODJkYzIyZTlmZGFjMTZiZWYyMTdhMjgxYzY2ZmI2YTUzYjBkYTg1Ijp7ImlkIjoiYzhlOWU3MjE4YjdkMjViODYyMWMxMjViZDgyZGMyMmU5ZmRhYzE2YmVmMjE3YTI4MWM2NmZiNmE1M2IwZGE4NSIsIm5hbWUiOiJKT0lOIE1PQklMRSBBUFAiLCJob21lcGFnZSI6Imh0dHBzOi8vZ2V0am9pbi5pbyIsImltYWdlX2lkIjoiYmQyMDA0MDYtN2IyNy00NTJmLWJiMjMtMTRlMjJhYzQ3NTAwIiwib3JkZXIiOjM0NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL21rL2FwcC9qb2luLXdhbGxldC9pZDY1OTA2MzUxNDU/dW89MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uZ2V0am9pbi5wcmQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImlvLmdldGpvaW4ucHJkIiwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI0YjBlZjgxYmUwMDA4Yjg2ZTg3M2Q1NzU1NGU1MzNhN2I5M2I5OWRkNmU5Mzc2YWU0Y2JiNGZlYTI5YjY0MjY5Ijp7ImlkIjoiNGIwZWY4MWJlMDAwOGI4NmU4NzNkNTc1NTRlNTMzYTdiOTNiOTlkZDZlOTM3NmFlNGNiYjRmZWEyOWI2NDI2OSIsIm5hbWUiOiJZdXNlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly95dXNldG9rZW4uaW8vIiwiaW1hZ2VfaWQiOiIyY2Q2MTQ1OC01OWMyLTQyMDgtYzhlZS05OGI1ZTAwNzZiMDAiLCJvcmRlciI6MzQ3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3l1c2Utd2FsbGV0L2lkNjQ0OTM2NDgxMyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnl1c2Uud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ5dXNlOi8vd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly95dXNld2FsbGV0LnBhZ2UubGluay90b2JSIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZTBjMmUxOTk3MTI4NzhlZDI3MmUyYzE3MGI1ODViYWEwZmYwZWI1MGIwNzUyMWNhNTg2ZWJmN2FlZWZmYzU5OCI6eyJpZCI6ImUwYzJlMTk5NzEyODc4ZWQyNzJlMmMxNzBiNTg1YmFhMGZmMGViNTBiMDc1MjFjYTU4NmViZjdhZWVmZmM1OTgiLCJuYW1lIjoiVGFsaXNtYW4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3RhbGlzbWFuLnh5eiIsImltYWdlX2lkIjoiYmEyOTAyMjItYzNmMy00MTk0LTIzYmYtMjhiYTc1ODdhZjAwIiwib3JkZXIiOjM0ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvdGFsaXNtYW4td2FsbGV0L2Zpam5namdjamhqbW1wY21rZWlvbWxnbHBlaWlqa2xkIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzVGFsaXNtYW4iLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJ4eXoudGFsaXNtYW4iLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjc0NDU2MTc4N2Y2NDE0Y2I3MWI5NzA0ZWQ0NzE1ZjllMDYwN2YyNzRiNzIyNjQwZDNhOWVjYzgzNmNiMmViMzciOnsiaWQiOiI3NDQ1NjE3ODdmNjQxNGNiNzFiOTcwNGVkNDcxNWY5ZTA2MDdmMjc0YjcyMjY0MGQzYTllY2M4MzZjYjJlYjM3IiwibmFtZSI6ImNsZWFyLXdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jbGVhci13YWxsZXQuZmxhc2hzb2Z0LmV1IiwiaW1hZ2VfaWQiOiJhNmQ0YzJkZS0xYmQ5LTQwNGYtZjNkMi0zZDJlZDliZjUwMDAiLCJvcmRlciI6MzQ5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9jbGVhci1ldm0td2FsbGV0LWNsdy9kamxhaGRwZmtmbGVoYWVwZ29obm5vZG1hYWphYmRsZz9obD1lbiZhdXRodXNlcj0wIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiZXUuZmxhc2hzb2Z0LmNsZWFyLXdhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMDFiMzcyMGFlODJkNWFlZDNkZTI5NWUzYjdiMjI2YTc1ZjhjMjJiZGY4MjNjNDdmNTc5ODFiYjc5MWRkNTg1MCI6eyJpZCI6IjAxYjM3MjBhZTgyZDVhZWQzZGUyOTVlM2I3YjIyNmE3NWY4YzIyYmRmODIzYzQ3ZjU3OTgxYmI3OTFkZDU4NTAiLCJuYW1lIjoiQmVyYVNpZyIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYmVyYXNpZy5jb20vIiwiaW1hZ2VfaWQiOiI0YjllOTcxNi1jODZkLTRmMWUtNGJjYy0xMmFmNzRhZjc0MDAiLCJvcmRlciI6MzUwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9iZXJhc2lnL2NrZWRra2VnamJmbGNmYmxjamtsaWJuZWRtZmpwcGJqIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6IndpbmRvdy5iZXJhc2lnLmV0aGVyZXVtLmlzQmVyYXNpZyIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImFwcC5iZXJhc2lnIiwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI2Y2NhZDQ1OTEyMGUwMDczN2M2MDAxYTU3NmU2Mjg2N2VhNjhiNzQzODgyNzhkZTJjNjJkZWRkYzg2ZjM1NmY2Ijp7ImlkIjoiNmNjYWQ0NTkxMjBlMDA3MzdjNjAwMWE1NzZlNjI4NjdlYTY4Yjc0Mzg4Mjc4ZGUyYzYyZGVkZGM4NmYzNTZmNiIsIm5hbWUiOiJEaWdpdGFsIFNoaWVsZCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hcHAuZHMucHJvIiwiaW1hZ2VfaWQiOiIwMjBmZTgxNS04YTc3LTRhN2ItYjI5Mi1iNjkzNzJlMTI1MDAiLCJvcmRlciI6MzUxMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC5kcy5wcm8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3R3L2FwcC9kaWdpdGFsLXNoaWVsZC1jcnlwdG8td2FsbGV0L2lkNjc0MDA1MjY4NiIsImFuZHJvaWQiOm51bGwsIm1hYyI6Imh0dHBzOi8vZHMucHJvIiwid2luZG93cyI6Imh0dHBzOi8vZHMucHJvIiwibGludXgiOiJodHRwczovL2RzLnBybyIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZGlnaXRhbHNoaWVsZC13YWxsZXQ6Ly93YyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmRzLnByby93Yy9jb25uZWN0In0sImRlc2t0b3AiOnsibmF0aXZlIjoiZGlnaXRhbHNoaWVsZC13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5kcy5wcm8ifX0sImE1YjNiNTA1NWJhNzMzMzgxMWZjYjgwMjIyYTQyMWJiNmFjNTQxYjNlY2NmOTllZGI2ZDBlNTA0MGJiMDA4ZTciOnsiaWQiOiJhNWIzYjUwNTViYTczMzM4MTFmY2I4MDIyMmE0MjFiYjZhYzU0MWIzZWNjZjk5ZWRiNmQwZTUwNDBiYjAwOGU3IiwibmFtZSI6InRoaXJkd2ViIiwiaG9tZXBhZ2UiOiJodHRwczovL3RoaXJkd2ViLmNvbSIsImltYWdlX2lkIjoiYzhkODIwZWMtNTRmYi00YzBlLTIxMGUtNWNiYmY5MmUxMDAwIiwib3JkZXIiOjM1MjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly90aGlyZHdlYi5jb20iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2V3cy50aGlyZHdlYi5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vZXdzLnRoaXJkd2ViLmNvbSJ9fSwiOTA1MWE5Nzg0MjI3NWI4MTU3ZWQ1ZGYyN2I3NzA5NmRlZjQ5OWYwMDJhMmYyMjdlZjZkZjBjNmM2YTBlNjlmYiI6eyJpZCI6IjkwNTFhOTc4NDIyNzViODE1N2VkNWRmMjdiNzcwOTZkZWY0OTlmMDAyYTJmMjI3ZWY2ZGYwYzZjNmEwZTY5ZmIiLCJuYW1lIjoiUm9hbSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9yb2FtLnh5eiIsImltYWdlX2lkIjoiYTQ1MDBiMGMtNDdlMy00YzRhLTIwN2UtZDcyYTU3ZjFjYTAwIiwib3JkZXIiOjM1NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL3Rlc3RmbGlnaHQuYXBwbGUuY29tL2pvaW4vaE04QmExUWQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9nb29nbGUuY29tIiwibWFjIjoiaHR0cHM6Ly9nb29nbGUuY29tIiwid2luZG93cyI6Imh0dHBzOi8vZ29vZ2xlLmNvbSIsImxpbnV4IjoiaHR0cHM6Ly9nb29nbGUuY29tIiwiY2hyb21lIjoiUm9hbS54eXoiLCJmaXJlZm94IjoiaHR0cHM6Ly9nb29nbGUuY29tIiwic2FmYXJpIjoiaHR0cHM6Ly9nb29nbGUuY29tIiwiZWRnZSI6Imh0dHBzOi8vZ29vZ2xlLmNvbSIsIm9wZXJhIjoiaHR0cHM6Ly9nb29nbGUuY29tIn0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzUm9hbSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6Inh5ei5yb2FtLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJyb2FtOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOiJyb2FtOi8vIiwidW5pdmVyc2FsIjpudWxsfX0sImIxOTk4NDk5ZTc1MDJkMWQxMGVkZGIyMDllZGMyNWIxYTdhYTc5NzdkNmNlNjY2NGIwNjY0NzRkNjZmNDNiZGYiOnsiaWQiOiJiMTk5ODQ5OWU3NTAyZDFkMTBlZGRiMjA5ZWRjMjViMWE3YWE3OTc3ZDZjZTY2NjRiMDY2NDc0ZDY2ZjQzYmRmIiwibmFtZSI6IkdhbWljIiwiaG9tZXBhZ2UiOiJodHRwczovL2dhbWljLmFwcCIsImltYWdlX2lkIjoiY2Y0MDRjMTUtMzkxYy00MTQ0LTFlYzAtMTdmMWIxMTllZDAwIiwib3JkZXIiOjM1NTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9nYW1pYy5hcHAvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZ2FtaWMtc3BhY2VzLWNoYXQtY29ubmVjdC9pZDE2NzM2ODMwNzAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5nYW1pYy5ndWlsZC5nYW1pY19ndWlsZF9tb2JpbGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImdhbWljOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuZ2FtaWMuYXBwL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiZ2FtaWM6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2dhbWljLmFwcC8ifX0sImY3MWU5YjJjNjU4MjY0ZjdjNmRmZTkzOGJiZjlkMmEwMjVhY2M3YmE0MjQ1ZWVhMjM1NmUyOTk1YjFmZDI0ZDMiOnsiaWQiOiJmNzFlOWIyYzY1ODI2NGY3YzZkZmU5MzhiYmY5ZDJhMDI1YWNjN2JhNDI0NWVlYTIzNTZlMjk5NWIxZmQyNGQzIiwibmFtZSI6Ik0xTlRZIiwiaG9tZXBhZ2UiOiJodHRwczovL20xbnR5LmFwcCIsImltYWdlX2lkIjoiNmNjYjc3NTQtYWNkOC00ZGUyLTc5N2UtYTU4N2E1M2QzOTAwIiwib3JkZXIiOjM1NjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9tMW50eS5hcHAiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9tMW50eS9pZDE2NDM3MzczMTgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5tMW50eS5hbmRyb2lkIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJtMW50eTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL20xbnR5LmFwcCJ9fSwiMGU5YWE1MGJiMzIxMWM5M2FiNDg2MjZkNTNkZDYzMTUxOGUzM2IxZWI2Y2Y4ODYzOGE4M2UyYTBhMzc3ZTNkMCI6eyJpZCI6IjBlOWFhNTBiYjMyMTFjOTNhYjQ4NjI2ZDUzZGQ2MzE1MThlMzNiMWViNmNmODg2MzhhODNlMmEwYTM3N2UzZDAiLCJuYW1lIjoiQ2F0ZWNvaW4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2NhdGVjb2luLmFwcCIsImltYWdlX2lkIjoiZDAxN2JjNTQtZGI0ZC00ZjA3LTJkZTItNjk3OTBjZTkyNDAwIiwib3JkZXIiOjM1NzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQuY2F0ZWNvaW4uY2x1Yi8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9pZDE2Mzc4NTA1ODk/cGxhdGZvcm09aXBob25lIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uY3J5cHRvLndhbGxldC5jYXRlY29pbiIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNhdGVjb2luOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jYXRlY29pbi5hcHAvYXBwbGUtYXBwLXNpdGUtYXNzb2NpYXRpb24ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmNhdGVjb2luLmNsdWIvIn19LCIyMjI1ZTkzZWRiNGVkYTc5MWUxOWUyNjgxN2I5NDk3NjYwNzEzMmJkYjI0ODY4NGEzOWE1ZmM1YWM5MTAzNzgyIjp7ImlkIjoiMjIyNWU5M2VkYjRlZGE3OTFlMTllMjY4MTdiOTQ5NzY2MDcxMzJiZGIyNDg2ODRhMzlhNWZjNWFjOTEwMzc4MiIsIm5hbWUiOiJIb290QXJrIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5ob290YXJrLmNvbS8iLCJpbWFnZV9pZCI6ImM1Zjc0YjE1LTg5Y2MtNGYxZi04Mzg3LWQzZmZlYjdhMzQwMCIsIm9yZGVyIjozNTgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5ib3NlLm1ldGEuYnJvd3NlciIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiSG9vdEFyazovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMzZkOGQ5YzBjN2ZlMjk1NzE0OWNlOGU4NzhmM2EwMWE4NjExNTIxOTgzMzYyZDliNjUxZmI2ZTUwODMyNTU4MyI6eyJpZCI6IjM2ZDhkOWMwYzdmZTI5NTcxNDljZThlODc4ZjNhMDFhODYxMTUyMTk4MzM2MmQ5YjY1MWZiNmU1MDgzMjU1ODMiLCJuYW1lIjoiQ29pbkNpcmNsZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jb2luY2lyY2xlLmNvbSIsImltYWdlX2lkIjoiZWFlNjNhMjMtYzdiYS00ZjdlLTI0YjMtZTZmYzY5MjE1ZDAwIiwib3JkZXIiOjM1OTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jb2luY2lyY2xlLmNvbSIsImlvcyI6Imh0dHBzOi8vY29pbmNpcmNsZS5jb20vYXBwIiwiYW5kcm9pZCI6Imh0dHBzOi8vY29pbmNpcmNsZS5jb20vYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vY29pbmNpcmNsZS5jb20vYXBwL3dhbGxldGNvbm5lY3QifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vY29pbmNpcmNsZS5jb20ifX0sIjRlY2E0MjZiNWM5ZGViZWUyOGQxOTU0YjY0NmMxYTJiYzc5NTgyYzNjMmI3ZTZkYTc5ZWJjNGFkNDYwZDhiNzUiOnsiaWQiOiI0ZWNhNDI2YjVjOWRlYmVlMjhkMTk1NGI2NDZjMWEyYmM3OTU4MmMzYzJiN2U2ZGE3OWViYzRhZDQ2MGQ4Yjc1IiwibmFtZSI6IkJoYXJhdEJveCBBcHAiLCJob21lcGFnZSI6Imh0dHBzOi8vYmhhcmF0Ym94LmlvLyIsImltYWdlX2lkIjoiOGJlZjgzNmUtOWQ2YS00MzE4LWViZGEtOTMwYzM5MjQ2MzAwIiwib3JkZXIiOjM2MDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9iaGFyYXRib3gvaWQ2NDcyNDc4MzgyIiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJiaGFyYXRib3g6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjhkMTRiZTg5NmNjMTY2MGM2MDQ1MjVhYmFhOTkxMTYzMGRhODcxMjdjYmI3MGY3MTI0MzJmY2YyZTA1NmI0ZDgiOnsiaWQiOiI4ZDE0YmU4OTZjYzE2NjBjNjA0NTI1YWJhYTk5MTE2MzBkYTg3MTI3Y2JiNzBmNzEyNDMyZmNmMmUwNTZiNGQ4IiwibmFtZSI6IlNXT1AiLCJob21lcGFnZSI6Imh0dHBzOi8vc3dvcG1lLmNvLyIsImltYWdlX2lkIjoiNmU3NzNiMDctZWZjYy00MGViLWIzYTItMzAwZWZjNWRmODAwIiwib3JkZXIiOjM2MTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zd29wLWNvbm5lY3RpbmctdGhlLXdvcmxkL2lkMTU5MzIwMTMyMiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnRyYXZpc2hlcm9uLnN3b3BhcHAmcGxpPTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InN3b3BhcHA6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3N3b3BtZS5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIyYTQwYjI2YjNhNjlkZTU2NjcyMGU4ZTUxMzRhYWE4Y2Y3NjdiMTRkNjZmYThlMjdmYWNhOTcxOTg0YTZhNTQ1Ijp7ImlkIjoiMmE0MGIyNmIzYTY5ZGU1NjY3MjBlOGU1MTM0YWFhOGNmNzY3YjE0ZDY2ZmE4ZTI3ZmFjYTk3MTk4NGE2YTU0NSIsIm5hbWUiOiJEb2xsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZG9sbGV0d2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6IjIxNjc5ZTU4LWU4MjktNDRmNi03OGQzLTZhOWQ2ZTljZTkwMCIsIm9yZGVyIjozNjIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZG9sbGV0L2lkNjQ1MTE0MzM2MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmRvbGxsZXQubWFpbm5ldCZwbGk9MSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZG9sbGV0d2M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjUxZDJjMDJlMzA2ODI3ZDJkMGYwZGFkYWEwMGYyMjU3NWM2MjNhYTE5YzQwM2YwOWY0YjljNDJjNjcwOThiYjEiOnsiaWQiOiI1MWQyYzAyZTMwNjgyN2QyZDBmMGRhZGFhMDBmMjI1NzVjNjIzYWExOWM0MDNmMDlmNGI5YzQyYzY3MDk4YmIxIiwibmFtZSI6IlNoaW5vYmktV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3NoaW5vYmktd2FsbGV0Lm5ldC8iLCJpbWFnZV9pZCI6IjY4NWM5ODZjLTNlODAtNDcwMS1jZWM2LWNkMjQ3YmExYTcwMCIsIm9yZGVyIjozNjMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvZmdyYXBoL2lkMTU3MjYwOTkwNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uZmdyYXBoLnNoaW5vYml3YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InNoaW5vYmktd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI2MGNlNWMyMjQ2YTA4MDhiMzJkZDRlYWI1OTg0MzVlMWM1YmQxMjJjYzNlOWZhYjdiMDU0Mjg3MWFjMmEzNWM3Ijp7ImlkIjoiNjBjZTVjMjI0NmEwODA4YjMyZGQ0ZWFiNTk4NDM1ZTFjNWJkMTIyY2MzZTlmYWI3YjA1NDI4NzFhYzJhMzVjNyIsIm5hbWUiOiJBWkNvaW5lciIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hemNvaW5lci5jb20vIiwiaW1hZ2VfaWQiOiJjNjYwMTE4NC03ZWI3LTQ2YzktZjZhZC0wODA4Y2ZkMTYxMDAiLCJvcmRlciI6MzY0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdm4vYXBwL2F6Y29pbmVyL2lkNjQ2NzcyODgzOT9sPXZpIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYXpjLmF6Y29pbmVyJmhsPXZpLVZOIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJhemNvaW5lcjovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXpjb2luZXIuY29tLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjM5NjhjM2Y1ZTFhYTY5Mzc1ZTcxYmZjM2RhMDhhMWQyNDc5MWFjMGIzZDFjM2IxYzdlM2EyNjc2ZDE3NWM4NTYiOnsiaWQiOiIzOTY4YzNmNWUxYWE2OTM3NWU3MWJmYzNkYTA4YTFkMjQ3OTFhYzBiM2QxYzNiMWM3ZTNhMjY3NmQxNzVjODU2IiwibmFtZSI6Ikxvb3ByaW5nIiwiaG9tZXBhZ2UiOiJodHRwczovL2xvb3ByaW5nLmlvLyIsImltYWdlX2lkIjoiMjEwM2ZlZGEtNGZjOC00NjM1LTc2YTctMDJhNGVkOTk4MDAwIiwib3JkZXIiOjM2NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9sb29wcmluZy1zbWFydC13YWxsZXQvaWQxNTUwOTIxMTI2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1sb29wcmluZy5kZWZpLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiaW8ubG9vcHJpbmcud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6Imxvb3ByaW5nOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhNTYyZjEzM2YyNzJjOTdkZDBlYjFjYmU0NjI5YTJkZWQ1ZmQ2ZTQ4NTRhMmEzYWNkNDRkZGI2MTkwN2NhNzgxIjp7ImlkIjoiYTU2MmYxMzNmMjcyYzk3ZGQwZWIxY2JlNDYyOWEyZGVkNWZkNmU0ODU0YTJhM2FjZDQ0ZGRiNjE5MDdjYTc4MSIsIm5hbWUiOiJQYXNzIEFwcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9wYXNzLmFwcC8iLCJpbWFnZV9pZCI6ImQwOThmYjc3LTcwYWUtNDIzMC0zMDU5LTM2MjNiYTA0ODEwMCIsIm9yZGVyIjozNjYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9pbC9hcHAvcGFzcy1hcHAtd2ViMy1zbWFydC13YWxsZXQvaWQ2NjcwNzkyMTQxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucGFzc3dhbGxldC5hcHAmaGw9ZW4iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS5wYXNzd2FsbGV0LmFwcCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJwYXNzd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9wYXNzLmFwcC9jb25uZWN0In0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZDE1Yzk5NzUwODRlNWJjMzQ5ZDYzYWE4M2JlOGQ5YTA1Mzk0MTQ4M2FhMmMzOTM0ZDAwZDRjNGQ3M2Q0NTY2NyI6eyJpZCI6ImQxNWM5OTc1MDg0ZTViYzM0OWQ2M2FhODNiZThkOWEwNTM5NDE0ODNhYTJjMzkzNGQwMGQ0YzRkNzNkNDU2NjciLCJuYW1lIjoiU3VwZXJoZXJvIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93YWxsZXQuc3VwZXJoZXJvLmNvbS8iLCJpbWFnZV9pZCI6IjdhOGYxNTQ2LTc2NWMtNGI5Ni1lNzNiLTBjMDc0NTdlMzQwMCIsIm9yZGVyIjozNjcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LnN1cGVyaGVyby5jb20iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3J1L2FwcC9zdXBlcmhlcm8td2FsbGV0L2lkMTUwMjc4NjY0MSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnN1cGVyaGVyby5jb3Jkb3ZhIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9zdXBlcmhlcm8td2FsbGV0L21uaG1ta2VwZmRkcGlmamthbWFsaWdmZWVtY2JoZG5lIiwiZmlyZWZveCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvYWRkb24vc3VwZXJoZXJvLXdhbGxldC8iLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNTdXBlcmhlcm9XYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJjb20uc3VwZXJoZXJvLmNvcmRvdmEiLCJtb2JpbGUiOnsibmF0aXZlIjoic3VwZXJoZXJvOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuc3VwZXJoZXJvLmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LnN1cGVyaGVyby5jb20ifX0sIjRhNGQ1YjAyYTQ3ZWY3ZjcxNjJkYTIyOTgzNDMxZWUxY2Y4MzkyYThkNDkyOWVkOGM2OWQyNzU5YjI0ZTE3ZjAiOnsiaWQiOiI0YTRkNWIwMmE0N2VmN2Y3MTYyZGEyMjk4MzQzMWVlMWNmODM5MmE4ZDQ5MjllZDhjNjlkMjc1OWIyNGUxN2YwIiwibmFtZSI6IkNvaW5FeCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LmNvaW5leC5jb20vZW4vIiwiaW1hZ2VfaWQiOiI2NzY1MDY2Ny1jYzUyLTRlN2YtMmQ0Yi0yNmZjZGIxNjAxMDAiLCJvcmRlciI6MzY4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2NvaW5leC13YWxsZXQtY3J5cHRvLWRlZmkvaWQxNDYyMDMxMzg5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmlhYnRjLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibXlBcHA6Ly9odHRwczovL3dhbGxldC5jb2luZXguY29tIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjY2U1YWRlODhlZmYyMzVmZmFlMDZmNjVjMTZmMzcxZWY4ZmE4ODVjZWE2ZTAxMDcwZTllNDg3OGVkY2IwNWU3Ijp7ImlkIjoiY2NlNWFkZTg4ZWZmMjM1ZmZhZTA2ZjY1YzE2ZjM3MWVmOGZhODg1Y2VhNmUwMTA3MGU5ZTQ4NzhlZGNiMDVlNyIsIm5hbWUiOiJXYWxsZXQgViIsImhvbWVwYWdlIjoiaHR0cHM6Ly93YWxsZXR2LmlvLyIsImltYWdlX2lkIjoiOTNlYmU2ZTgtNDc1Yy00NmYxLTVmMGQtYzQzYTc5NzFiZTAwIiwib3JkZXIiOjM2OTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvd2FsbGV0LXYtcHJlZGljdGlvbi1jcnlwdG8vaWQ2NzQzNzA5NDgwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1wcm9kLndhbGxldHYudmlyZ28iLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6InZpcmdvd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiZGwud2FsbGV0di5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiNTE5Y2YwMGEwNTE3Y2MyOTlhODk4ZDM4ZjQ0MDE5N2QxNzFmNmI0MzhhYThlNmQ1OWZhNzM2OTZkYmU3ODE3ZCI6eyJpZCI6IjUxOWNmMDBhMDUxN2NjMjk5YTg5OGQzOGY0NDAxOTdkMTcxZjZiNDM4YWE4ZTZkNTlmYTczNjk2ZGJlNzgxN2QiLCJuYW1lIjoiTjNNVVMiLCJob21lcGFnZSI6Imh0dHBzOi8vbjNtdXMuY29tIiwiaW1hZ2VfaWQiOiJlMDE5NTQ5MC00OTk3LTQ5N2EtOGE5Ny03NTFkZDRlOGE0MDAiLCJvcmRlciI6MzcwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL24zbXVzLmVjb3N5c3RlbS50aGlyZHdlYi5jb20iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9uM211cy5lY29zeXN0ZW0udGhpcmR3ZWIuY29tIn19LCIwNThlNzUwZmRhMTFmM2E1YTQ2YjNhZTkwY2Q0MTNmYzJhNGU1Yjg2NzlhM2MwMWU5YTY0MGZjYzc1NmEwMTY3Ijp7ImlkIjoiMDU4ZTc1MGZkYTExZjNhNWE0NmIzYWU5MGNkNDEzZmMyYTRlNWI4Njc5YTNjMDFlOWE2NDBmY2M3NTZhMDE2NyIsIm5hbWUiOiJDeXBoZXJvY2sgY3lTeW5jIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5jeXBoZXJvY2suY29tLyIsImltYWdlX2lkIjoiN2ZkNWEyM2EtM2EwMS00Y2ZiLTNjOGItOWY0M2FlNDE0NDAwIiwib3JkZXIiOjM3MTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93d3cuY3lwaGVyb2NrLmNvbS9nZXQtc3RhcnRlZCIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjoiaHR0cHM6Ly93d3cuY3lwaGVyb2NrLmNvbS9nZXQtc3RhcnRlZCIsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOiJjeXBoZXJvY2s6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5jeXBoZXJvY2suY29tL2dldC1zdGFydGVkIn19LCI0ODNhZmUxZGYxZGY2M2RhZjMxMzEwOTk3MWZmM2VmODM1NmRkZjFjYzRlNDU4NzdkMjA1ZWVlMGI3ODkzYTEzIjp7ImlkIjoiNDgzYWZlMWRmMWRmNjNkYWYzMTMxMDk5NzFmZjNlZjgzNTZkZGYxY2M0ZTQ1ODc3ZDIwNWVlZTBiNzg5M2ExMyIsIm5hbWUiOiJMZWF0aGVyIiwiaG9tZXBhZ2UiOiJodHRwczovL2xlYXRoZXIuaW8vIiwiaW1hZ2VfaWQiOiIwMTUzNDU0ZS05MzEzLTQ0NDEtYjZjZi04MzhlM2QwMjMwMDAiLCJvcmRlciI6MzcyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9sZWF0aGVyL2xkaW5wZWVrb2JuaGpqZG9mZ2dmZ2psY2VoaG1hbmxqIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6IndpbmRvdy5MZWF0aGVyUHJvdmlkZXIiLCJuYW1lc3BhY2UiOiJiaXAxMjIifV0sInJkbnMiOiJjb20ud2FsbGV0LnJlb3duIiwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIyYTg3ZDc0YWUwMmUxMGJkZDFmNTFmN2NlNmM0ZTFjYzUzY2Q1ZjJjMGI2YjVhZDBkN2IzMDA3ZDJiMTNkZTdiIjp7ImlkIjoiMmE4N2Q3NGFlMDJlMTBiZGQxZjUxZjdjZTZjNGUxY2M1M2NkNWYyYzBiNmI1YWQwZDdiMzAwN2QyYjEzZGU3YiIsIm5hbWUiOiJYdmVyc2UgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy54dmVyc2UuYXBwLyIsImltYWdlX2lkIjoiNzg1ZTIwZWYtYzY4Yy00YTg1LTZjYjktMDUzNDQzODcxZTAwIiwib3JkZXIiOjM3MzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC94dmVyc2Utd2FsbGV0LWJ1eS1iaXRjb2luL2lkMTU1MjI3MjUxMyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnNlY3JldGtleWxhYnMueHZlcnNlIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC94dmVyc2Utd2FsbGV0LWJ1eS1iaXRjb2luL2lkbm5iZHBsbXBocGZsZm5sa29tZ3BmYnBjZ2Vsb3BnIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6IndpbmRvdy5YdmVyc2VQcm92aWRlcnMiLCJuYW1lc3BhY2UiOiJiaXAxMjIifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ4dmVyc2U6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImMxOGUxMTQxMzBmMjIxYzg5NjBlNzViZmE0Yjg2NDc4ZTcwZTI3NDY1ZTJkNmIyMmFjODk0NWMwOGEwMzFhN2UiOnsiaWQiOiJjMThlMTE0MTMwZjIyMWM4OTYwZTc1YmZhNGI4NjQ3OGU3MGUyNzQ2NWUyZDZiMjJhYzg5NDVjMDhhMDMxYTdlIiwibmFtZSI6IkZsYXNoIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9mbGFzaC13YWxsZXQuY29tLyIsImltYWdlX2lkIjoiZGVkNmQyZDEtODViMC00ZWFjLTU1ODItM2FhZWVmYThiYTAwIiwib3JkZXIiOjM3NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3BrL2FwcC9mbGFzaC13YWxsZXQvaWQ2NDYxMDEzNDQyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZmxhc2h3YWxsZXQucHJvZHVjdGlvbiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZmxhc2h3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImMzNmIyNWRiN2U0OGFhN2NhMTlhY2JhZTM1Zjc5ZDY0ODZiNjk0ZjRkMTJkZWY0Njc1OTJkYWE3OGM0Y2Q1YjciOnsiaWQiOiJjMzZiMjVkYjdlNDhhYTdjYTE5YWNiYWUzNWY3OWQ2NDg2YjY5NGY0ZDEyZGVmNDY3NTkyZGFhNzhjNGNkNWI3IiwibmFtZSI6IkFCIFBheSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hYnBheS5jYXNoIiwiaW1hZ2VfaWQiOiJmNjM1ZGJhYS1kZDAzLTQxOWMtNWRjZS0wNWFhMGYxMjdjMDAiLCJvcmRlciI6Mzc1MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hYi13YWxsZXQvaWQ2NzQ1Nzg3ODQ5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcuYWIuYWJ3YWxsZXQuYW5kcm9pZC5yZWxlYXNlIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJhYnBheTovL3dhbGxldGNvbm5lY3QiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImM1ZTlmOGZhM2RiMTA1ZTRjZGY0NzUyM2UwMTY1MWMzZWM0MzU1ZWZlODAwNTc5ZTI0NTdjNTk1Yjg2ZWMxNzkiOnsiaWQiOiJjNWU5ZjhmYTNkYjEwNWU0Y2RmNDc1MjNlMDE2NTFjM2VjNDM1NWVmZTgwMDU3OWUyNDU3YzU5NWI4NmVjMTc5IiwibmFtZSI6IlZHWCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdmd4Zm91bmRhdGlvbi5jb20vIiwiaW1hZ2VfaWQiOiI5MTAzNTczNC1jMzY1LTQzNDEtNjgzNS1jMDU2YTIyY2MyMDAiLCJvcmRlciI6Mzc2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3NhZmVtb29uL2lkMTU3OTczNTQ5NSIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic2FmZW1vb246Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3NhZmVtb29uLmNvbS93Yy93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6InNhZmVtb29uOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zYWZlbW9vbi5jb20vd2Mvd2MifX0sImRiYjY0YWQ4ZjU1YjRlZDMzM2Q5MDlhNmQ1MzY3MGNmOTdkMTM2YzIyZWIxZGNhODAwYzUzOWVjZWExNjVhNTMiOnsiaWQiOiJkYmI2NGFkOGY1NWI0ZWQzMzNkOTA5YTZkNTM2NzBjZjk3ZDEzNmMyMmViMWRjYTgwMGM1MzllY2VhMTY1YTUzIiwibmFtZSI6IkFyaWFuZWUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2FyaWFuZWUub3JnIiwiaW1hZ2VfaWQiOiIxM2I3ZmUzNi05MDlhLTRjODMtNGYwNi01NzQwODI5YTM5MDAiLCJvcmRlciI6Mzc3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZnIvYXBwL2FyaWFuZWUtd2FsbGV0L2lkMTQzNTc4MjUwNyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmFyaWFuZWUud2FsbGV0JmhsPWxuJmdsPVVTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb20uYXJpYW5lZS53YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2kuYXJpYW4uZWUifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI5ODFlZTBiMjA1ODkzOTIxY2RiNTJjOTQwNzBhY2VkZDM5MjgzZTkxMWRlMjM4YzQ3ODY1MmRlZGYwZTFkNzZkIjp7ImlkIjoiOTgxZWUwYjIwNTg5MzkyMWNkYjUyYzk0MDcwYWNlZGQzOTI4M2U5MTFkZTIzOGM0Nzg2NTJkZWRmMGUxZDc2ZCIsIm5hbWUiOiJQYWxpIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9wYWxpd2FsbGV0LmNvbSIsImltYWdlX2lkIjoiNDY3MmNiZGUtMGY5Ni00MmYzLTg0YTAtNTI0ZTlhZDcwYTAwIiwib3JkZXIiOjM3ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9wYWxpLXdhbGxldC1kZXgtbmZ0LWRlZmkvaWQ2NDQ3NjM5NjE1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5wYWxpd2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLnBhbGl3YWxsZXQiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoicGFsaS12MiIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InBhbGl3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjc4YTkyNmU4NzU4ZTQ0NjQxNjI4MTgzNTM2MzdiMTFmZWFkNDE0ODk1OThkZDdmNDdlNGIyNDdlYWY4MDA4YzMiOnsiaWQiOiI3OGE5MjZlODc1OGU0NDY0MTYyODE4MzUzNjM3YjExZmVhZDQxNDg5NTk4ZGQ3ZjQ3ZTRiMjQ3ZWFmODAwOGMzIiwibmFtZSI6IkRJQU0gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2RpYW1hbnRlLmlvLyIsImltYWdlX2lkIjoiYjJmN2EzOTQtMTRiOS00YjMwLTc0MmQtM2M2YjVkMjAwZjAwIiwib3JkZXIiOjM3OTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9pbi9hcHAvZGlhbS13YWxsZXQvaWQ2NDUwNjkxODQ5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZGlhbWFudGUuZGlhbXdhbGxldCZobD1lbl9JTiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiZGlhbXdhbGxldDovL3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9kd2Nvbm5lY3QuZGlhbWFudGUuaW8vd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjMyMDc0ZmEzYjc4YWQzMGI3ODQ3ZTI4Y2UxZmZkNmFlY2JkMzY0MTUxNTZjZmU5ZjVmZTVhYTE1ZjMxYzU5NmUiOnsiaWQiOiIzMjA3NGZhM2I3OGFkMzBiNzg0N2UyOGNlMWZmZDZhZWNiZDM2NDE1MTU2Y2ZlOWY1ZmU1YWExNWYzMWM1OTZlIiwibmFtZSI6IlplbHVzIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly96ZWx1cy5pbyIsImltYWdlX2lkIjoiYTE3M2ViYTYtMDViNC00M2Y0LTBkZjYtNDAwNTYzNjM3YjAwIiwib3JkZXIiOjM4MDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9yb2xsaW5nbG91ZC5icmlkZ2UuemVsdXMuaW8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC96ZWx1cy9pZDE1ODg0MzAzNDMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS56ZWx1cy53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InplbHVzd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vcm9sbGluZ2xvdWQuYnJpZGdlLnplbHVzLmlvIn19LCI5NWI1OGJkODkxMDliMmJkOTk4OWM5OTU2YThlM2Y1ODIyMDAzMTI2YmFlODAwZDlmNzc0NTVjNDAwOWRiNWJhIjp7ImlkIjoiOTViNThiZDg5MTA5YjJiZDk5ODljOTk1NmE4ZTNmNTgyMjAwMzEyNmJhZTgwMGQ5Zjc3NDU1YzQwMDlkYjViYSIsIm5hbWUiOiJoQUkgYnkgSGFja2VuIiwiaG9tZXBhZ2UiOiJodHRwczovL2hhaS5oYWNrZW4uaW8iLCJpbWFnZV9pZCI6ImQyZmY2YmFmLTUwNTEtNGJmMi1lZGVjLTMyNDUwYjQ1MTAwMCIsIm9yZGVyIjozODEwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2hhaS1ieS1oYWNrZW4vaWQxNTAxMzg0Nzg5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uaGFja2VuYWkuaGFja2VuYWlhcHAmaGw9ZW5fVVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImhhaTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vaGFja2VuLmFpIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIyNDQ3NWRmNDNmMDI3MmU5MWU4MDBlY2EyNjk4ZjYyZGI5NGMzYTk3M2U3Y2RhNGFiZmQ1NDZkOTk1MDEzYjc3Ijp7ImlkIjoiMjQ0NzVkZjQzZjAyNzJlOTFlODAwZWNhMjY5OGY2MmRiOTRjM2E5NzNlN2NkYTRhYmZkNTQ2ZDk5NTAxM2I3NyIsIm5hbWUiOiJpTHVtaW5hcnlBaSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vaWx1bWluYXJ5LmFpIiwiaW1hZ2VfaWQiOiIwYmE1MzgxZi04Nzc5LTQwMzEtYTNhYy05NDRmZGQwODdlMDAiLCJvcmRlciI6MzgzMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3JvL2FwcC9pbHVtaW5hcnlhaS13YWxsZXQvaWQ2NDYzNjk5MDMyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uaWx1bWluYXJ5JmhsPWVuIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJpbHVtaW5hcnk6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2lsdW1pLmFwcC5saW5rIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIwZTNjNDgzOGU1YTdjNDRiNmIxNjI5OWI3ZGJjN2EyYmMxNDdhZDljMDU2NTg4ZDYxOTBlMTFlYzU4MDRmYmE5Ijp7ImlkIjoiMGUzYzQ4MzhlNWE3YzQ0YjZiMTYyOTliN2RiYzdhMmJjMTQ3YWQ5YzA1NjU4OGQ2MTkwZTExZWM1ODA0ZmJhOSIsIm5hbWUiOiJPUFogV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5vcHouY29tLyIsImltYWdlX2lkIjoiYmIzNDcwMjQtNDZjMS00YmUxLWRkMWYtOThlNmM1MWY4NjAwIiwib3JkZXIiOjM4NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9vcHotY3J5cHRvLWJ0Yy13YWxsZXQvaWQ2NDYzMjM2NzU3IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ub3B6LmRldiZwbGk9MSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOiJodHRwczovL3d3dy5vcHouY29tL2FwcHMvIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJvcHotd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI1YTJiMmI2ZTQxZGY0NmVhODA3MDljMTFiNGY5MDJkMzEyNzFmMDFmNjYwZjFjODkyMTAyMTA3ZmJjMmJmODhjIjp7ImlkIjoiNWEyYjJiNmU0MWRmNDZlYTgwNzA5YzExYjRmOTAyZDMxMjcxZjAxZjY2MGYxYzg5MjEwMjEwN2ZiYzJiZjg4YyIsIm5hbWUiOiJTdHJlYWtrIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zdHJlYWtrLmlvLyIsImltYWdlX2lkIjoiNDVlYzZlYjktZDdmZS00YjliLTZkYmYtY2M2NzVjNWQxZDAwIiwib3JkZXIiOjM4NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC9zdHJlYWtrLXdhbGxldC9pZDE2MzY2NzEwODkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5zdHJlYWtrIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzdHJlYWtrOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjYjE4NjRhMTdkNGRkMTc0MmZiOTdlOTVjNzM4NTQzYjk1ZjkwOGNlYTgwNmZmOGYwOTA2NDFiNmNkZWJjNjI3Ijp7ImlkIjoiY2IxODY0YTE3ZDRkZDE3NDJmYjk3ZTk1YzczODU0M2I5NWY5MDhjZWE4MDZmZjhmMDkwNjQxYjZjZGViYzYyNyIsIm5hbWUiOiJMdW5hc2NhcGUgQnJvd3NlciIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cubHVuYXNjYXBlLm9yZy9icm93c2VyL21vYmlsZSIsImltYWdlX2lkIjoiYWE3Njc4YjktZjUwOC00ZDRhLTdlM2YtNGVjMGU5Y2Q5OTAwIiwib3JkZXIiOjM4NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9sdW5hc2NhcGUtYnJvd3Nlci9pZDM4MDA2NTgwNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9anAuY28ubHVuYXNjYXBlLmFuZHJvaWQuaWx1bmFzY2FwZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibHVuYXNjYXBlOi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI4NDhhMTUwMGU1NjNiM2E2MTUxYmJkMjY0M2ZlZmM4ZTA0YWMwODgzMTJmN2Y4MTJjNzVkNjdiMGJhZGJmNTVmIjp7ImlkIjoiODQ4YTE1MDBlNTYzYjNhNjE1MWJiZDI2NDNmZWZjOGUwNGFjMDg4MzEyZjdmODEyYzc1ZDY3YjBiYWRiZjU1ZiIsIm5hbWUiOiJMb2RlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9sb2RlLm9uZS8iLCJpbWFnZV9pZCI6IjY0NDJkNTMyLWIxMTgtNDI4Ni0xZWU0LTQ2NjI0ZmVmYmYwMCIsIm9yZGVyIjozODcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vbG9kZXdhbGxldC5jb20vIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2xvZGV3YWxsZXQuY29tLyJ9fSwiN2RlMTkwZDAzZmFmMWYxNTAyN2E4MzQ4MDFmMDQ1YmM2NjY0MDA0NWIwZDVhMGRhYTQ2ODZkN2ZhODlmYWI3NCI6eyJpZCI6IjdkZTE5MGQwM2ZhZjFmMTUwMjdhODM0ODAxZjA0NWJjNjY2NDAwNDViMGQ1YTBkYWE0Njg2ZDdmYTg5ZmFiNzQiLCJuYW1lIjoiR2VtcyBQb2NrZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZ2Vtc3BvY2tldC5jb20vIiwiaW1hZ2VfaWQiOiIwODVhYzI1Ny1mMDI2LTQ2OWQtNGY2Yi1lOTQ3YjZhYTRhMDAiLCJvcmRlciI6Mzg4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vaW4vYXBwL2FuY3J5cHRvL2lkMTY2MDg5ODM0OSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmFuY3J5cHRvV2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJhbmNyeXB0bzovL2FwcCIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZjk1N2NjYzcwYWIyMzI2Mzg5NjQyNDJjMjRjYzYyODZlZjc1YWE3ZmQwZDRkMzQ4ZjQ2MjEzZDJmZWEwYjg4YyI6eyJpZCI6ImY5NTdjY2M3MGFiMjMyNjM4OTY0MjQyYzI0Y2M2Mjg2ZWY3NWFhN2ZkMGQ0ZDM0OGY0NjIxM2QyZmVhMGI4OGMiLCJuYW1lIjoiUG9ydGFXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vcG9ydGEuZmluYW5jZSIsImltYWdlX2lkIjoiMDdiYzUyZTYtYzQwMi00MzlkLWZhZWEtYTU3MzZjZDI1MzAwIiwib3JkZXIiOjM4OTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndhbGxldC5wb3J0YS5hbmRyb2lkIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJwb3J0YTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNGJlNDYxOTIwYzFmZDE3NjJkNzFjMDBjZGY1NTRjZTU2OTM0MzdlMTIzYzRhOTY2ZmFmN2UxMDU2ZDJjNmYxNyI6eyJpZCI6IjRiZTQ2MTkyMGMxZmQxNzYyZDcxYzAwY2RmNTU0Y2U1NjkzNDM3ZTEyM2M0YTk2NmZhZjdlMTA1NmQyYzZmMTciLCJuYW1lIjoiUFdDIFN1cGVyIEFwcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9wYXl3aXRoY3J5cHRvLmlvLyIsImltYWdlX2lkIjoiMjc0MDNjZmYtMGZjZC00ZDUwLWIwYmMtNDBiN2E5NzQzYzAwIiwib3JkZXIiOjM5MDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcHdjLXN1cGVyLWFwcC9pZDY3NDg1OTM3MTgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5wYXl3aXRoY3J5cHRvLnBheXdpdGhjcnlwdG8mcGNhbXBhaWduaWQ9d2ViX3NoYXJlIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9wd2Mtd2FsbGV0L29mZmlrZW5rb21mbHBkbGFwZ29ia2ltZ2ZqcGFrZGdtP3V0bV9zb3VyY2U9aXRlbS1zaGFyZS1jYiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJ0b2RheS5wYXl3aXRoY3J5cHRvLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJwd2M6Ly93YWxsZXQiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjUzZGQyMzU4MWZmMmFjMzQ3M2E1MTdjMjk5NWFkNDFjYjIxNGUxMDVlYmM5OWExMjJiZGEwMzIwNTFiYjU0YzYiOnsiaWQiOiI1M2RkMjM1ODFmZjJhYzM0NzNhNTE3YzI5OTVhZDQxY2IyMTRlMTA1ZWJjOTlhMTIyYmRhMDMyMDUxYmI1NGM2IiwibmFtZSI6IkVhcnRoIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZWFydGh3YWxsZXQuaW8vIiwiaW1hZ2VfaWQiOiJkM2Y3MjRjNC1mOTliLTQ3NmYtMTBmOC0xMmFhNGFmMTM4MDAiLCJvcmRlciI6MzkxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2VhcnRoLXdhbGxldC9pZDE2Mzg0MTQ5MjkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWVhcnRoLndhbGxldC5hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9lYXJ0aC13YWxsZXQvYWdrZm5lZmlhYm1mcGFub2NobGNha2dnbmtkZm1tamQiLCJmaXJlZm94IjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvZWFydGgtd2FsbGV0L2Fna2ZuZWZpYWJtZnBhbm9jaGxjYWtnZ25rZGZtbWpkIiwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZWFydGh3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5lYXJ0aCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6ImVhcnRod2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuZWFydGgifX0sIjRmODU0MDQ0ZWVhMDAxOTZiOTIwMTcwMzdiMzg0YmYxNjExOGM2NjA2YjNhOTBjNjBlOTk4YWYxZmIyYzAxYjAiOnsiaWQiOiI0Zjg1NDA0NGVlYTAwMTk2YjkyMDE3MDM3YjM4NGJmMTYxMThjNjYwNmIzYTkwYzYwZTk5OGFmMWZiMmMwMWIwIiwibmFtZSI6IkFERiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmFkZnRlY2hub2xvZ3kuY29tLyIsImltYWdlX2lkIjoiMjhhY2M4ZWQtYTBlNy00MDA0LTE5NjgtYzU0ODY5ZmEyMTAwIiwib3JkZXIiOjM5NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmFkZi53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImFkZjovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNzgxOWY5Y2QwN2U4ZDcxMDFhNDgzMDg3ODY5ZjFlNTdiN2Q0NDhmM2VjNWY0ZWYzZWRhNjNjMTliOTI2ZGMxNyI6eyJpZCI6Ijc4MTlmOWNkMDdlOGQ3MTAxYTQ4MzA4Nzg2OWYxZTU3YjdkNDQ4ZjNlYzVmNGVmM2VkYTYzYzE5YjkyNmRjMTciLCJuYW1lIjoiWGVsbGFyIiwiaG9tZXBhZ2UiOiJodHRwczovL3hlbGxhci5jbyIsImltYWdlX2lkIjoiNjdiNWE5MWQtYTljZS00MjY4LWQ3M2QtYjJmOTI0YTBiNDAwIiwib3JkZXIiOjM5NTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9wYXNzcG9ydC54ZWxsYXIuY28iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC94ZWxsYXItY3J5cHRvLXdhbGxldC9pZDE2NzEyMTU4NjEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS54ZWxsYXIud2FsbGV0cyIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoieGVsbGFyOi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9wYXNzcG9ydC54ZWxsYXIuY28ifX0sIjI2ZDNkOWU3MjI0YTFlYjQ5MDg5YWE1ZjAzZmI5ZjNiODgzZTA0MDUwNDA0NTk0ZDk4MGQ0ZTFlNzRlMWRiZWEiOnsiaWQiOiIyNmQzZDllNzIyNGExZWI0OTA4OWFhNWYwM2ZiOWYzYjg4M2UwNDA1MDQwNDU5NGQ5ODBkNGUxZTc0ZTFkYmVhIiwibmFtZSI6IkFic3RyYWN0IiwiaG9tZXBhZ2UiOiJodHRwczovL2Ficy54eXoiLCJpbWFnZV9pZCI6IjFlZDA5MmY3LTBhNzQtNDg1Ni1iYzBhLTAyNjYwMjIzZjQwMCIsIm9yZGVyIjozOTYwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vcG9ydGFsLmFicy54eXovcHJvZmlsZSIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3BvcnRhbC5hYnMueHl6L3Byb2ZpbGUifX0sIjY4ODA3ODJjZjhmZjcxMmJmODc3MmI1ODU5NjAzNDYyOTBmZDI0OTljMWYxYzUxZGY5ZmU3MTNkOWQyZTkzODQiOnsiaWQiOiI2ODgwNzgyY2Y4ZmY3MTJiZjg3NzJiNTg1OTYwMzQ2MjkwZmQyNDk5YzFmMWM1MWRmOWZlNzEzZDlkMmU5Mzg0IiwibmFtZSI6IlJlYWN0IE5hdGl2ZSBTYW1wbGUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3Jlb3duLmNvbS93YWxsZXRraXQiLCJpbWFnZV9pZCI6IjUxMzMxNjY0LWZhZTgtNDVkNS03N2Q2LWI1NTAwMjhiMDIwMCIsIm9yZGVyIjozOTgwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vdGVzdGZsaWdodC5hcHBsZS5jb20vam9pbi9rZGxHVkdMbyIsImFuZHJvaWQiOiJodHRwczovL2FwcGRpc3RyaWJ1dGlvbi5maXJlYmFzZS5kZXYvaS9lNzcxMWU3ODA1NDcyMzRlIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJybi13ZWIzd2FsbGV0LWludGVybmFsOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9sYWIucmVvd24uY29tL3JuX3dhbGxldGtpdF9pbnRlcm5hbCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZWRlMjEzMDBhMjI5NjU4MTUwMzFjOWJmMDdkNzJmMDVmM2Q0YmYyNmFkMDBlNWZjNGYzNDhhMWVlNGM4MzhiOCI6eyJpZCI6ImVkZTIxMzAwYTIyOTY1ODE1MDMxYzliZjA3ZDcyZjA1ZjNkNGJmMjZhZDAwZTVmYzRmMzQ4YTFlZTRjODM4YjgiLCJuYW1lIjoiVGFsa2VuIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly90YWxrZW4uaW8vIiwiaW1hZ2VfaWQiOiIzYzQ5ZThlNy1hNGQ4LTQ4MTAtMjNlZi0wYTAxMDJjY2UxMDAiLCJvcmRlciI6Mzk5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20va3IvYXBwL3RhbGtlbi13ZWIzLXdhbGxldC1uZnQtc3VpdGUvaWQxNDU5NDc1ODMxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL3NlYXJjaD9xPXRhbGtlbiZjPWFwcHMmaGw9ZW4tS1IiLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0YWxrZW4td2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJkZmEwNGU1YTE3NTg0YWE5YjNhOTYzN2YxMGNlMmU5NWZjZDYzNDNmYjgxZThjNjM0OTIyYjIxYTI4Y2M2NmE4Ijp7ImlkIjoiZGZhMDRlNWExNzU4NGFhOWIzYTk2MzdmMTBjZTJlOTVmY2Q2MzQzZmI4MWU4YzYzNDkyMmIyMWEyOGNjNjZhOCIsIm5hbWUiOiJTd2lmdCBTYW1wbGUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldGNvbm5lY3QuY29tLyIsImltYWdlX2lkIjoiZTk4OTYxMDEtMDJjZS00YjQ3LTE2MmItYmU0ZjFmNGNjNDAwIiwib3JkZXIiOjQwMDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9sYWIud2ViM21vZGFsLmNvbS93YWxsZXQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9sYWIud2ViM21vZGFsLmNvbS93YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6IndhbGxldGFwcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGFiLndlYjNtb2RhbC5jb20vd2FsbGV0In0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIwNzY5YjAzYjQwZmE5M2ZmMmNjYTI4Y2Y2ODU4MmIzNTU0Y2YxMGUzZjQ2MDhlNmM4MWIzMDg5YjJhM2ZjZjAxIjp7ImlkIjoiMDc2OWIwM2I0MGZhOTNmZjJjY2EyOGNmNjg1ODJiMzU1NGNmMTBlM2Y0NjA4ZTZjODFiMzA4OWIyYTNmY2YwMSIsIm5hbWUiOiJQYXNzUGF5IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cucGFzc3BheS5pby8iLCJpbWFnZV9pZCI6ImExYzMzN2Y1LWMxNTYtNGNlOC03NjNiLWI0Y2M2NWYxYzIwMCIsIm9yZGVyIjo0MDEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9VUy9hcHAvcGFzc3BheS13YWxsZXQtbmZ0LSVFNCVCQiVBRSVFNiU4MyVCMyVFOSU4MCU5QSVFOCVCMiVBOC0lRTMlODIlQTYlRTMlODIlQTklRTMlODMlQUMlRTMlODMlODMlRTMlODMlODgvaWQxNjQ1MDA5Mzk4IiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb20ud2FsbGV0LnBhc3NwYXk6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjAzMWYwMTg3MDQ5YjdmOTZjNmYwMzlkMWM5YzgxMzhmZjdhMTdmZDc1ZDM4YjM0MzUwYzcxODIyMzJjYzI5YWEiOnsiaWQiOiIwMzFmMDE4NzA0OWI3Zjk2YzZmMDM5ZDFjOWM4MTM4ZmY3YTE3ZmQ3NWQzOGIzNDM1MGM3MTgyMjMyY2MyOWFhIiwibmFtZSI6Ik9idmlvdXMiLCJob21lcGFnZSI6Imh0dHBzOi8vb2J2aW91cy50ZWNobm9sb2d5IiwiaW1hZ2VfaWQiOiJmZTFiOTM5NC01NWFmLTQ4MjgtYTcwZC01YzViN2RlNmIyMDAiLCJvcmRlciI6NDAyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vaW4vYXBwL29idmlvdXMtY3J5cHRvLXdhbGxldC9pZDE2NDMwODgzOTgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5oYXNoaGFsbGkub2J2aW91cyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoib2J2aW91czovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0Lm9idmlvdXMudGVjaG5vbG9neSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImMzZDQ4MDBhZWI1ZWI3YjAwZGQ1ZTk3MjQ3OTkzNDYxZGY4NGU2NjMwY2MzYTg5YmRmMmNhNTIyZjBlYzA3ZDEiOnsiaWQiOiJjM2Q0ODAwYWViNWViN2IwMGRkNWU5NzI0Nzk5MzQ2MWRmODRlNjYzMGNjM2E4OWJkZjJjYTUyMmYwZWMwN2QxIiwibmFtZSI6IkJsYW5xIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5ibGFucWxhYnMuY29tIiwiaW1hZ2VfaWQiOiJkMDJkY2I4MS1kMjc5LTQ0MTQtNjI3YS02ODFkY2FkNTEyMDAiLCJvcmRlciI6NDAzMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2JsYW5xLXdhbGxldC1idXktc3RvcmUtY3J5cHRvL2lkNjQ3MDcxNTMwNyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9eHl6LmJsYW5xLm1vYmlsZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLmJsYW5xbGFicy53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuYmxhbnEuYXBwIn19LCJiZWMzYzRiZTkxMGYzMWIwMWUwNTE1MjU5OTZiOGRjYTg1YTYwYTYxNmRiYTJhNzU2NzI4ZDVkZGVlY2Q2MTM2Ijp7ImlkIjoiYmVjM2M0YmU5MTBmMzFiMDFlMDUxNTI1OTk2YjhkY2E4NWE2MGE2MTZkYmEyYTc1NjcyOGQ1ZGRlZWNkNjEzNiIsIm5hbWUiOiJSZXZlbGF0b3IgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5yZXZlbGF0b3IuY29tLyIsImltYWdlX2lkIjoiMjAyN2RmZWEtMzE2ZC00NzRhLTFjN2QtMDhkZWFkN2I0MjAwIiwib3JkZXIiOjQwNDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQxNDg0NjQyNDIwP3BsYXRmb3JtPWlwaG9uZSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnJldmVsYXRvci5vcmlnaW5hbHdvcmtzIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJyZXZlbGF0b3J3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjY1ZmI1ZWY5YjFmZDc0ZDAwMTAyN2ExMGVkZTM4ZGU5NmExNzA0YTBlYzgyOTk0YmI0N2Y5OTVkMTBkNmRmODUiOnsiaWQiOiI2NWZiNWVmOWIxZmQ3NGQwMDEwMjdhMTBlZGUzOGRlOTZhMTcwNGEwZWM4Mjk5NGJiNDdmOTk1ZDEwZDZkZjg1IiwibmFtZSI6IlVQQk9ORCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnVwYm9uZC5pby8iLCJpbWFnZV9pZCI6IjY5OGUwOGYzLWI0NTItNGM5MS05ZjY1LTI5OTkzOTM5NmEwMCIsIm9yZGVyIjo0MDUwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LnVwYm9uZC5pby8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOiJodHRwczovL3dhbGxldC51cGJvbmQuaW8vd2FsbGV0L2hvbWUiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LnVwYm9uZC5pby8ifX0sIjU2ZDE4NTRkZGJjOGQ5ZWNkZjVkN2UyZjE5MjI4MzE0ZjQ3NWVlMTEwYzM4ZmJmZTNmYTBiNzJiYWE0MWNhMTQiOnsiaWQiOiI1NmQxODU0ZGRiYzhkOWVjZGY1ZDdlMmYxOTIyODMxNGY0NzVlZTExMGMzOGZiZmUzZmEwYjcyYmFhNDFjYTE0IiwibmFtZSI6IktBWEFBIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rYXhhYS5jb20vIiwiaW1hZ2VfaWQiOiIyYTc5ODFhYS0xNGY0LTQwMGQtODZhZS1mZmEzZWE4NjY5MDAiLCJvcmRlciI6NDA2MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2V3YWxsZXQua2F4YWEuY29tLyIsImlvcyI6Imh0dHBzOi8vZXdhbGxldC5rYXhhYS5jb20iLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjoiaHR0cHM6Ly9ld2FsbGV0LmtheGFhLmNvbSIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwva2F4YWEvbmpscGJubGxtYmdkamNtam9nbWxoZWxkZ2tjZGpub2wiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNLYXhhYVdhbGxldCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5rLmtheGFhLmNvbS8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluay5rYXhhYS5jb20vIn19LCJkNjRmMDQxYzc3ZTI0OGU2YzI0Yjc5MTYxNmY5YmNkNjUyZmQyMTgzZGQ1OTBhMTE1NmUxM2ViZmEwZDE1Zjc0Ijp7ImlkIjoiZDY0ZjA0MWM3N2UyNDhlNmMyNGI3OTE2MTZmOWJjZDY1MmZkMjE4M2RkNTkwYTExNTZlMTNlYmZhMGQxNWY3NCIsIm5hbWUiOiJUb2tlbkIiLCJob21lcGFnZSI6Imh0dHBzOi8vdG9rZW5iLmNvbS8iLCJpbWFnZV9pZCI6ImU2NWU3ZmE5LTNhMDEtNDIzZi1kODRmLWNjYzYyMWZiYTkwMCIsIm9yZGVyIjo0MDcwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6IiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9bmV0LnRva2VuMTMud2FsbGV0JmhsPWVuIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0b2tlbmItd2ViM3dhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vdG9rZW5iLmNvbS8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjU2OTE5YTJjZTk1ZGZiOGRiNjM3NDRkYTU5M2MzYmQ3MGZmZTE0ZDJlYzkwMWQ3YTdhYjU4ZjJhMzE5ZjE1N2IiOnsiaWQiOiI1NjkxOWEyY2U5NWRmYjhkYjYzNzQ0ZGE1OTNjM2JkNzBmZmUxNGQyZWM5MDFkN2E3YWI1OGYyYTMxOWYxNTdiIiwibmFtZSI6Ik9yaW9uIiwiaG9tZXBhZ2UiOiJodHRwczovL29yaW9uLnh5eiIsImltYWdlX2lkIjoiODUwMDc4MjgtOTUyMi00NTE3LTZhNTUtNmYzNzZkZThhNTAwIiwib3JkZXIiOjQwODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vYXBwL2lkMTY1OTc1ODE2MCIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoib3Jpb246Ly93Yz8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjg2MzFjYTc2NWRlZmRmNTFjZDcyNDQ0ZWMwMjg0Yjg2NmM4MzVhOTQ3ZWQwODJkNDFjMGM3NTZhM2IyZWIxYzIiOnsiaWQiOiI4NjMxY2E3NjVkZWZkZjUxY2Q3MjQ0NGVjMDI4NGI4NjZjODM1YTk0N2VkMDgyZDQxYzBjNzU2YTNiMmViMWMyIiwibmFtZSI6IkdyaWRsb2NrIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ncmlkbG9jay5uZXR3b3JrLyIsImltYWdlX2lkIjoiNDcxZTZmNjEtYjk1YS00NTNjLTY3MGMtMDI5ZWYzYjJiZDAwIiwib3JkZXIiOjQwOTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9ncmlkbG9jay1zZWN1cmUtY3J5cHRvLXdhbGxldC9pZDE1NjcwNTczMzAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW5ldHdvcmsuZ3JpZGxvY2suQXBwR3JpZGxvY2siLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJuZXR3b3JrLmdyaWRsb2NrLkFwcEdyaWRsb2NrOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9ncmlkbG9jay5wYWdlLmxpbmsvRmloeCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImI0OGNlZmM3ZmY5NmY5YmY0ZTZkYjY2ZmQ5M2QyNzdkNGVlNmY0MTk5ZDdmOTk2YzI1YTU2YjBiMGJiMmMzNTIiOnsiaWQiOiJiNDhjZWZjN2ZmOTZmOWJmNGU2ZGI2NmZkOTNkMjc3ZDRlZTZmNDE5OWQ3Zjk5NmMyNWE1NmIwYjBiYjJjMzUyIiwibmFtZSI6IlNjcmFtYmVycnlXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vc2NyYW1iZXJyeS5pby9qYS93YWxsZXQvIiwiaW1hZ2VfaWQiOiIyMzk4YTkyNC02MmI0LTRmNjQtNGE1OS03YWU3YTI5M2NlMDAiLCJvcmRlciI6NDEwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vanAvYXBwL3NjcmFtYmVycnktd2FsbGV0L2lkNjQ2ODgwODUxMiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uc2NyYW1iZXJyeS53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImlvLnNjcmFtYmVycnkudjdibWZnZGExdm80MnVlMzg1eGM6Ly9kZWVwbGluayIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluazEuYnNnLnNjcmFtYmVycnkuaW8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIxOTQxOGVjZmQ0NDk2Mzg4M2U0ZDZhYmNhMWFkZWIyMDM2ZjNiNWZmYjliZWUwZWM2MWYyNjdhOTY0MWY4NzhiIjp7ImlkIjoiMTk0MThlY2ZkNDQ5NjM4ODNlNGQ2YWJjYTFhZGViMjAzNmYzYjVmZmI5YmVlMGVjNjFmMjY3YTk2NDFmODc4YiIsIm5hbWUiOiJLcnlwdG9HTyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8va3J5cHRvZ28uY29tL3dhbGxldCIsImltYWdlX2lkIjoiNGViMzE5ODgtZjQ5NC00MDNjLTYxMjctY2ZjZWYwMzZhYzAwIiwib3JkZXIiOjQxMjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9rcnlwdG9nby5jb20vd2FsbGV0IiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9pbC9hcHAva3J5cHRvZ28vaWQxNTkzODMwOTEwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ua3J5cHRvZ28ud2FsbGV0YXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYmdhaWhua29vYWRhZ3BqZGRsY2FsZWFvcG1ramFkZmwiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJrcnlwdG9nbzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8va3J5cHRvZ28ucGFnZS5saW5rIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2tyeXB0b2dvLmNvbS93YWxsZXQifX0sIjA2M2FiMWNkYzkxMjNlZDU2YjdlNzNjYmVlNjY0ZDI0ZWNiN2ZjNzEwYWQxZTBiZGVkNmNjMmRiMGQ1NjIwNTUiOnsiaWQiOiIwNjNhYjFjZGM5MTIzZWQ1NmI3ZTczY2JlZTY2NGQyNGVjYjdmYzcxMGFkMWUwYmRlZDZjYzJkYjBkNTYyMDU1IiwibmFtZSI6IkxpZmUgRGVGaSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9saWZlZGVmaS5jbyIsImltYWdlX2lkIjoiZDI0OWFmNGYtZTliOC00OThkLWNiYzMtOWVhYjA0NTY4NzAwIiwib3JkZXIiOjQxMzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2NhL2FwcC9saWZlLXRoZS1kZWZpLXdhbGxldC9pZDE1OTE0Mjc5NzAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWxpZmUubGlmZWNyeXB0by5hcHAmaGw9ZW5fVVMmZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InczYWt2cm46LyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoidzNha3ZybjovIiwidW5pdmVyc2FsIjpudWxsfX0sImI5NTZkYTkwNTIxMzJlM2RhYmRjZDc4ZmViNTk2ZDUxOTRjOTliNzM0NWQ4YzRiZDdhNDdjYWJkY2I2OWEyNWYiOnsiaWQiOiJiOTU2ZGE5MDUyMTMyZTNkYWJkY2Q3OGZlYjU5NmQ1MTk0Yzk5YjczNDVkOGM0YmQ3YTQ3Y2FiZGNiNjlhMjVmIiwibmFtZSI6IkFCQyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbXlhYmN3YWxsZXQuaW8vIiwiaW1hZ2VfaWQiOiJlNjg5ZWEyYi1jZDQ5LTRhMWQtNzgxMi00MjRhMGUwZDkyMDAiLCJvcmRlciI6NDE0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FiYy13YWxsZXQtc2FmZS13ZWIzLXdhbGxldC9pZDE2NDI4Mzc0NDUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLm15YWJjd2FsbGV0Lm1wYyZobD1lbiZnbD1VUyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYWJjLXdhbGxldDovL2FiY3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hYmN3YWxsZXRjb25uZWN0LnBhZ2UubGluay8/YXBuPWlvLm15YWJjd2FsbGV0Lm1wYyZpYmk9aW8ubXlhYmN3YWxsZXQubXBjJmlzaT0xNjQyODM3NDQ1JmVmcj0xJm9mbD1odHRwczovL215YWJjd2FsbGV0LmlvL2Rvd25sb2FkJmxpbms9aHR0cHM6Ly9teWFiY3dhbGxldC5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjRiMjYwNGM4ZTBmNTAyMmQwZmJmYmM2NzY4NWRkNWU4NzQyNmJiZmU1MTRlZWJjY2U2YzVmMzYzOGYyZTFkODEiOnsiaWQiOiI0YjI2MDRjOGUwZjUwMjJkMGZiZmJjNjc2ODVkZDVlODc0MjZiYmZlNTE0ZWViY2NlNmM1ZjM2MzhmMmUxZDgxIiwibmFtZSI6IkJDIFZhdWx0IiwiaG9tZXBhZ2UiOiJodHRwczovL2JjLXZhdWx0LmNvbSIsImltYWdlX2lkIjoiNTY5OTVkODItYTk4MC00ZGZjLTI2MTEtMGY5MWQ4OGM1NzAwIiwib3JkZXIiOjQxNjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6Imh0dHBzOi8vYmMtdmF1bHQuY29tL2Rvd25sb2FkLyIsIndpbmRvd3MiOiJodHRwczovL2JjLXZhdWx0LmNvbS9kb3dubG9hZC8iLCJsaW51eCI6Imh0dHBzOi8vYmMtdmF1bHQuY29tL2Rvd25sb2FkLyIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6ImJjdmF1bHQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9fSwiMTRlNzE3NjUzNmNiMzcwNmUyMjFkYWFhM2NmZDdiODhiN2RhOGM3ZGZiNjRkMWQyNDEwNDQxNjQ4MDJjNmJkZCI6eyJpZCI6IjE0ZTcxNzY1MzZjYjM3MDZlMjIxZGFhYTNjZmQ3Yjg4YjdkYThjN2RmYjY0ZDFkMjQxMDQ0MTY0ODAyYzZiZGQiLCJuYW1lIjoiQmxvY3RvIiwiaG9tZXBhZ2UiOiJodHRwczovL2Jsb2N0by5pby8iLCJpbWFnZV9pZCI6IjM3NDI1OGQzLWM3NDktNGYzNy03ODE1LTc3ZTYxZjc5OGMwMCIsIm9yZGVyIjo0MTcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQxNDgxMTgxNjgyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucG9ydHRvLmJsb2N0byZobD1lbiZnbD1VUyIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJsb2N0bzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYmxvY3RvLmFwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImM2MTVjNjJkNjE5ZmQ1MmZhMWNkZjAxODcyMjlhNjI3Zjc4ZmE5MjRjOTBmMDQzOTFhZjg5NjBjMDAwYjU5YzUiOnsiaWQiOiJjNjE1YzYyZDYxOWZkNTJmYTFjZGYwMTg3MjI5YTYyN2Y3OGZhOTI0YzkwZjA0MzkxYWY4OTYwYzAwMGI1OWM1IiwibmFtZSI6IkluZGlHRyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9pbmRpLmdnIiwiaW1hZ2VfaWQiOiI4ZTkwYTMyZi0xMzBkLTQzMTctNzI5NC00ODg0NTEwYWEzMDAiLCJvcmRlciI6NDE4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2luZGkuZ2cvIiwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5pbmRpZ2djb21tdW5pdHkmaGw9ZW5fVVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImluZGlnZzovL3dhbGxldGNvbm5lY3QiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9pbmRpLmdnLyJ9fSwiNzQ3NTI1OGNiMDdiM2U1ZmJhYjcxNWFhYjI3ZjM4M2ZjMTc3MTU0ZjRmMDQ2MTc5MGM1N2Q5NzA3N2E0NzU0NyI6eyJpZCI6Ijc0NzUyNThjYjA3YjNlNWZiYWI3MTVhYWIyN2YzODNmYzE3NzE1NGY0ZjA0NjE3OTBjNTdkOTcwNzdhNDc1NDciLCJuYW1lIjoiVm9sdCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdm9sdGFnZS5maW5hbmNlIiwiaW1hZ2VfaWQiOiJmZmRkZjAxYS0zMzdmLTQ1YzEtNjFjOS1mNmQzZGQzZDNjMDAiLCJvcmRlciI6NDE5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3ZvbHQtd2FsbGV0L2lkNjQ0NDE1OTIzNyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9ZmluYW5jZS52b2x0YWdlLmFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidm9sdDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ2V0LnZvbHRhZ2UuZmluYW5jZSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjg3ZWVjYmNhNjZmYWVmMzJmMDQ0ZmM3YzY2MDkwZmM2NjhlZmIwMmUyZDE3ZGRhN2JmMDk1ZDUxZGZmNzY2NTkiOnsiaWQiOiI4N2VlY2JjYTY2ZmFlZjMyZjA0NGZjN2M2NjA5MGZjNjY4ZWZiMDJlMmQxN2RkYTdiZjA5NWQ1MWRmZjc2NjU5IiwibmFtZSI6IkNyb3NzbWludCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuY3Jvc3NtaW50LmNvbS8iLCJpbWFnZV9pZCI6IjhhZDYyN2VjLWNiY2QtNDg3OC1lYzVjLTNkZjU4ODA1NTIwMCIsIm9yZGVyIjo0MjEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd3d3LmNyb3NzbWludC5jb20iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vd3d3LmNyb3NzbWludC5jb20iLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LmNyb3NzbWludC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LmNyb3NzbWludC5jb20ifX0sImRjZGNmYjAyZGQ4NzFhZjg2MzM4NzU0MzFlYjQyZjA5NTM3MGIxMDQzMDRjMzVmZTJhYzc3ZjhhZTIwNDVkYWQiOnsiaWQiOiJkY2RjZmIwMmRkODcxYWY4NjMzODc1NDMxZWI0MmYwOTUzNzBiMTA0MzA0YzM1ZmUyYWM3N2Y4YWUyMDQ1ZGFkIiwibmFtZSI6Ik93bmJpdCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vd25iaXQuaW8iLCJpbWFnZV9pZCI6IjE5OTIzYjA4LTcyMDgtNDUzOS05YzJkLWM0M2RiMjJiY2UwMCIsIm9yZGVyIjo0MjIwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vb3duYml0LmlvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9oay9hcHAvb3duYml0LSVFNSU4NiVCNyVFOSU4QyVBMiVFNSU4QyU4NS0lRTUlQTQlOUElRTclQjAlQkQlRTklOEMlQTIlRTUlOEMlODUvaWQxMzIxNzk4MjE2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYml0YmlsbC53d3cmaGw9emgmZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vb3duYml0LmlvIn19LCJhOTNlMGZkNmEyNTE3OGIyZmE4MGViODgyMTUwZjZiOGRhNTNjMWU5ZjNlNmQwZDkyMDE5MDc2NjcxYmIwN2YwIjp7ImlkIjoiYTkzZTBmZDZhMjUxNzhiMmZhODBlYjg4MjE1MGY2YjhkYTUzYzFlOWYzZTZkMGQ5MjAxOTA3NjY3MWJiMDdmMCIsIm5hbWUiOiJESURXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmRpZHdhbGxldC5pby8iLCJpbWFnZV9pZCI6ImJjNjZmYTU3LTQ2ZjQtNGUxNy02Y2I3LTVmMmQ5YWY5YzAwMCIsIm9yZGVyIjo0MjMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvaWQxNDYwMDgzNTQyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYXJjYmxvY2sud2FsbGV0LmFwcC5wcm9kdWN0IiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYWJ0Oi8vZGlkd2FsbGV0LmlvL2kiLCJ1bml2ZXJzYWwiOiJodHRwczovL2RpZHdhbGxldC5pby9pIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYjU2ZTdhNWZlNDUwMGQ1NzY1NzI2OTEyYjY4NjNhOTJmZmM2YWVlODhhN2QzYTk0OTA1ZTkzZTFiM2UwMWMyZSI6eyJpZCI6ImI1NmU3YTVmZTQ1MDBkNTc2NTcyNjkxMmI2ODYzYTkyZmZjNmFlZTg4YTdkM2E5NDkwNWU5M2UxYjNlMDFjMmUiLCJuYW1lIjoiRnJvc3RmaXJlIiwiaG9tZXBhZ2UiOiJodHRwczovL2Zyb3N0ZmlyZXdhbGxldC5jb20iLCJpbWFnZV9pZCI6IjM2MTFjYzVmLTRkYTQtNDljYS1kY2NlLWYzYmQzOWNlZTYwMCIsIm9yZGVyIjo0MjQwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6IiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZlbGFzLmZyb3N0ZmlyZSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiZnJvc3RmaXJlOi8vd2MiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjgyMDYxZWU0MTBjYWIwZTcwNWNmMzg4MzBkYjg0YmE5NjVlZmZjNTFhMWUxYmY0M2RhNmQzOWZmNzBhZTk0ZmIiOnsiaWQiOiI4MjA2MWVlNDEwY2FiMGU3MDVjZjM4ODMwZGI4NGJhOTY1ZWZmYzUxYTFlMWJmNDNkYTZkMzlmZjcwYWU5NGZiIiwibmFtZSI6IlBhcmEiLCJob21lcGFnZSI6Imh0dHBzOi8vZ2V0cGFyYS5jb20iLCJpbWFnZV9pZCI6IjljYmI1Y2JhLWNjMzAtNGJlNi0zM2EyLTlkNzdmY2EwNTEwMCIsIm9yZGVyIjo0MjUwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vY29ubmVjdC5nZXRwYXJhLmNvbSIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nvbm5lY3QuZ2V0cGFyYS5jb20ifX0sIjdiNDJiM2RhYjE4ZGRhZmI4MmNmNGYyMjg0MjIwYjEzNjEyNzg1ZDcyMzcwZDEzYmU1NGVkMWY0MDViZmM0MzIiOnsiaWQiOiI3YjQyYjNkYWIxOGRkYWZiODJjZjRmMjI4NDIyMGIxMzYxMjc4NWQ3MjM3MGQxM2JlNTRlZDFmNDA1YmZjNDMyIiwibmFtZSI6Ik1PTiBJRCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9tb25wcm90b2NvbC5haSIsImltYWdlX2lkIjoiMWMzNGFlNmItNzZjOS00Yzg4LTQwMjUtMTNlN2I4YTI2ZDAwIiwib3JkZXIiOjQyNjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9tb24taWQuZWNvc3lzdGVtLnRoaXJkd2ViLmNvbS8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9tb24taWQuZWNvc3lzdGVtLnRoaXJkd2ViLmNvbS8ifX0sIjhlY2UwYmNlM2E5NWRiNzQwNzdkNzg2MWY3NzY3NzcwYWY1ZTU3NDZjM2FmMDExZTRlZWM3ZTNkMmVmZTJiZTQiOnsiaWQiOiI4ZWNlMGJjZTNhOTVkYjc0MDc3ZDc4NjFmNzc2Nzc3MGFmNWU1NzQ2YzNhZjAxMWU0ZWVjN2UzZDJlZmUyYmU0IiwibmFtZSI6IkNsYXZlIiwiaG9tZXBhZ2UiOiJodHRwczovL2dldGNsYXZlLmlvIiwiaW1hZ2VfaWQiOiJmMWM1MzhkZi0xNWQ5LTQ0NDgtNTQyZi1iN2IzNThlOTVkMDAiLCJvcmRlciI6NDI3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZ3IvYXBwL2NsYXZlLXNtYXJ0LXdhbGxldC9pZDY0NDkyNTM3NjEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jbGF2ZS5tb2JpbGUiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2dyL2FwcC9jbGF2ZS1zbWFydC13YWxsZXQvaWQ2NDQ5MjUzNzYxIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY2xhdmU6Ly9saW5rL3djLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ2V0Y2xhdmUuaW8vbGluay93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6ImNsYXZlOi8vbGluay93Yy8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2dldGNsYXZlLmlvL2xpbmsifX0sIjQ5NzI4NDJiMWMxYTM1NTI4MzFmN2MyOWVjNTMyMjlkMWNlMDBiNGQ0Mzk4OGEyNjJjNTlkMjZkYWUwNjI3ZDciOnsiaWQiOiI0OTcyODQyYjFjMWEzNTUyODMxZjdjMjllYzUzMjI5ZDFjZTAwYjRkNDM5ODhhMjYyYzU5ZDI2ZGFlMDYyN2Q3IiwibmFtZSI6IkJVWlpVUCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9idXp6LXVwLmlvIiwiaW1hZ2VfaWQiOiJmYjI0ZjBhMy04M2Y1LTQzZTctMjIwNC0yNWM2MzQ4ZjAwMDAiLCJvcmRlciI6NDI4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwLzY0Nzk1MTIxODAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLmNoYWlub24ubHN5aW0iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJ1enp1cDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiY2EzZjM3Mjc4OGY3ZWFjZWRhMjQyOWJlMjBkZDRmOWM4YzE0OGYwZDEwM2JiN2JhODU3NmY4MTM4MTA0ZjE4YyI6eyJpZCI6ImNhM2YzNzI3ODhmN2VhY2VkYTI0MjliZTIwZGQ0ZjljOGMxNDhmMGQxMDNiYjdiYTg1NzZmODEzODEwNGYxOGMiLCJuYW1lIjoiSmFtYm8iLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmphbWJvLnRlY2hub2xvZ3kvIiwiaW1hZ2VfaWQiOiJiMGZkMzlhMS1kMTQ3LTRiZjctNGNiNS02OGEyOTRiMjZmMDAiLCJvcmRlciI6NDI5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uamFtYm8iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImpidzovL3dhbGxldGNvbm5lY3QiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjdmYWVkMTM0NTFlNjc1Njc5ZTJhZjI5N2M0OTI5MTRlZTRmZGE1NDBmYzgyZDI5OTNhOTFlMWQ3M2M2NGQ5NmIiOnsiaWQiOiI3ZmFlZDEzNDUxZTY3NTY3OWUyYWYyOTdjNDkyOTE0ZWU0ZmRhNTQwZmM4MmQyOTkzYTkxZTFkNzNjNjRkOTZiIiwibmFtZSI6IkVkZ2UiLCJob21lcGFnZSI6Imh0dHBzOi8vZWRnZS5hcHAvIiwiaW1hZ2VfaWQiOiJmMDI2MWUyOS00OTgxLTRlMTYtNDQ0MS0xNjVlMmQ1ZDYzMDAiLCJvcmRlciI6NDMwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2VkZ2UtYml0Y29pbi13YWxsZXQvaWQxMzQ0NDAwMDkxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jby5lZGdlc2VjdXJlLmFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZWRnZTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGVlcC5lZGdlLmFwcC93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiOTY1NGMwMDRlMDJlNDkyYzMwOTA0YTgyMDE1NGUyMzk4ODZlZGJmNGQ2NmJjNWQzNzIwNjA4MDllZjRjOTExMSI6eyJpZCI6Ijk2NTRjMDA0ZTAyZTQ5MmMzMDkwNGE4MjAxNTRlMjM5ODg2ZWRiZjRkNjZiYzVkMzcyMDYwODA5ZWY0YzkxMTEiLCJuYW1lIjoiUGxlbmEtQXBwIiwiaG9tZXBhZ2UiOiJodHRwczovL3BsZW5hLmZpbmFuY2UiLCJpbWFnZV9pZCI6IjliYTA3YjQzLTNkYjEtNGU4ZC0xMDBlLThjOTFkODQzMGMwMCIsIm9yZGVyIjo0MzEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcGxlbmEtc21hcnRlc3QtZGVmaS13YWxsZXQvaWQxNjA4MDYxNDYwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucGxlbmEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNvbS5wbGVuYTovL2F1dGgsb3JnLnBsZW5hZmluYW5jZS5hcHA6Ly9hdXRoIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9wbGVuYS5wYWdlLmxpbmsvSk5QZSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjBkMDk3MjQ4OGNiN2ZjMzMyYWY1YWMzYmU2YjY3OWExNjk5NTE4YWI0ZDAwNDhkNzRjYjliNDI2OGVjMDI2M2EiOnsiaWQiOiIwZDA5NzI0ODhjYjdmYzMzMmFmNWFjM2JlNmI2NzlhMTY5OTUxOGFiNGQwMDQ4ZDc0Y2I5YjQyNjhlYzAyNjNhIiwibmFtZSI6IkJhbmtTb2NpYWwgIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5iYW5rc29jaWFsLmlvLyIsImltYWdlX2lkIjoiMTU5YWU2NTYtYWUyNC00NzE3LWY3OGYtZjg0ZWIyYjJlNzAwIiwib3JkZXIiOjQzMjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9YXBwLmJhbmtzb2NpYWwuaW8maGw9ZW5fVVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9iYW5rc29jaWFsLmFwcC5saW5rL2Rvd25sb2FkIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNTk0ODk4ODk2MDA3YjJlNDlkNDA2NDA0Mzg3MTA5MzYyMDg2N2QxOGNhZTU1OGNlOTc4MmFkMTMwM2YzNzFlNiI6eyJpZCI6IjU5NDg5ODg5NjAwN2IyZTQ5ZDQwNjQwNDM4NzEwOTM2MjA4NjdkMThjYWU1NThjZTk3ODJhZDEzMDNmMzcxZTYiLCJuYW1lIjoiQ3J5cHRpYyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jeXBoZXJjaGF0IiwiaW1hZ2VfaWQiOiJjOTY0NWRhYi1mZTVkLTRhNDgtMDM1OS03OWViYzQyMjkwMDAiLCJvcmRlciI6NDMzMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jeXBoZXJjaGF0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJjeXBoZXJjaGF0Oi8vd2MiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjM3ZWY2MzFiYTgzODM1Y2FlOTdkYmJmZTI3MGZmODI4Y2RmNGM5MzI2ZTk5ODkyN2JjYjAzZjI2MmY5OGYxNDQiOnsiaWQiOiIzN2VmNjMxYmE4MzgzNWNhZTk3ZGJiZmUyNzBmZjgyOGNkZjRjOTMyNmU5OTg5MjdiY2IwM2YyNjJmOThmMTQ0IiwibmFtZSI6IlN1cGVyV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3N1cGVyZXgubGl2ZSIsImltYWdlX2lkIjoiZThmMzAxMjItNTUzNy00YjM4LWQ2ZDUtOWNhZTQ2NzcxODAwIiwib3JkZXIiOjQzNDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9zdXBlcmV4LmNvbSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3N1cGVyZXgvaWQxNjAxNTg5ODg4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uc3VwZXJleC5leCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic3VwZXJ3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5zdXBlcmV4LmxpdmUifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vc3VwZXJleC5jb20ifX0sIjgwYWZiZjFlMjYxY2MyNDFlODIyNzEyNzU5Mjg3OWM2ZWJkNzUzYzdjN2EwYTcxNGM3NTkyM2ZhNzY3MzBlMGMiOnsiaWQiOiI4MGFmYmYxZTI2MWNjMjQxZTgyMjcxMjc1OTI4NzljNmViZDc1M2M3YzdhMGE3MTRjNzU5MjNmYTc2NzMwZTBjIiwibmFtZSI6IlF1YmV0aWNzV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5xdWJldGljcy5jb20vIiwiaW1hZ2VfaWQiOiJmNmFmZTY3Yy00MWU5LTQ0ZmMtMDc1YS0zZTdlZGEyOTEwMDAiLCJvcmRlciI6NDM1MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC9xdWJldGljcy13YWxsZXQvaWQ2NzQ2MzMzNTQwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucXViZXRpY3Mud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJxdWJldGljczovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMGFmZmQ0YmRlYmU1YjM1ODA2YmY1MmJiZjYxMzBkZTkxMjA4ZDRkMzU5M2U0YjIyMWI3ODEzNDQxMTQxZGYxMyI6eyJpZCI6IjBhZmZkNGJkZWJlNWIzNTgwNmJmNTJiYmY2MTMwZGU5MTIwOGQ0ZDM1OTNlNGIyMjFiNzgxMzQ0MTE0MWRmMTMiLCJuYW1lIjoiaU1lIE1lc3NlbmdlciAmIENyeXB0byBXYWxsZXQgIiwiaG9tZXBhZ2UiOiJodHRwczovL2ltZW0uYXBwLyIsImltYWdlX2lkIjoiMWJhOWQwOWEtZjI0Ny00MGE3LTU4ZDQtODVhOTJkYjVmMjAwIiwib3JkZXIiOjQzNjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pbWUtbWVzc2VuZ2VyL2lkMTQ1MDQ4MDgyMiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmlNZS5hbmRyb2lkJmhsIiwibWFjIjoiaHR0cHM6Ly9pbWVtLmFwcC9kZXNrdG9wIiwid2luZG93cyI6Imh0dHBzOi8vaW1lbS5hcHAvZGVza3RvcCIsImxpbnV4IjoiaHR0cHM6Ly9pbWVtLmFwcC9kZXNrdG9wIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vaW1lbS5hcHAvZG93bmxvYWQifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJmOTJiNjQ5MWU5Y2NjYWVjN2RjYTY2N2Q2MWMwMTI4MTY2MjllN2U3NTkzOTJjNTVkM2Y1MjNhOTBlYzFhNTg0Ijp7ImlkIjoiZjkyYjY0OTFlOWNjY2FlYzdkY2E2NjdkNjFjMDEyODE2NjI5ZTdlNzU5MzkyYzU1ZDNmNTIzYTkwZWMxYTU4NCIsIm5hbWUiOiJQdXJlV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3B1cmVjaGFpbi5jb20iLCJpbWFnZV9pZCI6ImVhNjRjNmFhLTEzYWEtNDQwZi1mNTAzLTAwMTNhY2IzNzgwMCIsIm9yZGVyIjo0MzcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcHVyZXdhbGxldC9pZDY3Mzg5NDkxNjg/cGxhdGZvcm09aXBob25lIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubnNsYWIucHVyZXdhbGxldHAmcGxpPTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InB1cmV3YWxsZXRwOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9wdXJld2FsbGV0LmFpL2FwaSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiNTBjY2E2Zjk0MzgxMmQyODUyNzUyYjdlMDIxZjI1MWQ1MGQ0MTA4NzhiNTRjMThhODFhZDcxYmNhYTQzOTAzNSI6eyJpZCI6IjUwY2NhNmY5NDM4MTJkMjg1Mjc1MmI3ZTAyMWYyNTFkNTBkNDEwODc4YjU0YzE4YTgxYWQ3MWJjYWE0MzkwMzUiLCJuYW1lIjoiRXRob3MgU2VsZi1DdXN0b2R5IFZhdWx0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5ldGhvcy5pby8iLCJpbWFnZV9pZCI6IjhiYzdmYjYyLTZmNmItNDQ3My0yZTRhLTU2OTFhNjQ2ZmMwMCIsIm9yZGVyIjo0MzgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZXRob3Mtc2VsZi1jdXN0b2R5LXZhdWx0L2lkNjQ1MDk0ODcwNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmV0aG9zMi5wcm9kJmhsPWVuX1VTJmdsPVVTJnBsaT0xIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJteWFwcDovL2hvbWUiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjc1YWE1NzdiMDhiM2RjM2ExNzc3YzljNzRjYmJiNzliNWJmZDczY2FhZmYyMjJhMjhhNTNjZTRlNzZjYmI0MWMiOnsiaWQiOiI3NWFhNTc3YjA4YjNkYzNhMTc3N2M5Yzc0Y2JiYjc5YjViZmQ3M2NhYWZmMjIyYTI4YTUzY2U0ZTc2Y2JiNDFjIiwibmFtZSI6IkpveUlEIFBhc3NrZXkiLCJob21lcGFnZSI6Imh0dHBzOi8vam95LmlkLyIsImltYWdlX2lkIjoiZWVmMTZmMWYtMTg4Mi00MWM5LTAwYzMtNTU4NDQ0ZTBkMDAwIiwib3JkZXIiOjQzOTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9hcHAuam95LmlkIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmpveS5pZCJ9fSwiYzczM2QzMmYzYjk3NGM0YTk2ZTBjZDVhM2I2ZjdlMTg2ZTJmNjM3OTE4MmFjNjY0MGZkYmFiNGY5ZWY0ODliMCI6eyJpZCI6ImM3MzNkMzJmM2I5NzRjNGE5NmUwY2Q1YTNiNmY3ZTE4NmUyZjYzNzkxODJhYzY2NDBmZGJhYjRmOWVmNDg5YjAiLCJuYW1lIjoiQ2VydGhpcyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jZXJ0aGlzLmlvIiwiaW1hZ2VfaWQiOiJmYmQ0NDFjYy1lODYxLTQ2ZGMtNDhhZS1hMDQyMjhkZGI1MDAiLCJvcmRlciI6NDQwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2V4cGxvcmVyLmNlcnRoaXMuaW8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjoiaHR0cHM6Ly9jZXJ0aGlzLmlvLyIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2NlcnRoaXMuaW8vIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2NlcnRoaXMuaW8ifX0sIjMyZTZlZGNmYmQ3NzA5OTZmZWQyZjQwODhiNzZhNWMwMTUxOTAzZDRhYjk3NzFmZWI5MmU1Y2Y3NTA4MGIxMzEiOnsiaWQiOiIzMmU2ZWRjZmJkNzcwOTk2ZmVkMmY0MDg4Yjc2YTVjMDE1MTkwM2Q0YWI5NzcxZmViOTJlNWNmNzUwODBiMTMxIiwibmFtZSI6IlNhZmVXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vc2FmZWNyeXB0b3dhbGxldC5pbyIsImltYWdlX2lkIjoiYzRmNDM0MDgtNjEyYi00Nzc3LWM5ZDYtYTAyMjkzNGNlNjAwIiwib3JkZXIiOjQ0MTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zYWZlLWNyeXB0by13YWxsZXQtYmxvY2tjaGFpbi9pZDY0NDk1OTkyNTk/bXQ9OCZzaG9ydGxpbms9NHlibTluNGQmYz1zYWZlK3dhbGxldCZwaWQ9Y2xpY2t3ZWJzaXRlJmFmX3hwPWN1c3RvbSZzb3VyY2VfY2FsbGVyPXVpIiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzYWZld2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI5MWI5YTAyMTM0YmM4MzRiOTZlYmZhMzMzYTBiZjI3YWM2MzcyYWM1NjY4MmI1ZTc3YmY4NTc3YWJlMGVlYTc4Ijp7ImlkIjoiOTFiOWEwMjEzNGJjODM0Yjk2ZWJmYTMzM2EwYmYyN2FjNjM3MmFjNTY2ODJiNWU3N2JmODU3N2FiZTBlZWE3OCIsIm5hbWUiOiJQbHV0b3BlIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5wbHV0b3BlLmlvLyIsImltYWdlX2lkIjoiNzdhYWIxZWYtMjhlOC00NDczLWI5MWEtYTU2NmZkOTEwOTAwIiwib3JkZXIiOjQ0MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC9wbHV0b3BlLWNyeXB0by13YWxsZXQvaWQ2NDY2NzgyODMxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYXBwLnBsdXRvcGUmcGxpPTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InBsdXRvcGU6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImE0MjY3MDdmYWZmZTkwMzJhYzFkMDM3YmU4OGY1NDE5YTI5NTQ3NzM2YTg2YmYyYzhmMjUyNzUxOTM4MjE5ZjgiOnsiaWQiOiJhNDI2NzA3ZmFmZmU5MDMyYWMxZDAzN2JlODhmNTQxOWEyOTU0NzczNmE4NmJmMmM4ZjI1Mjc1MTkzODIxOWY4IiwibmFtZSI6Im9uZXdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vbmV3YWxsZXQuaXQuY29tLyIsImltYWdlX2lkIjoiNDlhOGVmMmQtZmE2Zi00M2QyLTA5ZDgtYzYzYjM3MDRkNDAwIiwib3JkZXIiOjQ0MzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvb25lLXdhbGxldC1zdGFibGVjb2luL2lkNjc0OTQ0NjYwMT9sPXpoLUhhbnMtQ04iLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJvbmV3YWxsZXQ6Ly93YWxsZXQiLCJ1bml2ZXJzYWwiOiJodHRwczovL29uZXdhbGxldC5pdC5jb20vd3MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImQ0OTZkMzBhMTIxM2VlMjJkN2I3YjkzYzFmMGVkM2Q5NmM5ZGM1ODAwNjM0YjZlMzE5ZWZlN2I3MGI2NWQ2OTQiOnsiaWQiOiJkNDk2ZDMwYTEyMTNlZTIyZDdiN2I5M2MxZjBlZDNkOTZjOWRjNTgwMDYzNGI2ZTMxOWVmZTdiNzBiNjVkNjk0IiwibmFtZSI6IkxGIFdhbGxldCBBcHAiLCJob21lcGFnZSI6Imh0dHBzOi8vbGZsYWJzLmZ1bmQvd2FsbGV0IiwiaW1hZ2VfaWQiOiJiZTRiOWMxNi1mOGEyLTQ3YjktYmZhMy04MzNmYTViNzBlMDAiLCJvcmRlciI6NDQ0MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubGZ3YWxsZXQuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJsZndhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGZsYWJzLmZ1bmQvd2FsbGV0In0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI2Mjg5ODc4YTJlZjhjNDk5NDRjZjQyODE4NGJiYTYyNmIxNjFiMDk3NGYwYjRmOGIzMWExNWUwMzE3ZDg4NjFjIjp7ImlkIjoiNjI4OTg3OGEyZWY4YzQ5OTQ0Y2Y0MjgxODRiYmE2MjZiMTYxYjA5NzRmMGI0ZjhiMzFhMTVlMDMxN2Q4ODYxYyIsIm5hbWUiOiJJRCBQb2NrZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vcmt0ZWNod29ya3MuY29tL2lkcG9ja2V0IiwiaW1hZ2VfaWQiOiJjMjI3ZWUwYS01MTI3LTQ3MDctZGVkOS1jM2NkODEzNDhkMDAiLCJvcmRlciI6NDQ1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2lkLXBvY2tldC9pZDE1NDk0NjIxMjgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5ya3RlY2h3b3Jrcy5pZHBvY2tldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjJjNzI0Y2Q3ZTc0NTAxNmU2ZTRhY2NjZWJkY2M0OTQ2NGUxM2VjMTdlZTIzMTQxYzRmYjJmZTgwMDRiZTI1MDQiOnsiaWQiOiIyYzcyNGNkN2U3NDUwMTZlNmU0YWNjY2ViZGNjNDk0NjRlMTNlYzE3ZWUyMzE0MWM0ZmIyZmU4MDA0YmUyNTA0IiwibmFtZSI6IldhbGxhY3kiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGFjeS5pbyIsImltYWdlX2lkIjoiOTQ5NmMzZDgtOGI2MC00OTVmLWJkNTUtYzNhZjE5NTE5ZDAwIiwib3JkZXIiOjQ0NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC93YWxsYWN5LWNyeXB0by1idGMtd2FsbGV0L2lkNjQ0ODU5MjU3NiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8ud2FsbGFjeS5jcnlwdG93YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IndhbGxhY3k6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IndhbGxhY3k6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9fSwiY2E1N2I2OWY4MzcxNDk3NTE0MzE3NjViOGNkNGVkOTRlYzhmMzczMGI4MDIwMzU3NjRlY2YzNTA1YjU5NzQwOSI6eyJpZCI6ImNhNTdiNjlmODM3MTQ5NzUxNDMxNzY1YjhjZDRlZDk0ZWM4ZjM3MzBiODAyMDM1NzY0ZWNmMzUwNWI1OTc0MDkiLCJuYW1lIjoiVVBUTiIsImhvbWVwYWdlIjoiaHR0cHM6Ly9kYXBwLXdlYi51cHRuLmlvIiwiaW1hZ2VfaWQiOiI1ZTY1NmMzZS05NmFlLTQ4NGYtYzBjNi0zN2JjOTA4ZGFhMDAiLCJvcmRlciI6NDQ4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20va3IvYXBwL2lkNjQ0NDYwNjc1OCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8udXB0bi53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InVwdG46Ly9kYXBwLXdlYi51cHRuLmlvLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjk3YmYzODY0MzIyY2U4MTI2MmRmOWE0MGI5YTBmZGNiNTA0ZTczN2FkOTAwYmZlOGVmNDc3MTA3Mjk0NTZjZSI6eyJpZCI6IjI5N2JmMzg2NDMyMmNlODEyNjJkZjlhNDBiOWEwZmRjYjUwNGU3MzdhZDkwMGJmZThlZjQ3NzEwNzI5NDU2Y2UiLCJuYW1lIjoiRUNPSU4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2Vjb2lud2FsbGV0Lm9yZyIsImltYWdlX2lkIjoiOTYzOWMyNjMtZDU5MC00ODYyLWJhOWYtZDVjN2MxODc4ZDAwIiwib3JkZXIiOjQ0OTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b3JnLmVjb2lud2FsbGV0JnJlZmVycmVyPXV0bV9zb3VyY2UlM0R3YWxsZXRjb25uZWN0JTI2dXRtX21lZGl1bSUzRHJlb3duJTI2dXRtX2NvbnRlbnQlM0RsaW5rIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJlY29pbndhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZWNvaW53YWxsZXQub3JnL2xpbmsifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImZkMTdhM2UyMWNkNTQ2YTllM2QzZjFlYzlmZjdjZTc3NjA5NzhjMjU3OWI4ZDBiYjYxNDRjNTBiY2ExNmI4NmMiOnsiaWQiOiJmZDE3YTNlMjFjZDU0NmE5ZTNkM2YxZWM5ZmY3Y2U3NzYwOTc4YzI1NzliOGQwYmI2MTQ0YzUwYmNhMTZiODZjIiwibmFtZSI6IldhbGkgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwOi8vd2FsaS5uZXR3b3JrIiwiaW1hZ2VfaWQiOiI4ZjlkMGE3Yi03ODM2LTQ4Y2QtOTk1Ny0yYmFkNDNlOTQyMDAiLCJvcmRlciI6NDUwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6IiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndhbGkud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ3YWxpOi8vd2FsaS5uZXR3b3JrIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJlNmRiMTQ0MjQ2MThjZjMwOTY5N2ViNTBkYzMzMGVjMThiMGFkNjMzOTVmNWFjNDY2OTIzMzcxNmRmNWMxOGJlIjp7ImlkIjoiZTZkYjE0NDI0NjE4Y2YzMDk2OTdlYjUwZGMzMzBlYzE4YjBhZDYzMzk1ZjVhYzQ2NjkyMzM3MTZkZjVjMThiZSIsIm5hbWUiOiJCaXR2ZXJzZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYml0dmVyc2Uuem9uZSIsImltYWdlX2lkIjoiNTg1MWM1ODUtMGYyYi00MWExLWEzNmEtMjIxYTE4YWY1MjAwIiwib3JkZXIiOjQ1MzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC8xNjQ1NTE1NjE0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYml0dmVyc2UuYXBwJnBsaT0xIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvYml0dmVyc2Utd2FsbGV0L2drZWVsbmRibG5vbWZtam5vcGhiaGZoY2piY25lbWthIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYml0dmVyc2VhcHA6Ly9vcGVuL3dhbGxldCIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYml0dmVyc2VhcHAucGFnZS5saW5rLz9hcG49Y29tLmJpdHZlcnNlLmFwcCZhZmw9aHR0cHM6Ly9iaXR2ZXJzZS56b25lL2Rvd25sb2FkP2RlZXBsaW5rJTNEYml0dmVyc2VhcHA6Ly9vcGVuL3dhbGxldCZpc2k9MTY0NTUxNTYxNCZpYmk9Y29tLmJpdHZlcnNlLmFwcCZsaW5rPWh0dHBzOi8vYml0dmVyc2Uuem9uZS9kb3dubG9hZD9kZWVwbGluayUzRGJpdHZlcnNlYXBwOi8vb3Blbi93YWxsZXQ/dXJpPSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjg0ZWMyNzc5ODFhOTkzZTgwZDRjMDI5NjBlM2JhOGU4OTAyN2I2ODQ4ZWMzMDRkYzdkZTQ4NjUxZTRiZDM1M2EiOnsiaWQiOiI4NGVjMjc3OTgxYTk5M2U4MGQ0YzAyOTYwZTNiYThlODkwMjdiNjg0OGVjMzA0ZGM3ZGU0ODY1MWU0YmQzNTNhIiwibmFtZSI6IlJldW5pdCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ldmVyeXdoZXJlLmZpbmFuY2UiLCJpbWFnZV9pZCI6Ijk4ZWQzNTdmLTFlMmQtNDY3OS0wZTc4LTExMDBmNzU5NDAwMCIsIm9yZGVyIjo0NTQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9yZXVuaXQvbmxjY2NnY2Vkb2xlZWhkaWNwbmxuamVjY25sZmtlbWgiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoicmV1bml0V2FsbGV0IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImQ2OTg3N2U1MGM0YWEyMzYwZDcyMzA2NTcxNjYwOWYxZTI2OThlNDVmYzIxMDQzOGRhOGMzMjViNjU5MjI3MzUiOnsiaWQiOiJkNjk4NzdlNTBjNGFhMjM2MGQ3MjMwNjU3MTY2MDlmMWUyNjk4ZTQ1ZmMyMTA0MzhkYThjMzI1YjY1OTIyNzM1IiwibmFtZSI6Ik1QQ1ZhdWx0IHwgVGVhbSBjcnlwdG8gd2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL21wY3ZhdWx0LmNvbSIsImltYWdlX2lkIjoiM2NiZjcxZWEtYzkwYi00MjdjLTZiMmMtYTlhN2M3YzBkNTAwIiwib3JkZXIiOjQ1NjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jb25zb2xlLm1wY3ZhdWx0LmNvbSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL21wY3ZhdWx0L2lkMTYyMjc1NjQ1OCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm1wY3ZhdWx0Lm1vYmlsZWFwcC5hbmRyb2lkIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9tcGN2YXVsdC9qZ2ZtZnBsb2ZqaWdqZm9raWdkaWFpaWJob25mbmVkaiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20ubXBjdmF1bHQuYnJvc3dlcnBsdWdpbiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb20ubXBjdmF1bHQubW9iaWxlYXBwOi8vd2NjYWxsYmFjayIsInVuaXZlcnNhbCI6Imh0dHBzOi8vdWxpbmsubXBjdmF1bHQuY29tL3djY2FsbGJhY2sifSwiZGVza3RvcCI6eyJuYXRpdmUiOiJjb20ubXBjdmF1bHQubW9iaWxlYXBwOi8vd2NjYWxsYmFjayIsInVuaXZlcnNhbCI6Imh0dHBzOi8vY29uc29sZS5tcGN2YXVsdC5jb20ifX0sIjAwZWU3YjBkNWM0N2ZhMTIxNDJiMzdjMWNmM2E2YTg0N2ZkZDI3N2MyM2QyZjQwZmVhNDVjMWQ1MTY2ZTAwODQiOnsiaWQiOiIwMGVlN2IwZDVjNDdmYTEyMTQyYjM3YzFjZjNhNmE4NDdmZGQyNzdjMjNkMmY0MGZlYTQ1YzFkNTE2NmUwMDg0IiwibmFtZSI6IlBFQUtERUZJIiwiaG9tZXBhZ2UiOiJodHRwczovL3BlYWtkZWZpLmNvbS8iLCJpbWFnZV9pZCI6IjkxODAwNmUyLTJmNmQtNDIzMy0wZTcyLTEwYzJjYWFlZDUwMCIsIm9yZGVyIjo0NTcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5wZWFrZGVmaXdhbGxldCZwbGk9MSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjQyN2VmYzkxNjliMTNhMzQ4ZDk4ZDM0ZTQwMzAzNTQ2YTNlNzM1MmQ3MjVjMDZiOTM1Njg4MmEyNjc3M2IxYTMiOnsiaWQiOiI0MjdlZmM5MTY5YjEzYTM0OGQ5OGQzNGU0MDMwMzU0NmEzZTczNTJkNzI1YzA2YjkzNTY4ODJhMjY3NzNiMWEzIiwibmFtZSI6Ik11bHRpeCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9tdWx0aXguY2hhaW5zYWZlLmlvIiwiaW1hZ2VfaWQiOiJmN2I3ZTg2NC0yOWE3LTQxYzItMzZiMC1jOTZlZjkyMmRhMDAiLCJvcmRlciI6NDU4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL211bHRpeC5jaGFpbnNhZmUuaW8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOiJodHRwczovL211bHRpeC5jaGFpbnNhZmUuaW8iLCJjaHJvbWUiOiJodHRwczovL211bHRpeC5jaGFpbnNhZmUuaW8iLCJmaXJlZm94IjoiaHR0cHM6Ly9tdWx0aXguY2hhaW5zYWZlLmlvIiwic2FmYXJpIjoiaHR0cHM6Ly9tdWx0aXguY2hhaW5zYWZlLmlvIiwiZWRnZSI6Imh0dHBzOi8vbXVsdGl4LmNoYWluc2FmZS5pbyIsIm9wZXJhIjoiaHR0cHM6Ly9tdWx0aXguY2hhaW5zYWZlLmlvIn0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6InNpZ24iLCJuYW1lc3BhY2UiOiJwb2xrYWRvdCJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vbXVsdGl4LmNoYWluc2FmZS5pbyJ9fSwiMzZkYmQ3ZjgyZGY3OGY0MDY3MjNlYjcxNTk5NjQwZmJiZjcwM2IyNTgzNjgyYmExZTQxOWE5MDk4YTJkNDk0NSI6eyJpZCI6IjM2ZGJkN2Y4MmRmNzhmNDA2NzIzZWI3MTU5OTY0MGZiYmY3MDNiMjU4MzY4MmJhMWU0MTlhOTA5OGEyZDQ5NDUiLCJuYW1lIjoiU3RyaWtlWCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdHJhZGVzdHJpa2UuaW8vIiwiaW1hZ2VfaWQiOiJmODE2NDJlNC0yMzU1LTQ1NGEtMjVmNS03MmUyN2YyYzZmMDAiLCJvcmRlciI6NDU5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3N0cmlrZXgtd2FsbGV0L2lkNjQ0MzUxNzYxMyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnRyYWRlc3RyaWtlIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzdHJpa2V4Oi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI2NmIyMGY1MDhmNTYxYjdjNTQ2MDJmMjIxYjFmOWQ4ZDQzYmQxZGY1Y2I1ZDZlZTYwYjI4MDhkZGNlOWUxOTZiIjp7ImlkIjoiNjZiMjBmNTA4ZjU2MWI3YzU0NjAyZjIyMWIxZjlkOGQ0M2JkMWRmNWNiNWQ2ZWU2MGIyODA4ZGRjZTllMTk2YiIsIm5hbWUiOiJLZXkzIiwiaG9tZXBhZ2UiOiJodHRwczovL2tleTMuYWkiLCJpbWFnZV9pZCI6Ijc2YmRhNzk3LWQzZTctNGRmZS1jY2YyLWE5NDBjNWU4YTcwMCIsIm9yZGVyIjo0NjAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva2V5My1jcnlwdG8td2FsbGV0LWtleWJvYXJkL2lkNjc0Mjg0NzA5MSIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLmV4YW1wbGUuc3ViZG9tYWluIiwibW9iaWxlIjp7Im5hdGl2ZSI6IndhbGxldGFwcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LmtleTMuYWkvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYzE2ZTBlMTcyZmU4MGViZGMyNmJjZGM5ZDI0ZDk2MmI3YTk0NzRiNmRiOGNlOWU2YjIwMjJlODYxOTU3MjhjZCI6eyJpZCI6ImMxNmUwZTE3MmZlODBlYmRjMjZiY2RjOWQyNGQ5NjJiN2E5NDc0YjZkYjhjZTllNmIyMDIyZTg2MTk1NzI4Y2QiLCJuYW1lIjoiRmx1dHRlciBTYW1wbGUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2xhYi5yZW93bi5jb20vZmx1dHRlcl93YWxsZXRraXQiLCJpbWFnZV9pZCI6ImUyYjYyZjE2LTRlZWEtNGViZC0xMDI5LWViZmM2ZDA3ZGUwMCIsIm9yZGVyIjo0NjEwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vdGVzdGZsaWdodC5hcHBsZS5jb20vam9pbi9BQmJqTDlZdSIsImFuZHJvaWQiOiJodHRwczovL2FwcGRpc3RyaWJ1dGlvbi5maXJlYmFzZS5kZXYvaS84NjMxMWQzYzFjYWY4ZWE5IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ3Y2ZsdXR0ZXJ3YWxsZXQtaW50ZXJuYWw6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2xhYi5yZW93bi5jb20vZmx1dHRlcl93YWxsZXRraXRfaW50ZXJuYWwifSwiZGVza3RvcCI6eyJuYXRpdmUiOiJ3Y2ZsdXR0ZXJ3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2xhYi53ZWIzbW9kYWwuY29tL3dhbGxldGtpdF9mbHV0dGVyIn19LCJiZjg0MmMxZTFlNzI5MjgyNTgzYzRjNTNkNWNkNmJiMDFkNzY4NWFlODM2MWZhMjBiZGZhOWE4NDNhZDJlNDZmIjp7ImlkIjoiYmY4NDJjMWUxZTcyOTI4MjU4M2M0YzUzZDVjZDZiYjAxZDc2ODVhZTgzNjFmYTIwYmRmYTlhODQzYWQyZTQ2ZiIsIm5hbWUiOiJEYWlseSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LmRhaWx5Y2hhaW4ub3JnIiwiaW1hZ2VfaWQiOiI4YjU0YmJjNS01ZDM5LTQyNTEtOWI2OS1jZGUwNzBiYmQwMDAiLCJvcmRlciI6NDYyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ud2FsbGV0LmRhaWx5IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJkYWlseXdhbGxldDovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZGU5ZTg0MjE5NjFlMzVjNWUzNWNiNjNlM2NkN2JlOWFmMzI4YTYyYzdiNWExMWY5NWNhMTE2YmYxMjhhNzQyNCI6eyJpZCI6ImRlOWU4NDIxOTYxZTM1YzVlMzVjYjYzZTNjZDdiZTlhZjMyOGE2MmM3YjVhMTFmOTVjYTExNmJmMTI4YTc0MjQiLCJuYW1lIjoiS29uaW8iLCJob21lcGFnZSI6Imh0dHBzOi8va29uaW8uaW8iLCJpbWFnZV9pZCI6IjMwNWRhZGIxLTM5NWUtNGNhOC1kNGQwLWQ4YWQwY2MzNzAwMCIsIm9yZGVyIjo0NjMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAva29uaW8vaWQ2NDUzNTYxMzQyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYWRyaWhva2Uua29uaW8iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImtvbmlvOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9rb25pby5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImE3N2VhZjY1MDk3NzRiNzgwYjIyZjY3OGZhMTUxNjhjNGUxMmY3MWY3ZWIzMTAyZWRmODUxMTJhMjIyYmI1MDMiOnsiaWQiOiJhNzdlYWY2NTA5Nzc0Yjc4MGIyMmY2NzhmYTE1MTY4YzRlMTJmNzFmN2ViMzEwMmVkZjg1MTEyYTIyMmJiNTAzIiwibmFtZSI6IkRva3dhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZG9rd2FsbGV0LmNvbSIsImltYWdlX2lkIjoiNTcwN2YzNWUtMTdhMS00MmIzLTM1YzUtNjY0Zjc2NTVjZDAwIiwib3JkZXIiOjQ2NDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93d3cuZG9rd2FsbGV0LmFwcCIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vaWwvYXBwL2Rva3dhbGxldC1jcnlwdG8td2FsbGV0L2lkMTUzMzA2NTcwMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmRvay53YWxsZXQmcGxpPTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImRva3dhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LmRva3dhbGxldC5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIyOTM3ZTNkZDgwY2U5OTQyY2RiNjVhNzBiY2M5YzAzNDg5NDA0ZDFiZDgyMmI5ZDljMjk1MDY4MTg5OGI1ZjEwIjp7ImlkIjoiMjkzN2UzZGQ4MGNlOTk0MmNkYjY1YTcwYmNjOWMwMzQ4OTQwNGQxYmQ4MjJiOWQ5YzI5NTA2ODE4OThiNWYxMCIsIm5hbWUiOiJQbHVtYWEgSUQiLCJob21lcGFnZSI6Imh0dHBzOi8vcGx1bWFhLmlkIiwiaW1hZ2VfaWQiOiJkZDYyNzFhYy1mOWJhLTQ1ODAtNGRiMi00ODRiZjRkMGZjMDAiLCJvcmRlciI6NDY1MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC5wbHVtYWEuaWQiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL214L2FwcC9wbHVtYWEtaWQvaWQ2NDc1MjY5MjA3IiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJwbHVtYWE6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwaS5wbHVtYWEuaWQvYXBwLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6InBsdW1hYTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBpLnBsdW1hYS5pZC9hcHAvIn19LCJkNWZhNWIyZWY1NWVlMTgzZGU5OWIzNGI3OTBjMmI0OTY2ZTY0MWIyYTMyNDI3YWIzMzIxYzg5ZmIxZmFlMWFkIjp7ImlkIjoiZDVmYTViMmVmNTVlZTE4M2RlOTliMzRiNzkwYzJiNDk2NmU2NDFiMmEzMjQyN2FiMzMyMWM4OWZiMWZhZTFhZCIsIm5hbWUiOiJLR2VOIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9rZ2VuLmlvLyIsImltYWdlX2lkIjoiNzdiNGI4MDYtZDE3ZS00YjI0LTU5N2MtYmMxMWMwYTg4MTAwIiwib3JkZXIiOjQ2NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC9rZ2VuL2lkNjQ3ODkwMjUxMSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmluZGlnZ2NvbW11bml0eSZobD1lbl9JTiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoia2dlbjovL2FwcC93YWxsZXQiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjcxNjE4N2Q0MDFmYjE1NmIwOGIyMjJiM2E2MjQ5MDJjZjA2ZTNhYjVkNGRjN2Q3ZGZjYzM3NTcyMzU5ZTZkOWQiOnsiaWQiOiI3MTYxODdkNDAxZmIxNTZiMDhiMjIyYjNhNjI0OTAyY2YwNmUzYWI1ZDRkYzdkN2RmY2MzNzU3MjM1OWU2ZDlkIiwibmFtZSI6IlNxdWlycmVsIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuc3F1aXJyZWx3YWxsZXQuY29tLyIsImltYWdlX2lkIjoiMmQ5NmY0NjEtZmY0MC00MTE4LWVmMDktODEwYzQ1Mzc2MjAwIiwib3JkZXIiOjQ2NzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2NhL2FwcC9zcXVpcnJlbC13YWxsZXQvaWQ2NzM5NjMwMTI4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uc3F1aXJyZWx3YWxsZXQuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzcXVpcnJlbC13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImU2ODAzOGMzMmRlNGZmMDRkN2NiMTc0N2UxZDgzYWFiNWQ1OTg5MmJiYTIzZTFlNDdkMDFjYTNlZTdiNTA1YjQiOnsiaWQiOiJlNjgwMzhjMzJkZTRmZjA0ZDdjYjE3NDdlMWQ4M2FhYjVkNTk4OTJiYmEyM2UxZTQ3ZDAxY2EzZWU3YjUwNWI0IiwibmFtZSI6IlNTUCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zc3B3YWxsZXQuaW8iLCJpbWFnZV9pZCI6ImUwYzAxZTY0LTVjYjEtNDQ1OC1jOGI3LWFmYWU2NGZiNGMwMCIsIm9yZGVyIjo0NjgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3NzcC13YWxsZXQvbWdmYmFiY25lZGNlamtmaWJwYWZhZGdraG1raWZoYmQiLCJmaXJlZm94IjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9hZGRvbi9zc3Atd2FsbGV0Iiwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiaW8ucnVub25mbHV4LnNzcHdhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImI3ZTM4ZGE2NWEzYTdjMDFjOWYxOGM4OTY0MDdmOWQ4ZWUwMjUyYWI2NWIyNmE1NjQ0MDVkODQ2YjhiOGIxNWQiOnsiaWQiOiJiN2UzOGRhNjVhM2E3YzAxYzlmMThjODk2NDA3ZjlkOGVlMDI1MmFiNjViMjZhNTY0NDA1ZDg0NmI4YjhiMTVkIiwibmFtZSI6IkJpdERvZyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vYml0LWRvZy5jb20vIiwiaW1hZ2VfaWQiOiI5YjJkMTE4Zi0xZGU3LTQ3NDItYmRjYy1jYWM4ZDE1NTcxMDAiLCJvcmRlciI6NDY5MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2JpdGRvZ3dhbGxldC5jb20vIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vYml0ZG9nd2FsbGV0LmNvbS8ifX0sIjkwMzRkNTQ5ODU4MDdhYWYzZDc3ODBmNTBmMTU1Zjk1NGRhYTQ2OGZiNThkN2IxNGIyMTZmYzc5ZDY4YmJkMTQiOnsiaWQiOiI5MDM0ZDU0OTg1ODA3YWFmM2Q3NzgwZjUwZjE1NWY5NTRkYWE0NjhmYjU4ZDdiMTRiMjE2ZmM3OWQ2OGJiZDE0IiwibmFtZSI6IlF1YmljIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93YWxsZXQucXViaWMuYXBwIiwiaW1hZ2VfaWQiOiI1MzVjOTFhNS1hNDNjLTQxMDQtMjMzYy00Mzk0NDlmZmNkMDAiLCJvcmRlciI6NDcwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dhbGxldC5xdWJpYy5hcHAiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9xdWJpYy0lRTYlOUMlODAlRTclQjAlQTElRTUlOTYlQUUlRTQlQjglOEElRTYlODklOEIlRTclOUElODQlRTglOTklOUIlRTYlOTMlQUMlRTglQjIlQTglRTUlQjklQTMlRTklOEMlQTIlRTUlOEMlODUvaWQxNTYzOTg3OTg4P2l0c2N0PWFwcHNfYm94X2xpbmsmaXRzY2c9MzAyMDAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5xdWJpYy53YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6InF1YmljOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQucXViaWMuYXBwIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQucXViaWMuYXBwIn19LCIzOTQ2MzFjOTZmMmMzMjAxZmZkNWIzZjNmMjQ5MDI4MTYzYTg5M2FlMmZmOTA3Njg4MjM1MGU3MGYzNDUwY2IwIjp7ImlkIjoiMzk0NjMxYzk2ZjJjMzIwMWZmZDViM2YzZjI0OTAyODE2M2E4OTNhZTJmZjkwNzY4ODIzNTBlNzBmMzQ1MGNiMCIsIm5hbWUiOiJTYWFrdXJ1IEFsbC1pbi1PbmUgY3J5cHRvIEFwcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hcHAuc2Fha3VydS5jb20iLCJpbWFnZV9pZCI6ImJiOTEyMGY5LTk3NTctNGFhZS0wMzc4LTNlNGRjMmY4MjEwMCIsIm9yZGVyIjo0NzEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vZ2V0bWV0YS5vbmUvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc2Fha3VydS1hbGwtaW4tb25lLWNyeXB0by1hcHAvaWQxNjI3MjEyODEyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD12ZW50dXJlcy5hYWcubWV0YW9uZSIsIm1hYyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vbHQvYXBwL3NhYWt1cnUtYWxsLWluLW9uZS1jcnlwdG8tYXBwL2lkMTYyNzIxMjgxMiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im1ldGFvbmU6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9nZXRtZXRhLm9uZS8ifX0sIjA5MDQ0N2E4Y2UxMWYxZjU1ZjMwMTZmZTkzMzA0NGI2ZTA2Y2IyMWZiZjU3ZDkwMmU3Y2NjMjA3ODkyYjg2YzYiOnsiaWQiOiIwOTA0NDdhOGNlMTFmMWY1NWYzMDE2ZmU5MzMwNDRiNmUwNmNiMjFmYmY1N2Q5MDJlN2NjYzIwNzg5MmI4NmM2IiwibmFtZSI6IlIwQVIgTW9iaWxlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cucjBhci5pby8iLCJpbWFnZV9pZCI6ImE4MjM5Yjc2LTk4NzctNDgwOS1jMjllLWQxMzkyYjZmNGUwMCIsIm9yZGVyIjo0NzIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcjBhci13YWxsZXQvaWQ2NzQ1NDE3MDI2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucm9hcl93YWxsZXQmcGxpPTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InJvYXJ3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjJmYWZlYTM1YmI0NzFkMjI4ODljY2I0OWMwOGQ5OWRkMGExOGEzNzk4MjYwMmMzM2Y2OTZhNTcyMzkzNGJhMjUiOnsiaWQiOiIyZmFmZWEzNWJiNDcxZDIyODg5Y2NiNDljMDhkOTlkZDBhMThhMzc5ODI2MDJjMzNmNjk2YTU3MjM5MzRiYTI1IiwibmFtZSI6IkJpbmFuY2UgV2FsbGV0IChCaXRjb2luKSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYmluYW5jZS5jb20vZW4vd2ViM3dhbGxldCIsImltYWdlX2lkIjoiZWJhYzdiMzktNjg4Yy00MWUzLTc5MTItYTRmZWZiYTc0NjAwIiwib3JkZXIiOjQ3MzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2VuL2Rvd25sb2FkIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLmJpbmFuY2Uud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiNTY1YzViZjRjNDZiNGUxOTQ1ODY3ZDhkZjcyMjQ3M2VlOGFkYzgxMmMxMGQzOWRhNTBjMmZjYTRhZmQxODcyNiI6eyJpZCI6IjU2NWM1YmY0YzQ2YjRlMTk0NTg2N2Q4ZGY3MjI0NzNlZThhZGM4MTJjMTBkMzlkYTUwYzJmY2E0YWZkMTg3MjYiLCJuYW1lIjoiVzMgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3czd2FsbGV0LmFwcCIsImltYWdlX2lkIjoiMmYyZDEzMDktZGU3Mi00NjhiLTNjMDQtNzdkMGI5Y2Q4NTAwIiwib3JkZXIiOjQ3NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2dlL2FwcC93My13YWxsZXQtbWFuYWdlLWNyeXB0by9pZDY2NzAyMTE3ODAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC53M3dhbGxldC53M3dhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidzN3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjM0NGQwZTU4YjEzOWViMWI2ZGEwYzI5ZWE3MWQ1MmE4ZWFjZThiNTc4OTdjNjA5OGNiOWI0NjAxMjY2NWMxOTMiOnsiaWQiOiIzNDRkMGU1OGIxMzllYjFiNmRhMGMyOWVhNzFkNTJhOGVhY2U4YjU3ODk3YzYwOThjYjliNDYwMTI2NjVjMTkzIiwibmFtZSI6IlRpbWVsZXNzIFgiLCJob21lcGFnZSI6Imh0dHBzOi8vdGltZWxlc3N3YWxsZXQueHl6IiwiaW1hZ2VfaWQiOiI5MmYxZWFkNC0wYmM0LTQ5MzItMTBkMy03NjFjNTA5YjRkMDAiLCJvcmRlciI6NDc1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3RpbWVsZXNzLXgvaWQ2NDcwMTgwNjAwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD14eXoudGltZWxlc3N3YWxsZXQuYWEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9pZmNwa2RnY2djZXBqZGtmY29nZWhwbmhwaXBlamdobyIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc1RpbWVsZXNzWCIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InRpbWVsZXNzLXg6Ly9jb25uZWN0IiwidW5pdmVyc2FsIjoiaHR0cHM6Ly90aW1lbGVzc3dhbGxldC54eXoveCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjUzMWRmOWM1YmQ1MzQzZTBjM2Q5MzgzYTI1MzAxNTcyNjk5YThhZDBjY2ZjNTU5ODRiMzc5ZjQwMGE3YTA1MmUiOnsiaWQiOiI1MzFkZjljNWJkNTM0M2UwYzNkOTM4M2EyNTMwMTU3MjY5OWE4YWQwY2NmYzU1OTg0YjM3OWY0MDBhN2EwNTJlIiwibmFtZSI6Ik5WWE8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5udnhvd2FsbGV0LmNvbSIsImltYWdlX2lkIjoiZGM5MDMzMzUtZmM5NS00YzUxLTliOTktOWU3NjcxYzFhYzAwIiwib3JkZXIiOjQ3NjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93d3cubnZ4b3dhbGxldC5jb20iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9udnhvLXdhbGxldC1jcnlwdG8tYnRjL2lkNjc0MTQ2NzI4MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm52d2FsbGV0LndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoibnZ4b3dhbGxldDovL3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cubnZ4b3dhbGxldC5jb20vd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5udnhvd2FsbGV0LmNvbSJ9fSwiZjMzNzlkNGFjMTEyYjc1Y2U4MDIyMmQ2ZTBkMThmMzY2NjdjODcwODZmYTY1YjZkMTBmMTE4ODE1ZDIyNDk0MCI6eyJpZCI6ImYzMzc5ZDRhYzExMmI3NWNlODAyMjJkNmUwZDE4ZjM2NjY3Yzg3MDg2ZmE2NWI2ZDEwZjExODgxNWQyMjQ5NDAiLCJuYW1lIjoiUGlsbGFyIiwiaG9tZXBhZ2UiOiJodHRwczovL3BpbGxhci5maSIsImltYWdlX2lkIjoiODc3MzcxNzAtZjc5Zi00MzU5LTMzOGItN2MzMDg1NmM5ZjAwIiwib3JkZXIiOjQ3NzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9hcHBsZS1zdG9yZS9pZDEzNDY1ODIyMzg/cHQ9MTE4ODc4NTM1JmN0PXBpbGxhci5maSZtdD04IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucGlsbGFycHJvamVjdC53YWxsZXQmcmVmZXJyZXI9dXRtX3NvdXJjZSUzRHBpbGxhci5maSUyNnV0bV9tZWRpdW0lM0Rkb3dubG9hZCUyNnV0bV9jYW1wYWlnbiUzRGFuZHJvaWQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InBpbGxhcndhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiN2YzNDQ5YWZkMDUxNjg0NTIzNmM0ZjE1ZjczY2YzZTEwNmNiNTcwNmEzNDlhOGQ2ZDdlMTQ5MGI5YzJjYjBkYSI6eyJpZCI6IjdmMzQ0OWFmZDA1MTY4NDUyMzZjNGYxNWY3M2NmM2UxMDZjYjU3MDZhMzQ5YThkNmQ3ZTE0OTBiOWMyY2IwZGEiLCJuYW1lIjoiS290bGluIFNhbXBsZSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZG9jcy5yZW93bi5jb20vd2FsbGV0a2l0L2FuZHJvaWQvaW5zdGFsbGF0aW9uIiwiaW1hZ2VfaWQiOiJmYmE3YjIyNS01MDFkLTQzZmUtZWQ0MC02MGNlMjM4YzJiMDAiLCJvcmRlciI6NDc4MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9naXRodWIuY29tL3Jlb3duLWNvbS9yZW93bi1rb3RsaW4iLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImtvdGxpbi13ZWIzd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHBraXQtbGFiLnJlb3duLmNvbS93YWxsZXRfaW50ZXJuYWwifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjIxYjA3MTcwNWE5YjlkZTE2NDZlNmEzYTBlODk0ZDgwN2QwZmE0YTIwOGU4OGZjMDAzZWUwNTYwMjFmMjA4ZTEiOnsiaWQiOiIyMWIwNzE3MDVhOWI5ZGUxNjQ2ZTZhM2EwZTg5NGQ4MDdkMGZhNGEyMDhlODhmYzAwM2VlMDU2MDIxZjIwOGUxIiwibmFtZSI6IkFwb2xsb1giLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmFwb2xsb3guY29tL2VuIiwiaW1hZ2VfaWQiOiI4MGFiNjNhMi0xYjMyLTQxNDAtMzU3Ny05ZmJjOGVhODJlMDAiLCJvcmRlciI6NDc5MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5hcG9sbG94LmNvbS9lbiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2FweC1hcG9sbG94L2lkMTU4OTQwNTM5OCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmFwb2xsb3guYW5kcm9pZCIsIm1hYyI6Imh0dHBzOi8vd3d3LmFwb2xsb3guY29tL2VuIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5hcG9sbG94LmZpbmFuY2UifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmFwb2xsb3guZmluYW5jZSJ9fSwiZGNjYmQ3MTdkZjc3YjM5NTQ0NWNjNjA4MGUwMWZmZmFkYTlkOGI5MmRhY2ZkYTMxMmEyNmM3MGMyZTlhZjY3MyI6eyJpZCI6ImRjY2JkNzE3ZGY3N2IzOTU0NDVjYzYwODBlMDFmZmZhZGE5ZDhiOTJkYWNmZGEzMTJhMjZjNzBjMmU5YWY2NzMiLCJuYW1lIjoiTnVmaW5ldGVzIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5udWZpbmV0ZXMuY29tIiwiaW1hZ2VfaWQiOiI0YmI2YzFjYS00MTk2LTRiYTMtZWNlMi1jM2QzMzVlMWY4MDAiLCJvcmRlciI6NDgwMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5udWZpbmV0ZXMuY29tIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbnVmaW5ldGVzL2lkMTYwOTU2MjM0OSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbXdvcmxkLndhbGxldCIsIm1hYyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL251ZmluZXRlcy1kZXNrdG9wL2lkMTYyOTc2ODcyNSIsIndpbmRvd3MiOiJodHRwczovL2QzdmE5ZjZqZ200ejJ5LmNsb3VkZnJvbnQubmV0L251ZmluZXRlcy1wcm9kL051ZmluZXRlc19XaW5kb3dzX2xhdGVzdC5leGUiLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ2aW13YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcGxlLnZpbXdvcmxkLm9yZyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6InZpbXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3Lm51ZmluZXRlcy5jb20ifX0sImM3YTc3MjFjZjRiNmRlYjMxMWU5YjJlNGJjMmViZjA3ZWYwNWQ4MTgxNDlmZDM3M2JmYjc4NWZhNDcwODg4MjMiOnsiaWQiOiJjN2E3NzIxY2Y0YjZkZWIzMTFlOWIyZTRiYzJlYmYwN2VmMDVkODE4MTQ5ZmQzNzNiZmI3ODVmYTQ3MDg4ODIzIiwibmFtZSI6IkRyb3BtYXRlIiwiaG9tZXBhZ2UiOiJodHRwczovL2Ryb3BtYXRlLmZpIiwiaW1hZ2VfaWQiOiJiZjE5ZmU0Yi1kNzEyLTQ1ZTgtOTVmMi1iN2JlMzZlNGM0MDAiLCJvcmRlciI6NDgxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vdGVzdGZsaWdodC5hcHBsZS5jb20vam9pbi9LSE9NdHFFNCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9YXBwLmRyb3BtYXRlIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJkcm9wbWF0ZTovL2FwcCIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNGE0ZGU4OWI4OTQ3MzdjZDk5ZmU4NTdjMzI1M2RhNTQ3NzNjMDkzYjY3MzgxYTVjZDYzNzIzNTQzZTg4OGE1NCI6eyJpZCI6IjRhNGRlODliODk0NzM3Y2Q5OWZlODU3YzMyNTNkYTU0NzczYzA5M2I2NzM4MWE1Y2Q2MzcyMzU0M2U4ODhhNTQiLCJuYW1lIjoiTm9kbGUiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lm5vZGxlLmNvbS9wcm9kdWN0cy9jYXNoX2FwcCIsImltYWdlX2lkIjoiMzliYWRiNWMtYWRlYi00MTg4LWM4MDMtYTYzYTVjZmZkZjAwIiwib3JkZXIiOjQ4MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9ub2RsZS1hcHAtdG8tZWFybi1jcnlwdG8vaWQxNDgwNzYzNTUzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5ub2RsZS5jYXNoIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJub2RsZTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNTBkZjdkYTM0NWY4NGU1YTc5YWFmNjE3ZGY1MTY3MzM1YTRiNjc1MTYyNmRmMmU4YTM4ZjA3MDI5YjNkZGU3YiI6eyJpZCI6IjUwZGY3ZGEzNDVmODRlNWE3OWFhZjYxN2RmNTE2NzMzNWE0YjY3NTE2MjZkZjJlOGEzOGYwNzAyOWIzZGRlN2IiLCJuYW1lIjoiS3JpcHRvbmlvIiwiaG9tZXBhZ2UiOiJodHRwczovL2tyaXB0b25pby5jb20iLCJpbWFnZV9pZCI6IjMzMWU1N2QzLWQxNTctNGJjMy04ZWE1LTQ4YTAzZjcwNWUwMCIsIm9yZGVyIjo0ODMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8va3JpcHRvbmlvLmNvbSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vaHIvYXBwL2tyaXB0b25pby9pZDY0NDQ4MDczNjEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5rcmlwdG9uaW8ubW9iaWxlLmFuZHJvaWQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImtyaXB0b25pbzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmtyaXB0b25pby5jb20vbW9iaWxlIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2tyaXB0b25pby5jb20ifX0sIjQ5YmI5ZDY5OGRiZGYyYzNkNDYyN2Q2NmY5OWRkOWZlOTBiYmExZWVjODRiMTQzZjU2YzY0YTUxNDczYzYwYmQiOnsiaWQiOiI0OWJiOWQ2OThkYmRmMmMzZDQ2MjdkNjZmOTlkZDlmZTkwYmJhMWVlYzg0YjE0M2Y1NmM2NGE1MTQ3M2M2MGJkIiwibmFtZSI6Ik1pbmVydmEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL21pbmVydmEuZGlnaXRhbC8iLCJpbWFnZV9pZCI6ImI1N2IyMTYzLTFiZDgtNGY2Yi0zMzExLTQ3MDc2N2U2ZDIwMCIsIm9yZGVyIjo0ODQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWRpZ2l0YWwubWluZXJ2YSIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im1pbmVydmE6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL21pbmVydmEuZGlnaXRhbCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImI3Y2QzOGM5MzkzZjE0YjgwMzFiYzEwYmMwNjEzODk1ZDBkMDkyYzMzZDgzNjU0N2ZhZjhhOWI3ODJmNmNiY2MiOnsiaWQiOiJiN2NkMzhjOTM5M2YxNGI4MDMxYmMxMGJjMDYxMzg5NWQwZDA5MmMzM2Q4MzY1NDdmYWY4YTliNzgyZjZjYmNjIiwibmFtZSI6IkxpYmVyYSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9saWJlcmF3YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiI5NDg1ZDE3Zi1jNDEzLTQ3ZmUtZWJlZS1hODc2YTlkYzkxMDAiLCJvcmRlciI6NDg1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uaW1wYWN0bWFya2V0Lm1vYmlsZSYmcGxpPTEiLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJsaWJlcmE6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjZiMmU2MjNmMjMxZjM3OTRkYjJmY2I3Y2ZmZjJkMWNjMWQ5MDJiZmY3MGQ5NDY5ODBkNjI5NTZjZDg4MGNhY2MiOnsiaWQiOiI2YjJlNjIzZjIzMWYzNzk0ZGIyZmNiN2NmZmYyZDFjYzFkOTAyYmZmNzBkOTQ2OTgwZDYyOTU2Y2Q4ODBjYWNjIiwibmFtZSI6IktlbHAiLCJob21lcGFnZSI6Imh0dHBzOi8va2VscC5vcmciLCJpbWFnZV9pZCI6IjE4NTRlNDdkLTM4MDQtNGU5Mi1lNDU1LTA2ODI5YjY0YjEwMCIsIm9yZGVyIjo0ODYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva2VscC9pZDE2MzI4NTcyNzQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5hcHAua2VscGEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Imxpbmsua2VscC5maW5hbmNlOi8vd2FsbGV0Y29ubmVjdCIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluay5rZWxwLmZpbmFuY2Uvd2FsbGV0Y29ubmVjdCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImQ2ZmJhZjVjMjAyNmUwNTA5MjBlZDZlNmZmYmY5NmM4YTYxNDViOTNhOGI3OWQxMDJkZWY5NjUzYmVkYzk4MjEiOnsiaWQiOiJkNmZiYWY1YzIwMjZlMDUwOTIwZWQ2ZTZmZmJmOTZjOGE2MTQ1YjkzYThiNzlkMTAyZGVmOTY1M2JlZGM5ODIxIiwibmFtZSI6IlBheXBlcmxlc3MiLCJob21lcGFnZSI6Imh0dHBzOi8vcGF5cGVybGVzcy5jb20iLCJpbWFnZV9pZCI6IjRhODY3ZTMwLTQ0YzktNDYyNy02MjgxLTMzNDU3YjhlMjEwMCIsIm9yZGVyIjo0ODcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vcGF5cGVybGVzcy5jb20iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9wYXlwZXJsZXNzLXdhbGxldC9pZDE1NTI3NDEzMTMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5wYXlwZXJsZXNzLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIHBheXBlcmxlc3M6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9wYXlwZXJsZXNzLmNvbSJ9fSwiNTQwMTQ4YWZlNjQ1NThiYjIzOGNhYjZjNDNiZDk2MzA1NWVkOTI0OGMwOTRlYWViZmY5NGQ3YmJiNTlmOWFiYSI6eyJpZCI6IjU0MDE0OGFmZTY0NTU4YmIyMzhjYWI2YzQzYmQ5NjMwNTVlZDkyNDhjMDk0ZWFlYmZmOTRkN2JiYjU5ZjlhYmEiLCJuYW1lIjoiTURBTyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdHRtd2FsbGV0LmlvLyIsImltYWdlX2lkIjoiODIwMTRlOTItODM4Yi00ZTc1LWU3N2UtNzZjZGM1NTM5ZDAwIiwib3JkZXIiOjQ4ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3J1L2FwcC90dG0td2FsbGV0L2lkMTU0MDg1MTU2MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnR0bWJhbmsud2FsbGV0LmFwcCZobD1ydSZnbD1VUyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidHRtd2FsbGV0YXBwOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI3MWFjYTM0YzU2OWJkYTYxN2VlYTM2Yzc3NGQ5NDFlNTdiMzY1NjA2MGJjYTU3NWZlODk4ZDJmODAyOTU1M2VhIjp7ImlkIjoiNzFhY2EzNGM1NjliZGE2MTdlZWEzNmM3NzRkOTQxZTU3YjM2NTYwNjBiY2E1NzVmZTg5OGQyZjgwMjk1NTNlYSIsIm5hbWUiOiJSZWFkeSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9yZWFkeS5pby8iLCJpbWFnZV9pZCI6IjAwYmEwODBkLWZiMGEtNGEzMS05NDBlLWY3NTM4ODUwMDUwMCIsIm9yZGVyIjo0ODkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcmVhZHktbmV4dC1nZW4tbWVzc2VuZ2VyL2lkMTY2ODUzNjQwMSIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicmVhZHl3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImQ5YTQ1MTJlMTQ1ZjM1MDY5M2Y5YmVlYTc2MzI2Y2ExN2E5YWYxOTg1N2FmMTdiM2NjZmQ0N2Y0ZWNjOGJiNjUiOnsiaWQiOiJkOWE0NTEyZTE0NWYzNTA2OTNmOWJlZWE3NjMyNmNhMTdhOWFmMTk4NTdhZjE3YjNjY2ZkNDdmNGVjYzhiYjY1IiwibmFtZSI6IlVQLmlvIiwiaG9tZXBhZ2UiOiJodHRwczovL3VwLmlvIiwiaW1hZ2VfaWQiOiJmMWEzZjRkNC04NzFmLTQyZGItODlhYi1iYjM2YjVjMDFmMDAiLCJvcmRlciI6NDkwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby51cC53YWxsZXQmaGw9ZW4iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InVwLWlvOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly91cC5pby9hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJiNmQxOGZmMzQyOTIwYmI0OTJmODEwYmIwNzBhMDY0ZDYwMzFlYzJjM2Q2ZmZmZWNiNmNhMjMzYzhhNTkxZTAwIjp7ImlkIjoiYjZkMThmZjM0MjkyMGJiNDkyZjgxMGJiMDcwYTA2NGQ2MDMxZWMyYzNkNmZmZmVjYjZjYTIzM2M4YTU5MWUwMCIsIm5hbWUiOiJGYWNld2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2ZhY2V3YWxsZXQueHl6IiwiaW1hZ2VfaWQiOiI1MWFiNzdhNy04ZGY3LTQyMTctYWQ5OC1iMzEzY2ZiYmU3MDAiLCJvcmRlciI6NDkxMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL215LmZhY2V3YWxsZXQueHl6IiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vbXkuZmFjZXdhbGxldC54eXoifX0sIjdiMzIxMWMwODI1NWExNzIzMDQ5NGEzODRhMTM4MWJiMTJhMjg0YWY0YmYwMzk0NTg3N2ZlYzViN2ZjMjQ0MTAiOnsiaWQiOiI3YjMyMTFjMDgyNTVhMTcyMzA0OTRhMzg0YTEzODFiYjEyYTI4NGFmNGJmMDM5NDU4NzdmZWM1YjdmYzI0NDEwIiwibmFtZSI6Iklza3JhIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hcHAuaXNrcmEud29ybGQvIiwiaW1hZ2VfaWQiOiIxNzFmMGJjZi1iNmJiLTQwNmYtNmVlMS04NzliYzk2MDhlMDAiLCJvcmRlciI6NDkyMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC5pc2tyYS53b3JsZC8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAuaXNrcmEud29ybGQvIn19LCIyYmE4OWY5NGZhZmYxMjFhN2MxMDkxYzNjZWExMjQxNjdkYzQyOTFlYmU4NzEyMzYyMGM2NmUwZjEyMDE5N2NjIjp7ImlkIjoiMmJhODlmOTRmYWZmMTIxYTdjMTA5MWMzY2VhMTI0MTY3ZGM0MjkxZWJlODcxMjM2MjBjNjZlMGYxMjAxOTdjYyIsIm5hbWUiOiJDb2luV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5jb2luc2RvLmNvbSIsImltYWdlX2lkIjoiMWMwY2QzNTItY2U4ZS00YmNjLWY5MWQtODc2M2VhYjYwYjAwIiwib3JkZXIiOjQ5MzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9jb2luc2RvLXdhbGxldC1idGMtZXRoLXdhbGxldC9pZDY0Nzk2MzU4Njk/X2JyYW5jaF9tYXRjaF9pZD0xMjcyODI5Mjk1MTg3MjEwNzQ3JnV0bV9tZWRpdW09bWFya2V0aW5nJl9icmFuY2hfcmVmZXJyZXI9SDRzSUFBQUFBQUFBQXdYQndRcUFNQWdBMEQlMkJhMXdpaVF4OHlMS3pKVEljS3UlMkZYdHZkY3lSNndBdUdCaXdUR0tzSGE0akhXaUNHVmxpJTJGMXp1c21kOWFtbjJ3enk3V2h1TCUyRjNobWQ2alB3QUFBQSUzRCUzRCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNvaW5zZG8ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9jb2lud2FsbGV0LWJ0Yy1jcnlwdG8td2FsL29hZmVkZm9hZGhkampjaXBtY2JlY2lrZ29rcGFwaGprIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY29pbndhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjoiY29pbndhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH19LCI0ZmIzYjlmOGI4YmVjYzA2MTk1NWI2Y2NiMjRmMDllZGI5OTRhYjY0OWE0M2MwNGY1ZTVkZTUxZDRjMTY5ODBjIjp7ImlkIjoiNGZiM2I5ZjhiOGJlY2MwNjE5NTViNmNjYjI0ZjA5ZWRiOTk0YWI2NDlhNDNjMDRmNWU1ZGU1MWQ0YzE2OTgwYyIsIm5hbWUiOiJBc2lnbmEiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmFzaWduYS5pby8iLCJpbWFnZV9pZCI6IjgyNWMzMjZiLWQzY2MtNGJlMS1mNGE4LWU4Nzk1Yjk5MTUwMCIsIm9yZGVyIjo0OTQwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYnRjLmFzaWduYS5pby8iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9idGMuYXNpZ25hLmlvLyJ9fSwiODBjNzc0MjgzN2FkOTQ1NTA0OTI3MDMwM2JjY2Q1NWJhZTM5YTllNjM5YjcwZDkzMTE5MTI2OWQzYTc2MzIwYSI6eyJpZCI6IjgwYzc3NDI4MzdhZDk0NTUwNDkyNzAzMDNiY2NkNTViYWUzOWE5ZTYzOWI3MGQ5MzExOTEyNjlkM2E3NjMyMGEiLCJuYW1lIjoiVW5pUGFzcyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdW5pcGFzcy5pZCIsImltYWdlX2lkIjoiZDBhYjM3MTUtODExZi00YjJlLTUyOTMtOTMzOWU1Yjg0YzAwIiwib3JkZXIiOjQ5NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjoiaHR0cHM6Ly93YWxsZXQudW5pcGFzcy5pZC8iLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LnVuaXBhc3MuaWQvIn19LCI1YTJiMmRiM2QyZWQ5MDQ1OGE0MWQyYTBjNWU0YmQyOGVjNjdiNmZhMjcyYjBlMjAxY2M4NTA4ZGMzZDRiZTg3Ijp7ImlkIjoiNWEyYjJkYjNkMmVkOTA0NThhNDFkMmEwYzVlNGJkMjhlYzY3YjZmYTI3MmIwZTIwMWNjODUwOGRjM2Q0YmU4NyIsIm5hbWUiOiJPV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL293YWxsZXQuaW8iLCJpbWFnZV9pZCI6IjY4NDg5OTc4LTlmNzktNDdmNC1mZDU5LTg2YTI5ZGY5YmYwMCIsIm9yZGVyIjo0OTYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvb3dhbGxldC9pZDE2MjYwMzUwNjkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5pby5vd2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvb3dhbGxldC9oaGVqYm9wZG5wYmpnb21ocG1lZ2VtbmpvZ2ZsZW5nYSIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc09XYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOiJpby5vd2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6Im93YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImZhOTc3ZjdkMzdmNTMzYmQyODNlNDQyNjhkMDIwYzY4NTI0MzNmMDkxZjUzNzNkZDMzYWU3ZGMwZDQ1MjJlOWEiOnsiaWQiOiJmYTk3N2Y3ZDM3ZjUzM2JkMjgzZTQ0MjY4ZDAyMGM2ODUyNDMzZjA5MWY1MzczZGQzM2FlN2RjMGQ0NTIyZTlhIiwibmFtZSI6IlRvYmkiLCJob21lcGFnZSI6Imh0dHBzOi8vdG9iaS5mdW4iLCJpbWFnZV9pZCI6IjNjZDJkMDY2LTU2ZjctNDI3Mi00YTk4LWIzOWI0MWVhODIwMCIsIm9yZGVyIjo0OTcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vdC5tZS9Ub2JpV2FsbGV0Qm90IiwiaW9zIjoiaHR0cHM6Ly90Lm1lL1RvYmlXYWxsZXRCb3QiLCJhbmRyb2lkIjoiaHR0cHM6Ly90Lm1lL1RvYmlXYWxsZXRCb3QiLCJtYWMiOiJodHRwczovL3QubWUvVG9iaVdhbGxldEJvdCIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcGkudG9iaXdhbGxldC5hcHAvZGFwcC93YWxsZXQtY29ubmVjdC9yZWRpcmVjdCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcGkudG9iaXdhbGxldC5hcHAvZGFwcC93YWxsZXQtY29ubmVjdC9yZWRpcmVjdCJ9fSwiZmE3MzdmYTQxZTZlNWFkMDJjNTM2YmQyMWFmZWE0ZTIxYzA2MTg4NWEwMzllMTcyMzdlMDg4MDJjYTViZjBiZiI6eyJpZCI6ImZhNzM3ZmE0MWU2ZTVhZDAyYzUzNmJkMjFhZmVhNGUyMWMwNjE4ODVhMDM5ZTE3MjM3ZTA4ODAyY2E1YmYwYmYiLCJuYW1lIjoiUGFuZG9zaGkgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3BhbmRvc2hpLmNvbSIsImltYWdlX2lkIjoiZDViZTAzMDUtZmYzOC00NDEyLTYwODktYTk0YzJlNDQ1MzAwIiwib3JkZXIiOjQ5ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnBhbmRvc2hpLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicGFuZG9zaGl3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjU2YmVjOTgzYjQ3YzhiNmViNzc0ODkwYzFjOGFlOWQ5NTMzNGUxMGJkYjEyNmFiNmMxMWRmYWY1NmZiMmIzMWMiOnsiaWQiOiI1NmJlYzk4M2I0N2M4YjZlYjc3NDg5MGMxYzhhZTlkOTUzMzRlMTBiZGIxMjZhYjZjMTFkZmFmNTZmYjJiMzFjIiwibmFtZSI6IktyZXN1cyBTdXBlckFwcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cua3Jlc3VzLmNvbS8iLCJpbWFnZV9pZCI6ImVlMjQyYWVhLTNmZmQtNGFkOC1kYjg4LWUyOWExY2NkMjAwMCIsIm9yZGVyIjo0OTkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva3Jlc3VzLWNyeXB0by1uZnQtc3VwZXJhcHAvaWQ2NDQ0MzU1MTUyP3JlZmVycmVyPXNpbmd1bGFyX2NsaWNrX2lkJTNEYTcxM2FhYWUtZWE4ZS00OTE5LTg4MmQtYTA1M2FkOWE4Mjc4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ua3Jlc3VzLnN1cGVyYXBwJnBsaT0xIiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY29tLmtyZXN1cy5zdXBlcmFwcDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjU5ZDA3NjI4YTA2YWVlNDkwMDcyNjY2MzAzODE4Njc2ODhmYmU5NmMzMzFhZGMxYjI4NWFhNzk5NTM4MDgxNSI6eyJpZCI6IjI1OWQwNzYyOGEwNmFlZTQ5MDA3MjY2NjMwMzgxODY3Njg4ZmJlOTZjMzMxYWRjMWIyODVhYTc5OTUzODA4MTUiLCJuYW1lIjoiUGFuYXJvbWEgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3BhbmFyb21hLmZpbmFuY2UiLCJpbWFnZV9pZCI6IjQzOTRmNzI4LTBjNTctNDU2MC1hY2JhLTQ4YmZkODJkZGYwMCIsIm9yZGVyIjo1MDAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cDovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnBhbmFyb21hLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicGFuYXJvbWF3YWxsZXQ6Ly93YWxsZXRjb25uZWN0IiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIzNGNjNTU3ODYyNTdhNTBiMGQwNDQ2ZTE5N2NmZDA5MzUyMTYxOTI2MTY3ODcwMjJjNmIyODE5ZDI4NzRkMzRhIjp7ImlkIjoiMzRjYzU1Nzg2MjU3YTUwYjBkMDQ0NmUxOTdjZmQwOTM1MjE2MTkyNjE2Nzg3MDIyYzZiMjgxOWQyODc0ZDM0YSIsIm5hbWUiOiJQYXJpYnUgU2VsZiIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cucGFyaWJ1LmNvbS9zZWxmLyIsImltYWdlX2lkIjoiNGVkMDM0NTEtNDNmZC00NGRkLTFhZGMtNTY1NDUyZDc1MTAwIiwib3JkZXIiOjUwMTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcGFyaWJ1LXNlbGYtY3J5cHRvLXdhbGxldC9pZDY2MDg5ODAwMDUiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5wYXJpYnUuc2VsZiZobD1lbiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoic2VsZjovLyIsInVuaXZlcnNhbCI6InBhcmlidXNlbGYuZ28ubGluayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiOGEwMTUzYTZhMDk5YmI4ZGJhY2QwMzAwMzI3Y2QyZTZjODk1MDJjNGJiNzZjY2JhMmViNTY4ZGQ1NmMxNTVhNiI6eyJpZCI6IjhhMDE1M2E2YTA5OWJiOGRiYWNkMDMwMDMyN2NkMmU2Yzg5NTAyYzRiYjc2Y2NiYTJlYjU2OGRkNTZjMTU1YTYiLCJuYW1lIjoiQ2xvdCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jbG90LmFwcCIsImltYWdlX2lkIjoiYTdkMjcxNmQtNjliOC00NDIyLTk3OTctZWQ2M2IxZjljMDAwIiwib3JkZXIiOjUwMjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jbG90LmFwcCIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2Nsb3Qtd2FsbGV0L2lkMTU4NDExMzMxNSIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY2xvdDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nsb3QuYXBwIn19LCIwMmQ3ZTY1NTFhYjgwNWQzMDFiZGU1YzlkOGNkNTFkNzkxYTczZWZmYWI2YThiMjQ2MGU0ZDllOWU4MWZkZWU5Ijp7ImlkIjoiMDJkN2U2NTUxYWI4MDVkMzAxYmRlNWM5ZDhjZDUxZDc5MWE3M2VmZmFiNmE4YjI0NjBlNGQ5ZTllODFmZGVlOSIsIm5hbWUiOiJUcmFuc2kiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnRyYW5zaS5pby8iLCJpbWFnZV9pZCI6ImE1NjcwODlkLTY5ZDUtNDdmNi1mZDk5LWRiNDdhNDQ4YWIwMCIsIm9yZGVyIjo1MDMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd3d3LnRyYW5zaS5pby9UcmFuc2lXYWxsZXQiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC90cmFuc2ktY2hhdC9pZDE2NjI0NzE4ODQiLCJhbmRyb2lkIjoiaHR0cHM6Ly93d3cudHJhbnNpLmlvL1RyYW5zaVdhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidHJhbnNpOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LnRyYW5zaS5pby9UcmFuc2lXYWxsZXQifX0sImI1NjNmNWZiOTIxNGM5YmYzM2JhZWYwZTE0ZTRiZjVhNDc5OTA1MTgyZTQ2NzgyMDIzYjFlYTgyN2YyNjNhNjAiOnsiaWQiOiJiNTYzZjVmYjkyMTRjOWJmMzNiYWVmMGUxNGU0YmY1YTQ3OTkwNTE4MmU0Njc4MjAyM2IxZWE4MjdmMjYzYTYwIiwibmFtZSI6IlN1a3UgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5zdWt1LndvcmxkIiwiaW1hZ2VfaWQiOiI2OTc1Mjg0MC1hM2E5LTQ3YjUtMGVmYy1jZTMzZDJkN2MxMDAiLCJvcmRlciI6NTA0MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwOi8vZXh0ZW5zaW9uLnN1a3Uud29ybGQiLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL3N1a3Utd2FsbGV0L2ZvcG1lZGdua2ZwZWJnbGxwcGVkZG1tb2NoY29va2hjIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cDovL2V4dGVuc2lvbi5zdWt1LndvcmxkIn19LCI2MTQ4ZTJkODQ0ZTIxYzU0NjM1NGQwNDI1NWU5YzJiYjdmODdhYWNjZjMxMTM3MDlmMDkyMTJjNWYzMjc3YTliIjp7ImlkIjoiNjE0OGUyZDg0NGUyMWM1NDYzNTRkMDQyNTVlOWMyYmI3Zjg3YWFjY2YzMTEzNzA5ZjA5MjEyYzVmMzI3N2E5YiIsIm5hbWUiOiJRb2luIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9xb2luLndvcmxkIiwiaW1hZ2VfaWQiOiIwNDkwZGEzMC1iNTljLTQzNjUtZmVmOC0zM2EzZTBhYTQ3MDAiLCJvcmRlciI6NTA1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXUvYXBwL3FvaW4td2FsbGV0L2lkMTQ4MzcxODI1NCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnFvaW4ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ3Y3FvaW46Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjYzNDJmMDA2NTk1MTJjOTk1YzViMjcxMjM2ZmJlOGU4Yzg2OTUxYmQ5NGY1MzNmYTAyMzdkMmEzZTYwNmM0ZGEiOnsiaWQiOiI2MzQyZjAwNjU5NTEyYzk5NWM1YjI3MTIzNmZiZThlOGM4Njk1MWJkOTRmNTMzZmEwMjM3ZDJhM2U2MDZjNGRhIiwibmFtZSI6IkJsb2NrYXVyYSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ncmVlbmdsb3J5Z2xvYmFsLmNvbS8iLCJpbWFnZV9pZCI6IjhjYzdkZGJjLWEyNTctNDM4My00Zjg0LTM4NDdlNzA3YmIwMCIsIm9yZGVyIjo1MDYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5ibG9ja2F1cmFfY2xhc3NpYyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYmxvY2thdXJhOi8vd2FsbGV0Y29ubmVjdCIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYzMzMDkyMzNiMjljYzQ5MzIzZTI2MjIzODM1MzliODVkYzYyZGIyNzg1ODc0MDEwZTEzZDk0NWQ2NmVhYjg4MCI6eyJpZCI6ImMzMzA5MjMzYjI5Y2M0OTMyM2UyNjIyMzgzNTM5Yjg1ZGM2MmRiMjc4NTg3NDAxMGUxM2Q5NDVkNjZlYWI4ODAiLCJuYW1lIjoiS2VlcGVyIiwiaG9tZXBhZ2UiOiJodHRwczovL2tlZXBlci13YWxsZXQuYXBwIiwiaW1hZ2VfaWQiOiI0MWY2YWM4NS04ZjRlLTRkOWYtYjM3Yi05MmI0M2ZhN2Y0MDAiLCJvcmRlciI6NTA3MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9rZWVwZXItd2FsbGV0L2xwaWxibmlpYWJhY2tkamNpb25rb2JnbG1kZGZiY2pvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAva2VlcGVyLXdhbGxldC9pZDY0NDQ0NDM5MjAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC5rZWVwZXIud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2xpbmsua2VlcGVyLXdhbGxldC5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2tlZXBlci13YWxsZXQvbHBpbGJuaWlhYmFja2RqY2lvbmtvYmdsbWRkZmJjam8ifX0sImZhODI2OTNkNjI1M2U3M2JlMTRhNTcyZjRkMGQ2NmJlZTllOWQzZjZiY2VhYTQ5MTA0OTg3YjRiYTY2ZWUzOTgiOnsiaWQiOiJmYTgyNjkzZDYyNTNlNzNiZTE0YTU3MmY0ZDBkNjZiZWU5ZTlkM2Y2YmNlYWE0OTEwNDk4N2I0YmE2NmVlMzk4IiwibmFtZSI6InBpZXIiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnBpZXJ3YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiJjZjNmMGRhMS00MGVjLTQ5NDAtYWViZS1kZjA3NTUxM2QxMDAiLCJvcmRlciI6NTA4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3d3dy5waWVyd2FsbGV0LmNvbSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vbGIvYXBwL2lkMTYxMzE4Nzc2MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b25lLm5vYmFuay5hcHAiLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vcGllcndhbGxldC54eXovd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LnBpZXJ3YWxsZXQuY29tIn19LCI1ZDEyYzU0ZDMzYWJjNmFmMTYzYmMwMzQ0ZWVkOGRmOTA3NjUyODFjNDk3M2FkYTg4NjNlZDlhZTEyYWExMzdmIjp7ImlkIjoiNWQxMmM1NGQzM2FiYzZhZjE2M2JjMDM0NGVlZDhkZjkwNzY1MjgxYzQ5NzNhZGE4ODYzZWQ5YWUxMmFhMTM3ZiIsIm5hbWUiOiJBbWF6ZVdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hbWF6ZXdhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiIzODQ5NWViNC1lZmNmLTQ3Y2ItYmU3My1hNjk1NTEwZjlmMDAiLCJvcmRlciI6NTA5MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZ2IvYXBwL2FtYXpld2FsbGV0L2lkMTYyMjk0MTIwNCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm1pbmluZy5hbWF6ZS53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImFtYXplYXBwOi8vYW1hemV3YWxsZXQuY29tIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJhYWQxY2M3MjAwNWQyODk2OWM1YzVmOTJkN2VkOTNlNDNhYjAyNjcxYzYwMTU3NmVlYmZmMzYxYjI5NzcwMjc4Ijp7ImlkIjoiYWFkMWNjNzIwMDVkMjg5NjljNWM1ZjkyZDdlZDkzZTQzYWIwMjY3MWM2MDE1NzZlZWJmZjM2MWIyOTc3MDI3OCIsIm5hbWUiOiJHTcKyIFNvY2lhbCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9nbTIuc29jaWFsLyIsImltYWdlX2lkIjoiZjVjMjIxOGQtNTZiNC00ZmM4LTYzYmYtMGVjZTcyNzZkNjAwIiwib3JkZXIiOjUxMDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9nbS1zb2NpYWwvaWQ2NTAyNTg0NjczIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZ20yLmFwcC5wcm9kJmhsPWVuIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJnbTI6Ly9ob21lIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI0MTc0OTQ0NzMyYjY4ZmU4NGI3OWI5OGJjMGQ3NWMzZjBkY2U0ZTZlNmU5ODM0NDM5ZmJjMWU1MWZhNmVlYmYzIjp7ImlkIjoiNDE3NDk0NDczMmI2OGZlODRiNzliOThiYzBkNzVjM2YwZGNlNGU2ZTZlOTgzNDQzOWZiYzFlNTFmYTZlZWJmMyIsIm5hbWUiOiJPem9uZVdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vem9uZXdhbGxldC5pby8iLCJpbWFnZV9pZCI6IjRlYjU3NDc5LTUxNWEtNDYzYS05ZmNiLWMyMGU5Y2M2MGMwMCIsIm9yZGVyIjo1MTEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jaGlhdGsuYXBwcy5vem9uZTEiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNoaWF3YWxsZXQ6Ly9vem9uZXdhbGxldC5pbyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYmFlMmFiMTRlZjQ1MGYzMDdmMjRhMzk1YTNjMjc2NmEyZWY4YTljMGU2MTg1Njk4NWQyM2Y2NDQ1ZThkYjAzZiI6eyJpZCI6ImJhZTJhYjE0ZWY0NTBmMzA3ZjI0YTM5NWEzYzI3NjZhMmVmOGE5YzBlNjE4NTY5ODVkMjNmNjQ0NWU4ZGIwM2YiLCJuYW1lIjoiQ3J5cHRub3ggV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2NyeXB0bm94LmNvbSIsImltYWdlX2lkIjoiNzY4MmVmMmYtODFiNi00MWNiLWNhYTUtY2I2OTdiZWRhMzAwIiwib3JkZXIiOjUxMjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jcnlwdG5veC5jb20iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9pZDE1ODMwMTE2OTMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jcnlwdG5veC5jcnlwdG5veHdhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY3J5cHRub3g6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2NyeXB0bm94LmNvbSJ9fSwiOWQ1M2QxMmE2ZDdlMWQ4MGQzY2VhM2Q3ZDI5ZDk1NDljMGMwYzdhZjFiZGFlNWU0NGRiODdjYzllZGFkN2ViZiI6eyJpZCI6IjlkNTNkMTJhNmQ3ZTFkODBkM2NlYTNkN2QyOWQ5NTQ5YzBjMGM3YWYxYmRhZTVlNDRkYjg3Y2M5ZWRhZDdlYmYiLCJuYW1lIjoiVHljaGkgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3R5Y2hpd2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6Ijg0MGZkMTZhLWU1ZTEtNDkxYS1lYzU2LTFlYTc4OTlhN2UwMCIsIm9yZGVyIjo1MTMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9pbi9hcHAvdHljaGktd2FsbGV0L2lkNjc1MTI3NDQyMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnR5Y2hpd2FsbGV0MiZwY2FtcGFpZ25pZD13ZWJfc2hhcmUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly90eWNoaXdhbGxldC5jb20vd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI3NjE3YzYxZTJkN2M4NWIwM2Q0MWNlYWFmNTY4ZDQ5ZTJhYjI3MGY4ZjZmMWIyNWRkYjRhZjI5MjAyNmZhOGY1Ijp7ImlkIjoiNzYxN2M2MWUyZDdjODViMDNkNDFjZWFhZjU2OGQ0OWUyYWIyNzBmOGY2ZjFiMjVkZGI0YWYyOTIwMjZmYThmNSIsIm5hbWUiOiJJUE1CIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuaXBtYi5jb20iLCJpbWFnZV9pZCI6Ijg0NmFlMDY4LWMxMTItNDEyYS1jMTAzLTdhYTQxNGJjOTQwMCIsIm9yZGVyIjo1MTQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9nYi9hcHAvaXBtYi13YWxsZXQvaWQ2NDc0MjQ0NTMzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uaXBtYi5hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL2lwbWItd2FsbGV0L2dvaHBlY2VsZG5wZ2xhbmdmaW1oZGpsZmhnYWxvaGNvIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpbeyJpbmplY3RlZF9pZCI6ImlzSXBtYiIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNvbS5pcG1iLmFwcDovL3dhbGxldGNvbiIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMjJlYWZlYTY5NWRhNTVjMGE4YzNhMzdjNWRkNmVjZDdlZTQ1OTI3YTg1OWI5NTM2YWUwNjhlNWRiYTRlZWVkMiI6eyJpZCI6IjIyZWFmZWE2OTVkYTU1YzBhOGMzYTM3YzVkZDZlY2Q3ZWU0NTkyN2E4NTliOTUzNmFlMDY4ZTVkYmE0ZWVlZDIiLCJuYW1lIjoiT25seUJ1bGxzIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9vbmx5YnVsbHMuY29tIiwiaW1hZ2VfaWQiOiJmNTFlN2IxMC03YTY2LTQzN2YtOGQxMy02NjZjNjYwZTg1MDAiLCJvcmRlciI6NTE1MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9vbmx5YnVsbHMvaWQ2NzQ2MTY2OTQzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYXNrcm9pLm9ubHlidWxscyIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoib25seWJ1bGxzOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9vbmx5YnVsbHMuY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI2ODIwOTVlYWRmOGMwNjgwNjRmZmMyNzc3ZTdlOWQ5MzY0NjlkZWJkYTMyYzk5N2IzMDFiNzlmOWNkODdjZDU0Ijp7ImlkIjoiNjgyMDk1ZWFkZjhjMDY4MDY0ZmZjMjc3N2U3ZTlkOTM2NDY5ZGViZGEzMmM5OTdiMzAxYjc5ZjljZDg3Y2Q1NCIsIm5hbWUiOiJZb3ViYSIsImhvbWVwYWdlIjoiaHR0cHM6Ly95b3ViYS5pbyIsImltYWdlX2lkIjoiZjhmNmRkMDQtNjVlYi00MDYzLTMxNjYtM2NmNDAyMGY3ODAwIiwib3JkZXIiOjUxNjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2RlL2FwcC95b3ViYS9pZDY0NDkyNDcxNjYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLnlvb2JhLm1haW4iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIyMjZkOGExMmEyZTZlNWM0MTg1ZmE5YzI0MzEzODI0YmZiMTQ0YzJhMTgwMzI1YmRkYmQxMjE4NDRmNDk3YWZhIjp7ImlkIjoiMjI2ZDhhMTJhMmU2ZTVjNDE4NWZhOWMyNDMxMzgyNGJmYjE0NGMyYTE4MDMyNWJkZGJkMTIxODQ0ZjQ5N2FmYSIsIm5hbWUiOiJJU0xBTUl3YWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vaXNsYW1pY29pbi5maW5hbmNlL2lzbGFtaXdhbGxldCIsImltYWdlX2lkIjoiOGQ3MjNjNzgtMjhhZC00NjEwLTkwMWYtZWEzOTFkN2U4ZDAwIiwib3JkZXIiOjUxNzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9pc2xhbWl3YWxsZXQuY29tIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9sYi9hcHAvaXNsYW1pd2FsbGV0L2lkMTYzMTIxMjkyNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmlzbGFtaS53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImlzbGFtaXdhbGxldDovL2lzbGFtaS5jb20vcGF0aC8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2lzbGFtaWNvaW4uZmluYW5jZS8ud2VsbC1rbm93bi9hc3NldGxpbmtzLmpzb24ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vaXNsYW1pd2FsbGV0LmNvbSJ9fSwiZjZiZWViNTk0MWU2ODUzMDg0Y2EyMTc3MzM5MTIwZTFjNTVhMjhhMTllYzRlNTA0NTUzY2Y0MDJlZDY1YzgxNSI6eyJpZCI6ImY2YmVlYjU5NDFlNjg1MzA4NGNhMjE3NzMzOTEyMGUxYzU1YTI4YTE5ZWM0ZTUwNDU1M2NmNDAyZWQ2NWM4MTUiLCJuYW1lIjoiVklWRSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnZpdmVyc2UuY29tL2FwcHMvd2FsbGV0IiwiaW1hZ2VfaWQiOiI1ZWY3ZTQwZS0xZjAyLTRkYTItNTRiZi05OTJlM2U4M2UxMDAiLCJvcmRlciI6NTE4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL3ZpdmUtd2FsbGV0L2lkNjQ0NDcxODY5NiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmh0Yy52aXZld2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjEwNWJjNWNkMGNmOTEyNmMxMDUwZTZmODhmYmRjYzNlNmI0N2JiZmU0ZmYwOGI3OWVkMTg5MTk4Mzc0MDA4YzkiOnsiaWQiOiIxMDViYzVjZDBjZjkxMjZjMTA1MGU2Zjg4ZmJkY2MzZTZiNDdiYmZlNGZmMDhiNzllZDE4OTE5ODM3NDAwOGM5IiwibmFtZSI6IkZuY3kgTW9iaWxlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9mbmN5LndvcmxkIiwiaW1hZ2VfaWQiOiJjMWM4ZDM3NC1kZmYzLTQxOWMtOTZhZi0zNTE1ZDAxOTIxMDAiLCJvcmRlciI6NTIwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2ZuY3ktYmxvY2tjaGFpbi1wbGF0Zm9ybS9pZDE2MTM3MDcxNjYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5tZXRhdmVyc2Uud29ybGQuY3ViZSZobD1lbl9VUyZwbGk9MSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibWV0YUN1YmVXYWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImY1OTcxYTEyZjcxYjM1MmMzYWJiM2M5ZmMyOTgxOGYxMDQ0YTg3ZDc5MWNlMjhkYjZlNWFiMTk2MmJmZmY3MTciOnsiaWQiOiJmNTk3MWExMmY3MWIzNTJjM2FiYjNjOWZjMjk4MThmMTA0NGE4N2Q3OTFjZTI4ZGI2ZTVhYjE5NjJiZmZmNzE3IiwibmFtZSI6Ik1PT05TVEFLRSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9tb29uc3Rha2UuaW8iLCJpbWFnZV9pZCI6IjIyMzc0ZmFlLTI0NGMtNDIyNC0yZTNkLWMxNDkxMmY5OGEwMCIsIm9yZGVyIjo1MjEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbW9vbnN0YWtlLXdhbGxldC9pZDE1MDI1MzI2NTEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLm1vb25zdGFrZS53YWxsZXQmaGw9ZW4iLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im1vb25zdGFrZTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbW9vbnN0YWtlLmlvL2xhdW5jaEFwcCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjk0MTM1ZGJkN2FhY2E0OTA4ZGU0OWM0NGU0OWI4OTIwYTc5YzkwMTY0YTdjZTU4MDNkZGIzMzA1NGM3ZWRjNTciOnsiaWQiOiI5NDEzNWRiZDdhYWNhNDkwOGRlNDljNDRlNDliODkyMGE3OWM5MDE2NGE3Y2U1ODAzZGRiMzMwNTRjN2VkYzU3IiwibmFtZSI6IkFsdG1lIiwiaG9tZXBhZ2UiOiJodHRwczovL2FsdG1lLmlvLyIsImltYWdlX2lkIjoiN2VlYWM2ZTgtNjg1Mi00ZDA5LTg1NzktZTIyOWZkNmI5YTAwIiwib3JkZXIiOjUyMjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2ZyL2FwcC9hbHRtZS9pZDE2MzMyMTY4NjkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvLmFsdG1lLmFsdC5tZS5hbHRtZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2MtYWx0bWU6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImE1ZjcyOTYzNmJkMzA3YTUwOWU4ODE0ZDg1NTNkMjI0NTUwZTRjMzVmZWUyYjRlMmY3MWJiMWFkZTYzZWU0YTkiOnsiaWQiOiJhNWY3Mjk2MzZiZDMwN2E1MDllODgxNGQ4NTUzZDIyNDU1MGU0YzM1ZmVlMmI0ZTJmNzFiYjFhZGU2M2VlNGE5IiwibmFtZSI6IkdLOCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZ2s4LmlvLyIsImltYWdlX2lkIjoiNDhiZmUxNTItN2Y5Ni00ZTliLTNmOTQtOGM2YjZiNDg0YjAwIiwib3JkZXIiOjUyMzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2lsL2FwcC9nazgtYnktZ2FsYXh5L2lkMTU5MTAyMDI0OCIsImFuZHJvaWQiOiIiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImdrODovL21haW4iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjgyZTY0ODA1MzE1MmIxOGQ4NjNkODVhNDY3YzBiYTIwYmRlODZlODkyZWI2MTg5ZTQ3ZTI2MGJiNzhjMWU2NTMiOnsiaWQiOiI4MmU2NDgwNTMxNTJiMThkODYzZDg1YTQ2N2MwYmEyMGJkZTg2ZTg5MmViNjE4OWU0N2UyNjBiYjc4YzFlNjUzIiwibmFtZSI6IkFuY2hvcmFnZSBEaWdpdGFsICIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYW5jaG9yYWdlLmNvbS8iLCJpbWFnZV9pZCI6ImYyZWIyYjdhLTRkNzUtNDFlYy1jNDAxLTE3OWQwMzcyZDYwMCIsIm9yZGVyIjo1MjQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcG9ydG8tYnktYW5jaG9yYWdlLWRpZ2l0YWwvaWQ2NDcwOTE0NDc3IiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vYW5jaG9yYWdlLmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuYW5jaG9yYWdlLmNvbS9wbGF0Zm9ybS9zZWxmLWN1c3RvZHkifX0sImY0NmU1MDFiMjdjNmEwMTAyMDQzMWUzNjJiNzRiNDdjZTNjZmE2MzNjZGNiZjM2MDg0OTFiYjAxY2FiOTA4NjciOnsiaWQiOiJmNDZlNTAxYjI3YzZhMDEwMjA0MzFlMzYyYjc0YjQ3Y2UzY2ZhNjMzY2RjYmYzNjA4NDkxYmIwMWNhYjkwODY3IiwibmFtZSI6Ikh1YiBbQUxQSEFdIiwiaG9tZXBhZ2UiOiJodHRwczovL2h1Yi53YWxsZXRjb25uZWN0LmNvbSIsImltYWdlX2lkIjoiNjI5MDRhZDUtZmFkZC00MmM1LTNjNmItMjg3ZjVjN2VhMzAwIiwib3JkZXIiOjUyNTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9odWIud2FsbGV0Y29ubmVjdC5jb20iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9odWIud2FsbGV0Y29ubmVjdC5jb20ifX0sImIzNzdlZDYwY2QxZjcyYTljODRiYTAwOTVjYjI4ZWVhMTY2Mzg5Nzg3YzY3NjNlNTkwZDRhMWE2NTFhMzE1YTciOnsiaWQiOiJiMzc3ZWQ2MGNkMWY3MmE5Yzg0YmEwMDk1Y2IyOGVlYTE2NjM4OTc4N2M2NzYzZTU5MGQ0YTFhNjUxYTMxNWE3IiwibmFtZSI6IlJlYWN0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9yZWFjdHdhbGxldC5pby8iLCJpbWFnZV9pZCI6ImFjZTMxZTI2LTIzNmUtNDI4Ny0xNmQzLTU5ZjI4NDM5ZTQwMCIsIm9yZGVyIjo1MjYwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3JlYWN0LWNyeXB0by13YWxsZXQvaWQ2NzQzNDQwODA4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ucmVhY3Qud3dhbGxldHQmaGw9ZW5fR0IiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vcmVhY3R3YWxsZXRiYWNrLmNvbS9hcHAtbGluay8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImU4NzBlM2RjNzUwMzA1YWY2YTZiZDcxMzk1MzhhODUzNjI5NjNhOGUyMWI2YzZlMGY5ZTI3ZDgwYjkyODAxYzkiOnsiaWQiOiJlODcwZTNkYzc1MDMwNWFmNmE2YmQ3MTM5NTM4YTg1MzYyOTYzYThlMjFiNmM2ZTBmOWUyN2Q4MGI5MjgwMWM5IiwibmFtZSI6IkJJTSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmJpbXdhbGxldC5pby8iLCJpbWFnZV9pZCI6ImRhZTVhNmJiLWFjNDQtNGQ3NS04YzI1LWEzNjE4MDFkM2IwMCIsIm9yZGVyIjo1MjcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWlvLmJpbXdhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYmltd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI3MWJhMzdkMDhjNDc3YmE0NmQ2ODEwMjJhNTc0NTQ0Yjc0MmY2NmZiZTUxMzgzYjQyMmE5MTY0NTY5NjBjMTIzIjp7ImlkIjoiNzFiYTM3ZDA4YzQ3N2JhNDZkNjgxMDIyYTU3NDU0NGI3NDJmNjZmYmU1MTM4M2I0MjJhOTE2NDU2OTYwYzEyMyIsIm5hbWUiOiJETElDT00iLCJob21lcGFnZSI6Imh0dHBzOi8vZGxpY29tLmlvIiwiaW1hZ2VfaWQiOiIwN2U0NTUyYi1kNWM3LTRlZjEtMTIxOS0wZWJkOWY0MmQ2MDAiLCJvcmRlciI6NTI4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2RsaWNvbS5pbyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vaW4vYXBwL2RsaWNvbS9pZDY1MDI2MjYzMzIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5zaGxlbnBvd2VyLmRsaWNvbSZobD1lbiIsIm1hYyI6Imh0dHBzOi8vZGxpY29tLm1lIiwid2luZG93cyI6Imh0dHBzOi8vZGxpY29tLm1lIiwibGludXgiOiJodHRwczovL2RsaWNvbS5tZSIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvZGxpY29tL21iaHBiZWFwbHBrYWRlZmptcGJubGtvbWRobG9taWVjIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLmRsaWNvbSIsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGxpY29tLm1lIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2RsaWNvbS5tZSJ9fSwiMDU0OTk1MTM0MzVmN2RjYjk3YmZkNGI4NGRjZDM5N2MyZjM1ZWQzMGY2YWVhYWMzYTFhODk3MzdjOTE3ZTM3OSI6eyJpZCI6IjA1NDk5NTEzNDM1ZjdkY2I5N2JmZDRiODRkY2QzOTdjMmYzNWVkMzBmNmFlYWFjM2ExYTg5NzM3YzkxN2UzNzkiLCJuYW1lIjoiVmVyaWZpZWQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC52ZXJpZmllZC5uZXR3b3JrIiwiaW1hZ2VfaWQiOiIyMTk4MDc3Mi1lNDczLTQ1ODMtMGI1OS04ODI3YTQyOTVkMDAiLCJvcmRlciI6NTI5MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dhbGxldC52ZXJpZmllZC5uZXR3b3JrIiwiaW9zIjpudWxsLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3ZlcmlmaWVkLXdhbGxldC9hYmtnY2tjcG1uYmlwa2Zoa2tjaGtkZmttY2NqZG1raCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6Im5ldHdvcmsudmVyaWZpZWQuY3VzdG9keSIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC52ZXJpZmllZC5uZXR3b3JrIn19LCIzNTNiOWM1N2VjOWZmZjQ5NzEyNDNjZGU3MmEzOGFkNGZiYmMzNTY1YmRjOTVhNTRmNmEzOGM0M2U1NDgwZDMyIjp7ImlkIjoiMzUzYjljNTdlYzlmZmY0OTcxMjQzY2RlNzJhMzhhZDRmYmJjMzU2NWJkYzk1YTU0ZjZhMzhjNDNlNTQ4MGQzMiIsIm5hbWUiOiJVdGlsYSIsImhvbWVwYWdlIjoiaHR0cHM6Ly91dGlsYS5pby8iLCJpbWFnZV9pZCI6IjA4Mzg0MDZiLTk0MWItNGJiYy0xNjA0LWFhNDRkNzZkZjIwMCIsIm9yZGVyIjo1MzAwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vdXRpbGEuaW8vIiwiaW9zIjoiIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvdXRpbGEvaGNuaW1raGZhbm1jYXBhbWFqam9wZWFsbGtraWRwaWMiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJ1dGlsYS5pbyIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3V0aWxhLmlvLyJ9fSwiNTVmNDg3MmI0OTg3MzFjYWIxM2YxMDRlOGFhMGZmOTg3MDYwYjFlYjc4NTk1MjFhZmQ2NjI3YWU4N2I4ODQ5MSI6eyJpZCI6IjU1ZjQ4NzJiNDk4NzMxY2FiMTNmMTA0ZThhYTBmZjk4NzA2MGIxZWI3ODU5NTIxYWZkNjYyN2FlODdiODg0OTEiLCJuYW1lIjoiQ29zaW5lIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9nZXRjb3NpbmUuYXBwIiwiaW1hZ2VfaWQiOiI4ODZiYWZiNC0zNTFkLTQwYWMtMzM2OS1jYjUxYWYyNjE5MDAiLCJvcmRlciI6NTMxMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2dldGNvc2luZS5hcHAiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJjb3NpbmU6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjk1M2YzNDhiYWVmMWE5ODViYTQ0MDgyMjIwMmZlZTc0ODVlN2FlMGNhZTNiMjlhMDRmMTdhNzEyYzFhOTQ5MGEiOnsiaWQiOiI5NTNmMzQ4YmFlZjFhOTg1YmE0NDA4MjIyMDJmZWU3NDg1ZTdhZTBjYWUzYjI5YTA0ZjE3YTcxMmMxYTk0OTBhIiwibmFtZSI6IklUTFggV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2ludGVybGlua2xhYnMuYWkvIiwiaW1hZ2VfaWQiOiJiYTY0YmI4NS02M2M5LTQwZTktYmEzZi0wM2I4ZDU0ZWI4MDAiLCJvcmRlciI6NTMyMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pbnRlcmxpbmstbmV0d29yay9pZDY3Mzc5ODgyMjAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5haS5pbnRlcmxpbmtsYWJzLmludGVybGlua0lkIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJpbnRlcmxpbmtpZDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vaW50ZXJsaW5rbGFicy5haS9kZWVwbGluay93YWxsZXQifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjJiYzU4YjFjNzZlNjU3MmZhNmNkNjhjM2E0NDgxMjhjZTkwZjc0NDJkNTYzZjAyZTlmOWRiM2I1OGQwMWQ4MTAiOnsiaWQiOiIyYmM1OGIxYzc2ZTY1NzJmYTZjZDY4YzNhNDQ4MTI4Y2U5MGY3NDQyZDU2M2YwMmU5ZjlkYjNiNThkMDFkODEwIiwibmFtZSI6IlJlbmVnYWRlIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5teXJlbmVnYWRlLm5ldCIsImltYWdlX2lkIjoiNmNlMmNhYTMtYzU5Ny00NDVhLWI2MWYtMGI0NmI1YzE1MDAwIiwib3JkZXIiOjUzMzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93YWxsZXQubXlyZW5lZ2FkZS5uZXQiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9teXJlbmVnYWRlL2lkMTY3MDM0NjIyMSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmFwcC5yZW5lZ2FkZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicmVuZWdhZGUtd2ViM3dhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2ViYXBwLm15cmVuZWdhZGUubmV0In0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNmQxZDViODkyZTAyZDRjOTkyYWU2N2YxOGY1MjIzOTg0ODEzNjBjNjQyNjlmNWNkZjVlNGI4MDQzNWIyMGUzZCI6eyJpZCI6IjZkMWQ1Yjg5MmUwMmQ0Yzk5MmFlNjdmMThmNTIyMzk4NDgxMzYwYzY0MjY5ZjVjZGY1ZTRiODA0MzViMjBlM2QiLCJuYW1lIjoiM1MgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovLzNzd2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6ImYzYjZhODlkLWVjOGYtNDlkYy1lMDdmLTZiZjcyM2UxZTUwMCIsIm9yZGVyIjo1MzQwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vM3N3YWxsZXQuY29tLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwLzNzLXdhbGxldC1jcnlwdG8td2FsbGV0L2lkMTYyMjMxNjI3MiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9bmV0d29yay5iaG8ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJiaGN3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly8zc3dhbGxldC5jb20vIn19LCJjM2I3NmRhYmI4YjgxNjFiMjg0OGE0YzMxM2I1NTlhMmNkNzE5YjQzNzMyYzNlMGRhMDBmMzQ1ZTU3MTI0MWU1Ijp7ImlkIjoiYzNiNzZkYWJiOGI4MTYxYjI4NDhhNGMzMTNiNTU5YTJjZDcxOWI0MzczMmMzZTBkYTAwZjM0NWU1NzEyNDFlNSIsIm5hbWUiOiJUKyBXYWxsZXQgIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy50YWxrYXBwLm9yZy8iLCJpbWFnZV9pZCI6ImMwOGZmMjhmLTVhNTItNGJmMi1lNjNhLTIwNTkwNWZkNTgwMCIsIm9yZGVyIjo1MzUwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9oay9hcHAvdGFsay0lRTUlOEElQTAlRTUlQUYlODYlRTglQjIlQTglRTUlQjklQTMlRTQlQkElQTQlRTYlOTglOTMlRTUlOEYlOEFhaSVFOCU4MSU4QSVFNSVBNCVBOSVFOSU4MCU5QSVFOCVBOCU4QSVFOCVCQiU5RiVFNCVCQiVCNi9pZDE1NDcyMjczNzciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy50YWxrYXBwJmhsPWVuJmdsPVVTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0YWxrYXBwOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIwNzhkOTRiNGM4NzA2ZTEyZmUzNzllODUyNDJjZTk2MzM4MGFjZmQ2Nzg1MThlMmQ4ZWE3M2VlNTMyZDliYWNjIjp7ImlkIjoiMDc4ZDk0YjRjODcwNmUxMmZlMzc5ZTg1MjQyY2U5NjMzODBhY2ZkNjc4NTE4ZTJkOGVhNzNlZTUzMmQ5YmFjYyIsIm5hbWUiOiJEYWZmaU9uZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZGFmZmlvbmUuY29tLyIsImltYWdlX2lkIjoiMWU4N2JjYjktNDUyYy00YWQ3LTQ3MWMtMTMwYWUwMTE1MDAwIiwib3JkZXIiOjUzNjAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ubWUuZGFmZmlvbmUiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6IkRhZmZpT25lOi8vIHdjOi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIyOGI2MGEyOWE4ZmZkMTVmNTJhMzNjYzBkMGVlNGY4YjFjZDIzNGI2OGY1NTQxOTVhODIzYmYxNmE0MGNhYjI5Ijp7ImlkIjoiMjhiNjBhMjlhOGZmZDE1ZjUyYTMzY2MwZDBlZTRmOGIxY2QyMzRiNjhmNTU0MTk1YTgyM2JmMTZhNDBjYWIyOSIsIm5hbWUiOiJTT0MgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3NvY2pzYy5jb20iLCJpbWFnZV9pZCI6ImE4Y2NjN2NlLWZjM2ItNDMyNi04ZDVjLWEyZDhlYjA2ZDYwMCIsIm9yZGVyIjo1MzcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS92bi9hcHAvc29jLXdhbGxldC9pZDY3NTI5MjgzNzE/bD12aSBTT0MgV2FsbGV0IiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzb2N3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3NvYy5zb2Nqc2MuY29tL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIzODY5MmMzMjM1ODE5OGJjMzZiMjc3NTYxNWFlNjE1YWQwZjQwNDA0NDUyOTkzZGUyMzg0ZWY2NGIyYzVjYTYxIjp7ImlkIjoiMzg2OTJjMzIzNTgxOThiYzM2YjI3NzU2MTVhZTYxNWFkMGY0MDQwNDQ1Mjk5M2RlMjM4NGVmNjRiMmM1Y2E2MSIsIm5hbWUiOiJUcnVzdEtleXMgV2ViMyBTb2NpYWxGaSIsImhvbWVwYWdlIjoiaHR0cHM6Ly90cnVzdGtleXMubmV0d29yayIsImltYWdlX2lkIjoiMzU2NDRjNmItYzZmMy00ZTQ1LWI2OGItZTg4OGMyMWFmZDAwIiwib3JkZXIiOjUzODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3ZuL2FwcC90cnVzdGtleXMtd2ViMy1zb2NpYWxmaS9pZDE2MDE5Njg5NjciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS50cnVzdGtleXNuZXR3b3JrIiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiVEt3YzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vdHJ1c3RrZXlzLm5ldHdvcmsvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZGQwNmUzZTNmNDJjZjFhMmE0NTNhN2VmOGRlZjAwODU2ODk4OWY1NTBlYWNlY2Q5MWJhYzk3ZTRjODQ0M2YwNSI6eyJpZCI6ImRkMDZlM2UzZjQyY2YxYTJhNDUzYTdlZjhkZWYwMDg1Njg5ODlmNTUwZWFjZWNkOTFiYWM5N2U0Yzg0NDNmMDUiLCJuYW1lIjoiTWljZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvYWRkb24vbWljZXQvIiwiaW1hZ2VfaWQiOiJhZTg3ZGM3Yy1iZTQ0LTQxMjktOWFjOS1kMWFkMjlhMjNiMDAiLCJvcmRlciI6NTM5MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9hZGRvbi9taWNldC8iLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20ubWljZXQud2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMDIyMDc2ZmRkZWJkZDgxYzI4NzIzOWE3Mzk3ZWY2MjVlZjQzMmRiMTY4Yjg4NGYxYjhlZDhlMTQ4Y2UyM2E4NCI6eyJpZCI6IjAyMjA3NmZkZGViZGQ4MWMyODcyMzlhNzM5N2VmNjI1ZWY0MzJkYjE2OGI4ODRmMWI4ZWQ4ZTE0OGNlMjNhODQiLCJuYW1lIjoiT3V0bGF3IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cub3V0bGF3Z2FtZXMuYXBwIiwiaW1hZ2VfaWQiOiIyOTA0NjdkYi0yYmU5LTRjZmQtOTk5Ni03NDI1MTdmZjZkMDAiLCJvcmRlciI6NTQwMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5vdXRsYXdnYW1lLmFuZHJvaWQiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6Im91dGxhdzovLyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMmM1YjY4N2U5ZjZjZTJiNWQ1MzU0MWZmZGY2YWEyM2Q3ZjY0NWM1N2RjNTUzZGJhYmQ0NjU0NzFjMTM0NzY4OSI6eyJpZCI6IjJjNWI2ODdlOWY2Y2UyYjVkNTM1NDFmZmRmNmFhMjNkN2Y2NDVjNTdkYzU1M2RiYWJkNDY1NDcxYzEzNDc2ODkiLCJuYW1lIjoiQm9udXogU29jaWFsIFNtYXJ0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9ib251ei54eXoiLCJpbWFnZV9pZCI6ImViMzc2MTM4LWM1YjktNGQ4Mi1jNjEwLWM5OGM5YzIxOGEwMCIsIm9yZGVyIjo1NDEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9lZy9hcHAvYm9udXotc29jaWFsLXNtYXJ0LXdhbGxldC9pZDE2Mzc2ODc0MzkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW1hcmtldC5ib251ei5hcHAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJvbnV6YXBwOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJlOTUwYTU2MDYyYzlkYWEzOGVmNDMwODEyZWI3OTYyMWU2ODUyMTg3OWVhZTA1Y2FjNGE5ODYyYjA1OTJhMmNhIjp7ImlkIjoiZTk1MGE1NjA2MmM5ZGFhMzhlZjQzMDgxMmViNzk2MjFlNjg1MjE4NzllYWUwNWNhYzRhOTg2MmIwNTkyYTJjYSIsIm5hbWUiOiJIYXVzdCB3YWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LmhhdXN0LmFwcC8iLCJpbWFnZV9pZCI6ImMzMjYxNWQxLTA2ZmQtNGYxZS0xMTMwLTNkY2UxOGNlZTgwMCIsIm9yZGVyIjo1NDIwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LmhhdXN0LmFwcC8iLCJpb3MiOiIiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5oYXVzdC5hcHAvIn19LCIxMTVmZTZlNzA2ZTE0NzM1OTM0ZWJhN2FmY2U0NmYwYTc3ZTY0OTg4YzNkZWQwOTMwMzM0MDJlZjRjZTBhMTYyIjp7ImlkIjoiMTE1ZmU2ZTcwNmUxNDczNTkzNGViYTdhZmNlNDZmMGE3N2U2NDk4OGMzZGVkMDkzMDMzNDAyZWY0Y2UwYTE2MiIsIm5hbWUiOiJTRU5UUlkiLCJob21lcGFnZSI6Imh0dHBzOi8vYXBwLnNlbnRyeXdhbGxldC5vcmciLCJpbWFnZV9pZCI6IjEzOTVlNTFiLTZiODEtNGFkOC02MGYzLWVhNzMyMzcxMGEwMCIsIm9yZGVyIjo1NDMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLnNlbnRyeXdhbGxldC5vcmciLCJpb3MiOiIiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5zZW50cnl3YWxsZXQub3JnIn19LCJhOTJkNTEyYzY0OWU4N2E1YWNiYTU4ODVhYzAzZjYyNjYyY2ZmMWY2NDdjMjBhNjM4MzNlYjQ1YTcxYTZmODc3Ijp7ImlkIjoiYTkyZDUxMmM2NDllODdhNWFjYmE1ODg1YWMwM2Y2MjY2MmNmZjFmNjQ3YzIwYTYzODMzZWI0NWE3MWE2Zjg3NyIsIm5hbWUiOiJUQVAgV0FMTEVUIiwiaG9tZXBhZ2UiOiJodHRwczovL3RhcGludmVzdC5jb20vI3dhbGxldCIsImltYWdlX2lkIjoiYTFmZTMzNjEtZDc1NC00MzBlLWY1NWUtNzIzMTVhZjUyNzAwIiwib3JkZXIiOjU0NDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaHVtYmwtd2FsbGV0L2lkMTYyNzE3MTIzNCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmh1bWJsLndhbGxldC5hcHAmaGw9ZW5fVVMmZ2w9VVMiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6Imh1bWJsd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuc2VhcmNoMy5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjdlZjQ4YmY2NzIyYmQ5Njk0YWIzNWYxZmE5ZjgyMzllZjFkNDRkYzcyMWM2OTUwYjlhZmUyNDY4YTc3YWFkNWEiOnsiaWQiOiI3ZWY0OGJmNjcyMmJkOTY5NGFiMzVmMWZhOWY4MjM5ZWYxZDQ0ZGM3MjFjNjk1MGI5YWZlMjQ2OGE3N2FhZDVhIiwibmFtZSI6IktvdGFpIFdhbGxldCIsImhvbWVwYWdlIjoia290YWl3YWxsZXQ6Ly8iLCJpbWFnZV9pZCI6IjExZDg3MTE3LWY1NTEtNDUxYy00MmU3LTdkMGNjYzJlOGYwMCIsIm9yZGVyIjo1NDUwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYnIvYXBwL2tvdGFpLXdhbGxldC9pZDY3NTc4ODUxNjAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5rb3RhaXdhbGxldC5hcHAuYW5kcm9pZCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoia290YWl3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjFmNTQ5MTU1Mzg5NDVlN2EyOWRmYzI3MGI2ZmIxMGViNTU2NzQyMzkzNmQ3OTg5ZDM0NmUzOTk2OTBmZDE1YzUiOnsiaWQiOiIxZjU0OTE1NTM4OTQ1ZTdhMjlkZmMyNzBiNmZiMTBlYjU1Njc0MjM5MzZkNzk4OWQzNDZlMzk5NjkwZmQxNWM1IiwibmFtZSI6Ik1lZXR3aXRoIiwiaG9tZXBhZ2UiOiJodHRwczovL21lZXR3aXRoLnh5eiIsImltYWdlX2lkIjoiYjAxNDVhY2YtZDBhOS00Yzk3LWE3N2ItZWQ3YWUzMDFiMTAwIiwib3JkZXIiOjU0NjAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9tZWV0d2l0aC54eXoiLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9tZWV0d2l0aC54eXoifX0sIjM2NjcyMzg3NGY2MjBlZjc1YTFlYWU5YmVlZGI5YmYxMWVlODViMmFhZjkyOGQ1M2E0MmQ4M2I1MjAyNmJmMzUiOnsiaWQiOiIzNjY3MjM4NzRmNjIwZWY3NWExZWFlOWJlZWRiOWJmMTFlZTg1YjJhYWY5MjhkNTNhNDJkODNiNTIwMjZiZjM1IiwibmFtZSI6IkFzc2V0R3VhcmQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lmhhc2hncmFwaC1ncm91cC5jb20vcHJvZHVjdHMvYXNzZXRndWFyZCIsImltYWdlX2lkIjoiYmY2NDI3NjEtZTA0MC00OWIyLWE5YTgtY2JkM2ZhMzhiZTAwIiwib3JkZXIiOjU0NzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdGhhLWFzc2V0Z3VhcmQvaWQ2NzUxMjc1Njc3IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcudGhhLmhhc2hwYXkiLCJtYWMiOiJodHRwczovL3RoYS1hc3NldGd1YXJkLnZlcmNlbC5hcHAvIiwid2luZG93cyI6Imh0dHBzOi8vdGhhLWFzc2V0Z3VhcmQudmVyY2VsLmFwcC8iLCJsaW51eCI6Imh0dHBzOi8vdGhhLWFzc2V0Z3VhcmQudmVyY2VsLmFwcC8iLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3RoYS1hc3NldGd1YXJkLXdhbGxldC0lRTIlODAlOTMtaC9wZXBqZm9mcGtqYmZra29hbG5tYmRoaGdoYWtlYmFpYz9hdXRodXNlcj02JmhsPWVuIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6Im9yZy50aGEuaGFzaHBheSIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3RoYS1hc3NldGd1YXJkLnZlcmNlbC5hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3RoYS1hc3NldGd1YXJkLnZlcmNlbC5hcHAifX0sImJjNjYxZDdlYWJlZDUyMzQ1MjBlNGMyNmY5Y2MwMzM3Nzg5OGY1YWRkOTRiOGQ2NmY5ZmMzZDc5NWRkMTZmYWMiOnsiaWQiOiJiYzY2MWQ3ZWFiZWQ1MjM0NTIwZTRjMjZmOWNjMDMzNzc4OThmNWFkZDk0YjhkNjZmOWZjM2Q3OTVkZDE2ZmFjIiwibmFtZSI6IlZvbHN1bmdhciIsImhvbWVwYWdlIjoiaHR0cHM6Ly92b2xzdW5nYXIuY29tIiwiaW1hZ2VfaWQiOiIyYzlhNjdlYi02MDVlLTQ4M2MtZDQzNS04ODNhNmM5YWM0MDAiLCJvcmRlciI6NTQ4MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92b2xzdW5nYXIvaWQ2NzU3MTA0MDU0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udm9sc3VuZ2FyLndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoidm9sc3VuZ2FyOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5rLnZvbHN1bmdhci5jb20vd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImUxNjg0YWVhZGM4YWVkOTA0NjEyMDkxZTM2YTk0ODM2OWIxYmE4ZWRkYjFiMWYwZmJiZGRiZTNhNzJhNWI4N2YiOnsiaWQiOiJlMTY4NGFlYWRjOGFlZDkwNDYxMjA5MWUzNmE5NDgzNjliMWJhOGVkZGIxYjFmMGZiYmRkYmUzYTcyYTViODdmIiwibmFtZSI6Ik51bW8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL215LnIzdmwueHl6IiwiaW1hZ2VfaWQiOiJjMWViY2RlZi05ZmJhLTRiZDAtNmY2YS1lNDNjYWVmYWNjMDAiLCJvcmRlciI6NTQ5MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3ZlcmNlbC5udW1vLnh5eiIsImlvcyI6bnVsbCwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3ZlcmNlbC5udW1vLnh5eiJ9fSwiODMwODY1NmY0NTQ4YmI4MWIzNTA4YWZlMzU1Y2ZiYjdmMGNiNjI1M2QxY2M3Zjk5ODA4MDYwMWY4MzhlY2VlMyI6eyJpZCI6IjgzMDg2NTZmNDU0OGJiODFiMzUwOGFmZTM1NWNmYmI3ZjBjYjYyNTNkMWNjN2Y5OTgwODA2MDFmODM4ZWNlZTMiLCJuYW1lIjoiVW5zdG9wcGFibGUgRG9tYWlucyIsImhvbWVwYWdlIjoiaHR0cHM6Ly91bnN0b3BwYWJsZWRvbWFpbnMuY29tLyIsImltYWdlX2lkIjoiNDcyNWRkYTAtNDQ3MS00ZDBmLTdhZGYtNmJiZThiOTI5YzAwIiwib3JkZXIiOjU1MDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly91bnN0b3BwYWJsZWRvbWFpbnMuY29tLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3Vuc3RvcHBhYmxlLWRvbWFpbnMvaWQxNTQ0NzQ4NjAyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udW5zdG9wcGFibGVkb21haW5zLm1hbmFnZXIiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InVuc3RvcHBhYmxlZG9tYWluczovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vdW5zdG9wcGFibGVkb21haW5zLmNvbS9tb2JpbGUifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vdW5zdG9wcGFibGVkb21haW5zLmNvbS8ifX0sImYwMzlhNGJkZjZkNWE1NDA2NWI2Y2M0YjEzNGUzMmQyM2JlZDVkMzkxYWQ5N2YyNWFhYjU2MjdkZTI2YTA3ODQiOnsiaWQiOiJmMDM5YTRiZGY2ZDVhNTQwNjViNmNjNGIxMzRlMzJkMjNiZWQ1ZDM5MWFkOTdmMjVhYWI1NjI3ZGUyNmEwNzg0IiwibmFtZSI6Ik5lb24gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL25lb253YWxsZXQuY29tIiwiaW1hZ2VfaWQiOiIzMjJiZDZmMC0wOWI1LTQ1OTUtY2IxNS0wZGZhYjgwNTQ4MDAiLCJvcmRlciI6NTUxMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL25lb253YWxsZXQuY29tLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vbXkvYXBwL25lb24td2FsbGV0LW1vYmlsZS9pZDE1MzAxMTE0NTIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW5lby5vcmcuZnJlZXdhbGxldC5hcHAmaGw9cHRfQlImZ2w9VVMiLCJtYWMiOiJodHRwczovL25lb253YWxsZXQuY29tLyIsIndpbmRvd3MiOiJodHRwczovL25lb253YWxsZXQuY29tLyIsImxpbnV4IjoiaHR0cHM6Ly9uZW9ud2FsbGV0LmNvbS8iLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im5lb246Ly91cmk9IiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOiJuZW9uOi8vdXJpPSIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbmVvbndhbGxldC5jb20vIn19LCI2NjRiNTA1ZmVhNGMyMTE3YjhhNTVjMDU0ZWYyMDk2NjRlMGE2OGRkYWFmZDc1MzRkZjczOWY5N2EyOTNmYTFkIjp7ImlkIjoiNjY0YjUwNWZlYTRjMjExN2I4YTU1YzA1NGVmMjA5NjY0ZTBhNjhkZGFhZmQ3NTM0ZGY3MzlmOTdhMjkzZmExZCIsIm5hbWUiOiJIaXBwbyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vaGlwcG93YWxsZXQuaW8iLCJpbWFnZV9pZCI6ImY5NTcwOTY4LTQ1ZjctNDdjMS0zMTg5LTk4Y2Y2MGUyNWMwMCIsIm9yZGVyIjo1NTIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hZS9hcHAvaGlwcG8td2FsbGV0L2lkMTYxMzA0MTQ5OSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJsb2NrY2hhaW5jb21tb2RpdGllcy5oaXBwb193YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvaGlwcG8td2FsbGV0L2hkZGtmZmpsZWVwaWFmbWtoY25lbGRqaXBrZmtrb2ZrIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiaGlwcG93YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2hpcHBvd2FsbGV0LmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMDU2M2UwNzI0ZjQzNDI5OGRkYTM3YWNhYTcwNDg1N2FiMjkzYjQ4ZjFiMzliNzY1NTY5YTAwNzJkZTQzYzBjZiI6eyJpZCI6IjA1NjNlMDcyNGY0MzQyOThkZGEzN2FjYWE3MDQ4NTdhYjI5M2I0OGYxYjM5Yjc2NTU2OWEwMDcyZGU0M2MwY2YiLCJuYW1lIjoiVmVyc28iLCJob21lcGFnZSI6Imh0dHBzOi8vZ2V0LXZlcnNvLmNvbSIsImltYWdlX2lkIjoiMTA5ZDdjOTAtODZlZC00ZWUwLWUxN2QtM2M4NzYyNGRkZjAwIiwib3JkZXIiOjU1MzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9nZXQtdmVyc28uY29tIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYnR1LXByb3RvY29sL2lkMTUzOTMwNDYwNSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJ0dXByb3RvY29sLmJ0dV93YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InZlcnNvOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ2V0LXZlcnNvLmNvbSJ9fSwiMDI5NTdmMDY1OWRmNDIyZDViOGZhMzFhMDU0YTE1MTQwNDc5Y2ViZGQ3MTVkZmExYmE4NzVhOTNhNDIzNmIwNSI6eyJpZCI6IjAyOTU3ZjA2NTlkZjQyMmQ1YjhmYTMxYTA1NGExNTE0MDQ3OWNlYmRkNzE1ZGZhMWJhODc1YTkzYTQyMzZiMDUiLCJuYW1lIjoiT2JsaW8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL29ibGlvd2FsbGV0LmNvbSIsImltYWdlX2lkIjoiYTBmZjI5MzItZTA0OS00NjIyLWE5YzgtZmE0MTI3OGNmZjAwIiwib3JkZXIiOjU1NDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm9ibGlvLndhbGxldCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm9ibGlvLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoib2JsaW86Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjE4NGYxNWVhMmNkNWY2NWUyNWVkNzJlZmRkMmVkMTk3OTE3OWVkZGYwYzA3NDFhYjBkZDIzYzFlYjdlMGVlZTUiOnsiaWQiOiIxODRmMTVlYTJjZDVmNjVlMjVlZDcyZWZkZDJlZDE5NzkxNzllZGRmMGMwNzQxYWIwZGQyM2MxZWI3ZTBlZWU1IiwibmFtZSI6IkZsb296IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5mbG9vei50cmFkZSIsImltYWdlX2lkIjoiMGEwNGYzNjgtNGY1Ni00YzEyLTBiZmEtOTNiMTRiYjIwODAwIiwib3JkZXIiOjU1NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9pZDE2MjEwMjcwNzQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPXdhbGxldC5mbG9vei5tb2JpbGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImZsb296d2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuZmxvb3oudHJhZGUvd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmZsb296LnRyYWRlLyJ9fSwiM2I5ZjY3YzJjMDg4N2Y3MWU0ZjliYTFiZDJiZjViNGViNmNkYTk0NDE5YWJkM2YwYzVjMTI5MzFhNjA5MjhiMCI6eyJpZCI6IjNiOWY2N2MyYzA4ODdmNzFlNGY5YmExYmQyYmY1YjRlYjZjZGE5NDQxOWFiZDNmMGM1YzEyOTMxYTYwOTI4YjAiLCJuYW1lIjoiQml0c2tpIiwiaG9tZXBhZ2UiOiJodHRwczovL2JpdHNraS5jb20iLCJpbWFnZV9pZCI6Ijk0ZDk0Y2I1LWE5NGYtNDdjZi03MGU2LWZlOGQzZjFjMzcwMCIsIm9yZGVyIjo1NTYwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LmJpdHNraS5jb20iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9iaXRza2ktd2FsbGV0L2lkMTU4NzE5OTUzOCIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2JpdHNraS9mZWVqaWlnZGRhYWZlb2pmZGRqamxtZmthYmlta2VsbCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc0JpdHNraSIsIm5hbWVzcGFjZSI6ImVpcDE1NSJ9XSwicmRucyI6ImNvbS5icmF2ZS53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoiYml0c2tpOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuYml0c2tpLmNvbS93YWxsZXRjb25uZWN0L3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaXRza2kvZmVlamlpZ2RkYWFmZW9qZmRkampsbWZrYWJpbWtlbGwifX0sIjI2ZjAyMWEwOGQ0MjcxODYwNDIzZDc3OGE5YjgyZTM5ZjRmZjUyYWNjN2MzZjZkOTJhNTA0ZWJhMTFlM2I4OTMiOnsiaWQiOiIyNmYwMjFhMDhkNDI3MTg2MDQyM2Q3NzhhOWI4MmUzOWY0ZmY1MmFjYzdjM2Y2ZDkyYTUwNGViYTExZTNiODkzIiwibmFtZSI6IlByZXR0eUdvb2QgS2V5Ym9hcmQiLCJob21lcGFnZSI6Imh0dHBzOi8veC5wcmV0dHlnb29kLmlvLyIsImltYWdlX2lkIjoiYWUyNmRlNzAtODdmMi00ZGVhLWQ1Y2UtZGNkYjFhNDQyNDAwIiwib3JkZXIiOjU1NzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnBnay5rZXlib2FyZCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoicGdrOi8vd2FsbGV0IiwidW5pdmVyc2FsIjoiaHR0cHM6Ly94LnByZXR0eWdvb2QuaW8vd2FsbGV0In0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJhMWYzZjg5NTYzNDZlMmJhMjllMjViYzUyNTJjNmRjMGIyYWZhOWVlMTdhYTEzZWNkMDI2YWJhZmVkYWY4Njk2Ijp7ImlkIjoiYTFmM2Y4OTU2MzQ2ZTJiYTI5ZTI1YmM1MjUyYzZkYzBiMmFmYTllZTE3YWExM2VjZDAyNmFiYWZlZGFmODY5NiIsIm5hbWUiOiJIZXJvIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hcHAuaGVyb3dhbGxldC5jb20vIiwiaW1hZ2VfaWQiOiI4NmEyZTc0Yi03ZTk3LTQxNjItMmMyNi03MWJkOWNjYWIwMDAiLCJvcmRlciI6NTU4MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC5oZXJvd2FsbGV0LmNvbS9zaWduaW4vd2M/dXJpPSIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2hlcm8td2FsbGV0LWhlcm8taW8vaWQ2NzU3MTE4Njg2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5oZXJvLndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvaGVyby13YWxsZXQtaGVyb2lvL2VhZGpsbG9kZmprYmxqbGloZ2lmbGhhcGFmY2lnb2VlIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJpc0hlcm9XYWxsZXQiLCJuYW1lc3BhY2UiOiJiaXAxMjIifSx7ImluamVjdGVkX2lkIjoiaXNIZXJvV2FsbGV0IiwibmFtZXNwYWNlIjoiZWlwMTU1In0seyJpbmplY3RlZF9pZCI6ImlzSGVyb1dhbGxldCIsIm5hbWVzcGFjZSI6ImhlZGVyYSJ9LHsiaW5qZWN0ZWRfaWQiOiJpc0hlcm9XYWxsZXQiLCJuYW1lc3BhY2UiOiJzb2xhbmEifV0sInJkbnMiOiJpby5oZXJvLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJoZXJvd2FsbGV0Oi8vd2MiLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5oZXJvLmlvL3NpZ25pbi93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmhlcm93YWxsZXQuY29tL3NpZ25pbi93Yz91cmk9In19LCIxODk3ZmRiODExZmY1M2E2OWY5MjE3YTk4Njk2Nzk4YjAyMjdjN2Q3N2ZkZGYxMDNlODI5NWJlNTUxYTFlM2I2Ijp7ImlkIjoiMTg5N2ZkYjgxMWZmNTNhNjlmOTIxN2E5ODY5Njc5OGIwMjI3YzdkNzdmZGRmMTAzZTgyOTViZTU1MWExZTNiNiIsIm5hbWUiOiJTcG90IE9uIENoYWluIEFwcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9wbGF0Zm9ybS5zcG90b25jaGFpbi5haSIsImltYWdlX2lkIjoiMWJjYjVlZDYtZjZjOS00YjBkLWY4OTEtYjcwYzQ4YjkzZDAwIiwib3JkZXIiOjU1OTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zcG90LW9uLWNoYWluL2lkNjQ0OTczMzQ4OSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9bmV0d29yay5zcG90b25jaGFpbiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoic3BvdG9uY2hhaW46Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3Nwb3RvbmNoYWluLmFpLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjgxNDE2NjhhOTJhYWQ4NWY5ZjlmNGIwMGU1OTkxNDA2MWRmMGYxODliNWIxMWZiMzVhMTVkYzI3MDhiYjQ1OTYiOnsiaWQiOiI4MTQxNjY4YTkyYWFkODVmOWY5ZjRiMDBlNTk5MTQwNjFkZjBmMTg5YjViMTFmYjM1YTE1ZGMyNzA4YmI0NTk2IiwibmFtZSI6IkxlZ2FjeSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmxlZ2FjeW5ldHdvcmsuaW8vIiwiaW1hZ2VfaWQiOiJlZDE4MWIxYi1lNGMwLTRhMmUtNGE0Yy1mMzgwYTlmMTNjMDAiLCJvcmRlciI6NTYwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2xlZ2FjeS13YWxsZXQvaWQ2NDQzNTc4Njc0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5sZWdhY3luZXR3b3JrLmFwcCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2xlZ2FjeS13YWxsZXQvYW1tamxpbmZla2tvb2Nrb2dmaGRrZ2NvaGpsYmhtZmYiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiaXNMZWdhY3lXYWxsZXQiLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJsZWdhY3k6Ly9uZXR3b3JrLmlvIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI1NzZjOTBjZWFlYTM0ZjI5ZmYwMTA0ODM3Y2YyYjJlMjNkMjAxYmU0M2JlMTQzM2ZlZWIxOGQzNzU0MzBlMWZkIjp7ImlkIjoiNTc2YzkwY2VhZWEzNGYyOWZmMDEwNDgzN2NmMmIyZTIzZDIwMWJlNDNiZTE0MzNmZWViMThkMzc1NDMwZTFmZCIsIm5hbWUiOiJQTFR3YWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vcGx0d2FsbGV0LmlvLyIsImltYWdlX2lkIjoiYTVkOWRkMTUtOGNlZi00MmRlLThiZWQtMDllMDFhOGIwMjAwIiwib3JkZXIiOjU2MTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pZDE1ODEwNTU2MzEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5wYWxldHRlY2hhaW4ud2FsbGV0JmhsPWphJmdsPVVTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJwbHR3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3BsdHdhbGxldC5pby8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIwN2VjODZkZGFhY2FmY2ExMmRlM2JlODdkMDdmZmQxM2MyZDY3NTg2YmRiOWFhMDA5MTFhMTAzMzA2ZThjYjRkIjp7ImlkIjoiMDdlYzg2ZGRhYWNhZmNhMTJkZTNiZTg3ZDA3ZmZkMTNjMmQ2NzU4NmJkYjlhYTAwOTExYTEwMzMwNmU4Y2I0ZCIsIm5hbWUiOiJUb2ZlZSBXYWxsZXQgT2ZmaWNpYWwiLCJob21lcGFnZSI6Imh0dHBzOi8vdG9mZWUuYXBwLyIsImltYWdlX2lkIjoiZDRkYmI3MjMtYjFlYy00Y2ZjLWRhYWItMWQ1NTlhMTUxZjAwIiwib3JkZXIiOjU2MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2luL2FwcC90b2ZlZS9pZDY1MDQyNjk2MDUiLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InRvZmVlOi8vd2FsbGV0IiwidW5pdmVyc2FsIjoiaHR0cHM6Ly90b2ZlZS5hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZTdmNDU0Mjg0Yzk5MzUwMzYxYmZkNWExZjQzM2E5OTllMWU4NDFmMDk5MGYwMjA3ZDQ4ZTE3OTU3MjJmYTdhNyI6eyJpZCI6ImU3ZjQ1NDI4NGM5OTM1MDM2MWJmZDVhMWY0MzNhOTk5ZTFlODQxZjA5OTBmMDIwN2Q0OGUxNzk1NzIyZmE3YTciLCJuYW1lIjoiTmV3V2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL25ld3dhbGxldC5pbyIsImltYWdlX2lkIjoiM2E5N2Q3MTYtMTllNC00NWMwLThjYWItNjE2NjRjMGYzYjAwIiwib3JkZXIiOjU2MzAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9uZXd3YWxsZXQuaW8vIiwiaW9zIjoiIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9uZXd3YWxsZXQuaW8vIn19LCIzOTQwNDY1MDBmYjUyYzllNTdlMDA5MWVmMzAzMDVkNTEzYmNhZTE0MzEzMmE0OWMxZjJhNjliNTk0MTI2MDAxIjp7ImlkIjoiMzk0MDQ2NTAwZmI1MmM5ZTU3ZTAwOTFlZjMwMzA1ZDUxM2JjYWUxNDMxMzJhNDljMWYyYTY5YjU5NDEyNjAwMSIsIm5hbWUiOiJET1NJIFZhdWx0IiwiaG9tZXBhZ2UiOiJodHRwczovL3ZhdWx0LmRvc2kud29ybGQvIiwiaW1hZ2VfaWQiOiIwYTBkMjIzZS02YmY3LTRlMTItYTViNC0xNzIwZGViMDIwMDAiLCJvcmRlciI6NTY0MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3ZhdWx0LmRvc2kud29ybGQvIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9rci9hcHAvZG9zaS12YXVsdC9pZDE2NjQwMTM1OTQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPXdvcmxkLmRvc2kudmF1bHQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9kb3NpLXZhdWx0L2JscGlpY2lrcGltbWtsaG9pcGxvbGlhZW5qbWVjYWJwP2hsPWVuIiwiZmlyZWZveCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2tvL2ZpcmVmb3gvYWRkb24vZG9zaS12YXVsdC8/dXRtX3NvdXJjZT1hZGRvbnMubW96aWxsYS5vcmcmdXRtX21lZGl1bT1yZWZlcnJhbCZ1dG1fY29udGVudD1zZWFyY2giLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOlt7ImluamVjdGVkX2lkIjoiZG9zaVZhdWx0IiwibmFtZXNwYWNlIjoiY29zbW9zIn1dLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYXBwLmRvc2l2YXVsdDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZG9zaXZhdWx0LnBhZ2UubGluay9xTDZqIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3ZhdWx0LmRvc2kud29ybGQvIn19LCJlM2MwNzMyMTY3NDk1YjQwN2FlYWFiN2NkOTY4Y2FjNzNkYjMzNTE0MjEyNDJjOWVhZTcxN2Y0MDMyZGJhNDExIjp7ImlkIjoiZTNjMDczMjE2NzQ5NWI0MDdhZWFhYjdjZDk2OGNhYzczZGIzMzUxNDIxMjQyYzllYWU3MTdmNDAzMmRiYTQxMSIsIm5hbWUiOiJpY2V3YWwiLCJob21lcGFnZSI6Imh0dHBzOi8vaWNld2FsLmNvbSIsImltYWdlX2lkIjoiYmJmYThlNmEtOTg0ZC00OTU1LWM5MTktODE4MWU4YmM5ZTAwIiwib3JkZXIiOjU2NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VrL2FwcC9pY2V3YWwvaWQxNjI5NjA3NTMyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uaWNlY29ycC53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImljZXdhbDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiOTg0ZTQ0ZjJkODBhOTNjMGZlYmY1OGQ5Y2EzOTZiNTgxNzE1MWZjMDc1ZjA5MzMzYTNkMzg3Yzk4MWY3NWYyYyI6eyJpZCI6Ijk4NGU0NGYyZDgwYTkzYzBmZWJmNThkOWNhMzk2YjU4MTcxNTFmYzA3NWYwOTMzM2EzZDM4N2M5ODFmNzVmMmMiLCJuYW1lIjoiRGV4VHJhZGUiLCJob21lcGFnZSI6Imh0dHBzOi8vZGV4dHJhZGUuY29tIiwiaW1hZ2VfaWQiOiJkMzMyMzdjMC1hNGUxLTQzMzktOWRiOC1hMTA4NzMxMWM0MDAiLCJvcmRlciI6NTY2MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3B3YS5kZXh0cmFkZS5jb20iLCJpb3MiOm51bGwsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvZGV4dHJhZGUvbm1sYWRja2luaWZjaGRpZGtvYWFnYmNwbmllb2NvYWg/aGw9ZW4iLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20uZGV4dHJhZGUiLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3B3YS5kZXh0cmFkZS5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6Imh0dHBzOi8vcHdhLmRleHRyYWRlLmNvbSJ9fSwiZGYxZDg5NDAxYzczMjBlNmQ2MmZhNWJjNGE1MTZlOGRmMjFiNjA0YjEwYTdlZWRlZmJlZTlhZGE2NmIyMGM1ZCI6eyJpZCI6ImRmMWQ4OTQwMWM3MzIwZTZkNjJmYTViYzRhNTE2ZThkZjIxYjYwNGIxMGE3ZWVkZWZiZWU5YWRhNjZiMjBjNWQiLCJuYW1lIjoiTmVzdCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbmVzdHdhbGxldC54eXoiLCJpbWFnZV9pZCI6IjlmNDcxZjk3LTBiNjItNGFmOS02MTk4LWZjOWM0YmQ1ODAwMCIsIm9yZGVyIjo1NjcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbmVzdC13YWxsZXQvaWQ2NDUxMTIyMzM0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD14eXoubmVzdHdhbGxldC5uZXN0d2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9uZXN0LXdhbGxldC9jbW9ha2xkZWRqZm5qb2ZnYmJmZW5lZmNhZ21lZGxnYSIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJuZXN0d2FsbGV0IiwibmFtZXNwYWNlIjoiZWlwMTU1In1dLCJyZG5zIjoieHl6Lm5lc3R3YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoibmVzdHdhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZmE5YzNhZGM0ZjBiYmUyNjNkYjE1NjVkMjAwZjc3NmU1ZGE5MDBlYWQwZjE5MTRlMGVjYmY4YjMxM2QyNjhlOSI6eyJpZCI6ImZhOWMzYWRjNGYwYmJlMjYzZGIxNTY1ZDIwMGY3NzZlNWRhOTAwZWFkMGYxOTE0ZTBlY2JmOGIzMTNkMjY4ZTkiLCJuYW1lIjoiV2VtaXhXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LndlbWl4LmNvbS8iLCJpbWFnZV9pZCI6IjI0MzlkOWE0LTJjMWUtNGQyOS0zYmM2LTY1NGZjMjNhNGIwMCIsIm9yZGVyIjo1NjgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9rci9hcHAvd2VtaXgtd2FsbGV0L2lkMTYyODIzMDAwMyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLndlbWl4Zm91bmRhdGlvbi53ZW1peHdhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2VtaXh3YWxsZXQzMDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNDVhYTA5NjI4MjAwMjkxMWE3N2M5ZTFkYmExNmRhZGU5MDU5NjBlNjM4NmU2ODFjMmY4ZDc5NjZmNGU0NzViMSI6eyJpZCI6IjQ1YWEwOTYyODIwMDI5MTFhNzdjOWUxZGJhMTZkYWRlOTA1OTYwZTYzODZlNjgxYzJmOGQ3OTY2ZjRlNDc1YjEiLCJuYW1lIjoiQ3J5cHRva2FyYSIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jcnlwdG9rYXJhLmNvbSIsImltYWdlX2lkIjoiMDI4ZWY1M2YtYjVkOS00YTYzLTJiZjAtZDM4NGM4NTIyNTAwIiwib3JkZXIiOjU2OTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmNyeXB0b2thcmEmaGw9ZW5fVVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS5jcnlwdG9rYXJhIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImNyeXB0b2thcmE6Ly9TdGFydFNjcmVlbiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uY3J5cHRva2FyYSZobD1lbl9VUyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImVlNzg5ZTc0OWU5YWY3MWIxYTU3YTc4ZDkwNjYwODVkMWRhMWVlZGJjZmQyMjExMDA5NjNmMTBjYzg0NTJjZDYiOnsiaWQiOiJlZTc4OWU3NDllOWFmNzFiMWE1N2E3OGQ5MDY2MDg1ZDFkYTFlZWRiY2ZkMjIxMTAwOTYzZjEwY2M4NDUyY2Q2IiwibmFtZSI6IkJpdG5vdm8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2JpdG5vdm8uY29tIiwiaW1hZ2VfaWQiOiJjMjJiMmFmMC0xNWEwLTRlMzUtMzQxNy0xMzc4YjgyMzkxMDAiLCJvcmRlciI6NTcwMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZXMvYXBwL2JpdG5vdm8tY29tcHJhLWJpdGNvaW4vaWQxNTUzNDMwNjY2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYml0bm92by5XYWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJpdG5vdm93YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjI1ZjJlODczOTBmMzJlNGExMzJjMjdjYmJiY2E5NWJjMDQzNGY1Y2JhMzJkYjYxM2RlZmZmMGVhMmJiZjZjZDMiOnsiaWQiOiIyNWYyZTg3MzkwZjMyZTRhMTMyYzI3Y2JiYmNhOTViYzA0MzRmNWNiYTMyZGI2MTNkZWZmZjBlYTJiYmY2Y2QzIiwibmFtZSI6Ik5vZGVWYXVsdCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jaGFpbi5kb2xwaGlub2RlLndvcmxkL3dhbGxldCIsImltYWdlX2lkIjoiNGUxNDNkN2MtMjdjYi00ZDdmLWE0ZTAtYmY2MTJlZjU4MDAwIiwib3JkZXIiOjU3MTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9jaGFpbi5kb2xwaGlub2RlLndvcmxkL3dhbGxldCIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vc2cvYXBwL25vZGV2YXVsdC9pZDY3NTY4NzAzMjYiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9ub2RldmF1bHQtJUUyJTgwJTk0LXdlYjMtd2FsbGV0L25oaWhtbGFuYmZvbWlnaHBqb2RtbWxpaWtibmxtYW9nP3V0bV9zb3VyY2U9aXRlbS1zaGFyZS1jYiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJ3b3JsZC5kb2xwaGlub2RlLmNoYWluIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImF3YWxsZXQ6Ly93YyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2hhaW4uZG9scGhpbm9kZS53b3JsZC93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vY2hhaW4uZG9scGhpbm9kZS53b3JsZC93YWxsZXQifX0sIjNlMmYwMzZkOWM1MTNkMDdhZjU0NjhhZDc2NzJlNDJhMjc0MzJhNTRlYjEyNDJlNDk4ZDFhMWJlMWY0ODhjNGQiOnsiaWQiOiIzZTJmMDM2ZDljNTEzZDA3YWY1NDY4YWQ3NjcyZTQyYTI3NDMyYTU0ZWIxMjQyZTQ5OGQxYTFiZTFmNDg4YzRkIiwibmFtZSI6Ilh1Y3JlIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy54dWNyZS5pbyIsImltYWdlX2lkIjoiNmE1NjBjMGQtODE3ZC00ZjYyLWVmMjEtYjkxNjM2YjMwZjAwIiwib3JkZXIiOjU3MjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9eHVjcmUuZXhwby5jbGllbnQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Inh1Y3JlLmV4cG8uY2xpZW50Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjYjlkNjZlY2FiNmEzYTk4YmZmMmRlMjY1M2U0ZTFjZTQ0ZTg0MTMwYTdhYjMyM2EyODkyYTVjNDU2OTU2ZmZlIjp7ImlkIjoiY2I5ZDY2ZWNhYjZhM2E5OGJmZjJkZTI2NTNlNGUxY2U0NGU4NDEzMGE3YWIzMjNhMjg5MmE1YzQ1Njk1NmZmZSIsIm5hbWUiOiJTaW5vaG9wZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuc2lub2hvcGUuY29tLyIsImltYWdlX2lkIjoiMDZkMDU2YjktYWJhNy00NTNjLWRkYWYtYTA3N2E0NDhlYTAwIiwib3JkZXIiOjU3MzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9zaW5vaG9wZS1ob3Rncm91cC13YWxsZXQvaWQxNjcyOTU2MTk5IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uc2lub2hvcGUubXBjd2FsbGV0LmFwcCIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InNpbm9ob3BlYXBwOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjYTFkM2Y5MWI5MjMzZmYxZjNhNjRmYmFmMmJkNGE3MThlOWVhMDQ4OWVjNzE5MzhkOWRhMDMwYTlmOThlZjhmIjp7ImlkIjoiY2ExZDNmOTFiOTIzM2ZmMWYzYTY0ZmJhZjJiZDRhNzE4ZTllYTA0ODllYzcxOTM4ZDlkYTAzMGE5Zjk4ZWY4ZiIsIm5hbWUiOiJQYXJhU3dhcCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vcGFyYXN3YXAuaW8iLCJpbWFnZV9pZCI6IjczZGM2YjMwLWI2NDQtNDZlNi0wMjBjLTU5MjY4NTFkZjYwMCIsIm9yZGVyIjo1NzQwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcGFyYXN3YXAtbXVsdGljaGFpbi13YWxsZXQvaWQxNTg0NjEwNjkwIiwiYW5kcm9pZCI6bnVsbCwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJwYXJhc3dhcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LnBhcmFzd2FwLmlvLyMvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiOTk0ODI0ZDFlMGI5MzVmNDhlYzM1NzBjOWQ1MWZlNWFmOWJiZDkyNDZiNmY1NzIxMDkwNmY4Yjg1M2FkMjE5NiI6eyJpZCI6Ijk5NDgyNGQxZTBiOTM1ZjQ4ZWMzNTcwYzlkNTFmZTVhZjliYmQ5MjQ2YjZmNTcyMTA5MDZmOGI4NTNhZDIxOTYiLCJuYW1lIjoiR2lyaW4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2dpcmluLmFwcCIsImltYWdlX2lkIjoiNGE3ZjA3NjgtZjJiOS00OGJlLWY0YTEtNDRjNGMxNThlNzAwIiwib3JkZXIiOjU3NTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2tyL2FwcC9naXJpbi13YWxsZXQvaWQ2NjcwMjI2NDg1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hcHAuZ2lyaW53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Imdpcmlud2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOiJnaXJpbndhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH19LCJiZmFkNzllM2Q4OWJmYjkxNWIxZTIzMDAwMDE3OWE4ZmZjOGUwNGYzZjc4YTM5NmQyZTRmM2UxYTUxMjIzNTI5Ijp7ImlkIjoiYmZhZDc5ZTNkODliZmI5MTViMWUyMzAwMDAxNzlhOGZmYzhlMDRmM2Y3OGEzOTZkMmU0ZjNlMWE1MTIyMzUyOSIsIm5hbWUiOiJVS0lTUyBIdWIiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnVraXNzLmlvIiwiaW1hZ2VfaWQiOiIyM2Y0YzkzMy02OGU2LTQ2ZjktNzViNi0yZDI5MDVjYTEzMDAiLCJvcmRlciI6NTc2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6bnVsbCwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby51a2lzcy51aHViLm1vYmlsZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoidWtpc3NodWI6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImNlMjE2YWM3MzEwOTcxMTU5YWRkYTFhYzI3MWZjNmU2NTkwZDJjMDJkYTQzYjg5NGFjMTE5MTkwODQxOTZlNDAiOnsiaWQiOiJjZTIxNmFjNzMxMDk3MTE1OWFkZGExYWMyNzFmYzZlNjU5MGQyYzAyZGE0M2I4OTRhYzExOTE5MDg0MTk2ZTQwIiwibmFtZSI6IkN5YmVyV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5jeWJlci5jbyIsImltYWdlX2lkIjoiMjQ4ODc1NzYtOGU3NC00NTE4LTM2YjMtM2M1ZTEzZjExYTAwIiwib3JkZXIiOjU3NzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL3dhbGxldC5jeWJlci5jbyIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL3dhbGxldC5jeWJlci5jbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuY3liZXIuY28ifX0sIjIyMWViMTlmOWNmZGY1NzdjMmY3NTE5MGZjNGZhMjQ1MjM2MjRmNjA0OTA0Y2VkNzgwODliYzgyZWJkYjk4M2UiOnsiaWQiOiIyMjFlYjE5ZjljZmRmNTc3YzJmNzUxOTBmYzRmYTI0NTIzNjI0ZjYwNDkwNGNlZDc4MDg5YmM4MmViZGI5ODNlIiwibmFtZSI6IkRHRyBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZGdnLm5ldHdvcmsiLCJpbWFnZV9pZCI6ImU0Y2JlZDA4LTg4MzktNGJjZS04NzVmLWQ4OTE3Y2ViN2UwMCIsIm9yZGVyIjo1NzgwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9ubC9hcHAvZGdnLXdhbGxldC1uZnRzLWdhbWVzL2lkMTY1OTYxODIxOCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9bmV0d29yay5kZ2cud2FsbGV0JmhsPWVuX1VTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9ubC9hcHAvZGdnLXdhbGxldC1uZnRzLWdhbWVzL2lkMTY1OTYxODIxOCIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6W3siaW5qZWN0ZWRfaWQiOiJER0ciLCJuYW1lc3BhY2UiOiJlaXAxNTUifV0sInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJkZ2c6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2RnZ25ldHdvcmsuYXBwLmxpbmsifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJjYTMzMTM4OGNmZTcwOGQzYzBmYjA5NGY0YjA4ZmIzYzdlYmQ3Nzc4ZDNkZmRjZWNiNzI4OTkwZTE3OGEzZDgxIjp7ImlkIjoiY2EzMzEzODhjZmU3MDhkM2MwZmIwOTRmNGIwOGZiM2M3ZWJkNzc3OGQzZGZkY2VjYjcyODk5MGUxNzhhM2Q4MSIsIm5hbWUiOiJUaWR1cyBXYWxsZXQgIiwiaG9tZXBhZ2UiOiJodHRwczovL3RpZHVzd2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6Ijc5N2JkMTA4LWQ4NjItNGQxYi1kMzM5LTg4M2RlOWE3NTAwMCIsIm9yZGVyIjo1NzkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvLm55Y3J5cHRvLnRpZHVzd2FsbGV0JmhsPWVuJmdsPVVTIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ0aWR1c3dhbGxldDovL3dhbGxldGNvbm5lY3QiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjJiOTA4NWIzMTQwMjMyMzFhZGY0YmEwNTEyNzRhMjBiOWE0YjVmNjRmZDg1MjUxYTdhMzI5ZTM4NmRhMTgxMWIiOnsiaWQiOiIyYjkwODViMzE0MDIzMjMxYWRmNGJhMDUxMjc0YTIwYjlhNGI1ZjY0ZmQ4NTI1MWE3YTMyOWUzODZkYTE4MTFiIiwibmFtZSI6IlNoZUZpIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5zaGVmaS5vcmciLCJpbWFnZV9pZCI6ImExYTkwOWU4LTUyNmItNDQ1Mi04Nzg4LTViYjIxZTJiOWUwMCIsIm9yZGVyIjo1ODAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly90ZXN0ZmxpZ2h0LmFwcGxlLmNvbS9qb2luL0NFbXgxbkNhIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcuc2hlZmkuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzaGVmaTovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiNDhlNTNkOTY0NjAzMDhhMTczNDYxNGI1ZDRmZGY3ZWExNjllNmY5OThlMDFlYjdiNGUxODAxNGY1NzkwNGQ2NyI6eyJpZCI6IjQ4ZTUzZDk2NDYwMzA4YTE3MzQ2MTRiNWQ0ZmRmN2VhMTY5ZTZmOTk4ZTAxZWI3YjRlMTgwMTRmNTc5MDRkNjciLCJuYW1lIjoiaGVsaXggaWQiLCJob21lcGFnZSI6Imh0dHBzOi8vaGVsaXhpZC5pby8iLCJpbWFnZV9pZCI6IjQwODNlZjcxLTgzODktNDY4Mi1kZWQ2LTAwOTkyMzZkMmUwMCIsIm9yZGVyIjo1ODEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9kZS9hcHAvaGVsaXgtaWQvaWQxNDY5MjM4MDEzP2w9ZW4iLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5pby5oZWxpeC5pZCZobD1lbiZnbD1VUyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiaGVsaXgtaWQ6Ly9oZWxpeC1pZC5jb20iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImIxYjBhMDkxNmM0MzFmNDZhMDYyZWUyYTc1N2Q5MzQ1NGM4MmZmMWYyMmUwMGJmODNiYTFhOWFiZDA5NTcwYWIiOnsiaWQiOiJiMWIwYTA5MTZjNDMxZjQ2YTA2MmVlMmE3NTdkOTM0NTRjODJmZjFmMjJlMDBiZjgzYmExYTlhYmQwOTU3MGFiIiwibmFtZSI6IkhFUkUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2hlcmV3YWxsZXQuYXBwIiwiaW1hZ2VfaWQiOiIyMWNhZGMwNy0yZjQ1LTQ4NjAtMzM1OC04M2EyMDU3YjYzMDAiLCJvcmRlciI6NTgyMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vZG93bmxvYWQuaGVyZXdhbGxldC5hcHA/aW9zIiwiYW5kcm9pZCI6Imh0dHBzOi8vZG93bmxvYWQuaGVyZXdhbGxldC5hcHA/YW5kcm9pZCIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImhlcmV3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL215LmhlcmV3YWxsZXQifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCJkYzhhYzYzOGM2ZmQwMDI5NTBmOTQwNGRiYjA2MzlhZTI1YmFiNjY3YmYxYTYwYTQxOWJmOGY0NGE4OWVkM2E3Ijp7ImlkIjoiZGM4YWM2MzhjNmZkMDAyOTUwZjk0MDRkYmIwNjM5YWUyNWJhYjY2N2JmMWE2MGE0MTliZjhmNDRhODllZDNhNyIsIm5hbWUiOiJMaWYzIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9saWYzLmNvbS8iLCJpbWFnZV9pZCI6IjFhODljMGVjLTkwNTktNDUxNS1hZmI2LTgyMDRkNDlmMDkwMCIsIm9yZGVyIjo1ODMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvbGlmMy9pZDY0NDQzODk2NzQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5saWYzLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoibGlmM3dhbGxldDovL3dhbGxldHZpZXciLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjhmZjZlY2NlZmVmYTc1MDYzMzkyMDFiYzMzMzQ2ZjkyYTQzMTE4ZDZmZjdkNmU3MWQ0OTlkODE4N2ExYzU2YTIiOnsiaWQiOiI4ZmY2ZWNjZWZlZmE3NTA2MzM5MjAxYmMzMzM0NmY5MmE0MzExOGQ2ZmY3ZDZlNzFkNDk5ZDgxODdhMWM1NmEyIiwibmFtZSI6IkJyb2Vhcm4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5icm9lYXJuLmNvbSIsImltYWdlX2lkIjoiYjNjMmM3N2MtYThjZi00NmUxLTA5NWEtNzdmMGEzODkxNTAwIiwib3JkZXIiOjU4NDAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly93d3cuYnJvZWFybi5jb20iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9icm9lYXJuL2lkNjQ0NDE1NjU4NyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJyb2Vhcm4uYnJvd3NlciIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYnJvZWFybjovL3dhbGxldC8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5icm9lYXJuLmNvbS9saW5rL3dhbGxldCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuYnJvZWFybi5jb20ifX0sImYyZGNhOTM4YjcwZWE3OTY1ZmZiYzNlZjQ5ZjNlMjE3MDFkMWZjNGYxYzU0M2Q0YjA1ODAxYzEyNjQxNjQ2NmIiOnsiaWQiOiJmMmRjYTkzOGI3MGVhNzk2NWZmYmMzZWY0OWYzZTIxNzAxZDFmYzRmMWM1NDNkNGIwNTgwMWMxMjY0MTY0NjZiIiwibmFtZSI6IkZJTFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9maWx3YWxsZXQuY28vIiwiaW1hZ2VfaWQiOiJmNDAwZjZjMi1jYTZjLTQ4N2ItNjU0ZC1lMTE5YWYyNDc1MDAiLCJvcmRlciI6MzcxODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9maWx3YWxsZXQtaW8vaWQxNTcyOTMwOTAxIiwiYW5kcm9pZCI6Imh0dHBzOi8vZmlsd2FsbGV0LmNvLyIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2g1LmZpbHdhbGxldC5jbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImYyZGNiZWIyNDZiNGU0ZDM3ZDc0OGE3YjJiZTU0YmJkOTNiZGJlM2UzNTFkMGJhZGMxY2JkM2VhMjYyZDg0NjYiOnsiaWQiOiJmMmRjYmViMjQ2YjRlNGQzN2Q3NDhhN2IyYmU1NGJiZDkzYmRiZTNlMzUxZDBiYWRjMWNiZDNlYTI2MmQ4NDY2IiwibmFtZSI6IkJSSVNFIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iaXRnZXJ0LmNvbSIsImltYWdlX2lkIjoiMDlhNGUxZDktZTRkZS00NGZhLWYyNDgtNTQ5NWJhOWFiMzAwIiwib3JkZXIiOjM3MzAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5icmlzZS53YWxsZXQmaGw9ZW5fVVMmZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI1MTMzNGU0NDRlYTFiYTNkMjNjOTYwNjNiODYwMGM5NGFmODkyMzNiZDNmOGYzNjg1MTIzYzQ2ZTAzNDg3NjZjIjp7ImlkIjoiNTEzMzRlNDQ0ZWExYmEzZDIzYzk2MDYzYjg2MDBjOTRhZjg5MjMzYmQzZjhmMzY4NTEyM2M0NmUwMzQ4NzY2YyIsIm5hbWUiOiJTbm93YmFsbCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zbm93YmFsbC5tb25leS8iLCJpbWFnZV9pZCI6IjMxM2ZhZWE0LWFmOGMtNDFmNC0wZWQ4LTk4YmU1ZDA0OGUwMCIsIm9yZGVyIjozNzMzMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL3Nub3diYWxsLXNtYXJ0LWRlZmktd2FsbGV0L2lkMTQ0OTY2MjMxMSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9bW9uZXkuc25vd2JhbGwuZGVmaSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5zbm93YmFsbC5leGNoYW5nZS9hcHAifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI1ODQ1MzhmMDU5YjA3OWRlZWNjODBkZmFjZTA2MmNmNDBjMzNhZmQ0NWRjYTAyYzdlZGNhMTM0YTgyMjU1NTZkIjp7ImlkIjoiNTg0NTM4ZjA1OWIwNzlkZWVjYzgwZGZhY2UwNjJjZjQwYzMzYWZkNDVkY2EwMmM3ZWRjYTEzNGE4MjI1NTU2ZCIsIm5hbWUiOiJCYWxsZXQgQ3J5cHRvIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5iYWxsZXRjcnlwdG8uY29tLyIsImltYWdlX2lkIjoiNTQyMDk0ZTYtNzBkNi00YjBkLTRjOGYtYjYxY2MyYzM4NTAwIiwib3JkZXIiOjM3NDMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYmFsbGV0LWNyeXB0by9pZDE0NzQ5MTI5NDIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5iYWxsZXRjcnlwdG8maGw9ZW5fVVMmZ2w9VVMiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIyM2RiNzQ4YmJmN2JhMWU3Mzc5MjFiZWUwNGY1NGQ1MzM1NmU5NTUzM2UwZWQ2NmMzOTExMzMyNDg3MzI5NGU3Ijp7ImlkIjoiMjNkYjc0OGJiZjdiYTFlNzM3OTIxYmVlMDRmNTRkNTMzNTZlOTU1MzNlMGVkNjZjMzkxMTMzMjQ4NzMyOTRlNyIsIm5hbWUiOiJSZWFsVCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vcmVhbHQuY28iLCJpbWFnZV9pZCI6ImJmMWYyNTFiLTA4YTUtNGIyNy1hZTRhLTIwMWE1ZjY5ODkwMCIsIm9yZGVyIjozNzQ2MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3JlYWx0LXdhbGxldC9pZDE1NDU1ODU0NjkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvLnJlYWx0LmJyaWRnZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImFkZDQ2ZGZjMmRjMDljODU1ZmM4YzE0ZDk1MDM1MzUyOGUxODRhOGY0MzQ2ODg2MTI5Yzk5MDA3NDQ1MGFlOWMiOnsiaWQiOiJhZGQ0NmRmYzJkYzA5Yzg1NWZjOGMxNGQ5NTAzNTM1MjhlMTg0YThmNDM0Njg4NjEyOWM5OTAwNzQ0NTBhZTljIiwibmFtZSI6IkVubm8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5lbm5vd2FsbGV0LmNvbSIsImltYWdlX2lkIjoiYWU0ZjUxNjctMGI2MS00M2JkLTdkNzYtMWY4NTc5MjcxMDAwIiwib3JkZXIiOjM3NTAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZW5uby13YWxsZXQvaWQxNTc3MDExNjYwI2lvc21waCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmFwcC5hd3Fzb21lLmVubm93YWxsZXQjZ3BtcGgiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImVubm93YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjYzMDc2YmY4NzIwMDA2OWZhNzk5ZjVjNzVjNTc4ZmY5NjNlMGE2YzIzNDg5YjY1Y2M4NzIxZDNjYmM3YWQ1ZTIiOnsiaWQiOiI2MzA3NmJmODcyMDAwNjlmYTc5OWY1Yzc1YzU3OGZmOTYzZTBhNmMyMzQ4OWI2NWNjODcyMWQzY2JjN2FkNWUyIiwibmFtZSI6IkE0IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hNC5maW5hbmNlIiwiaW1hZ2VfaWQiOiI3YTc4OGMwMy1kYWY3LTRkOTMtZmEzYS1mOTRlMmI3MTk5MDAiLCJvcmRlciI6Mzc1NzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9hNC1maW5hbmNlLWNyeXB0by13ZWIzLXdhbGxldC9pZDE2MjMwMDUwOTAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWZpbmFuY2UuYTQubW9iaWxlIiwibWFjIjoiIiwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImZlMjUzNTIwMmQyMDhkOTY2MDc5NTVmZTE4ZTk4ZDQ1NjQ4MzgyMDBjMzQ5OGM4Y2QxNzM2YjQ2MjkxMzU1ZjIiOnsiaWQiOiJmZTI1MzUyMDJkMjA4ZDk2NjA3OTU1ZmUxOGU5OGQ0NTY0ODM4MjAwYzM0OThjOGNkMTczNmI0NjI5MTM1NWYyIiwibmFtZSI6IlNhZmVtYXRyaXgiLCJob21lcGFnZSI6Imh0dHBzOi8vc2FmZW1hdHJpeC5pby8iLCJpbWFnZV9pZCI6IjQ4ZWE1ZGU5LTg2OWEtNDk5NC0yNDAyLTk3YWZiYTA2MDkwMCIsIm9yZGVyIjozNzY1MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vc2cvYXBwL3NhZmVtYXRyaXgvaWQxNjEzMzMzNDgxIiwiYW5kcm9pZCI6Imh0dHBzOi8vZG93bmxvYWQuc2FmZW1hdHJpeC5pby9hYm0vc2FmZW1hdHJpeC5hcGsiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjoiaHR0cHM6Ly9zYWZlbWF0cml4LmlvLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjc5MmZiYWNmZTc4N2Q2NzU5NWRkNGViMzhhYzMwOGUxNGIzYmJjODEwMzkzZGI1NmY0NzdhOTJlNWFjODc2NGIiOnsiaWQiOiI3OTJmYmFjZmU3ODdkNjc1OTVkZDRlYjM4YWMzMDhlMTRiM2JiYzgxMDM5M2RiNTZmNDc3YTkyZTVhYzg3NjRiIiwibmFtZSI6IkFzc3VyZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuYXNzdXJlLnBybyIsImltYWdlX2lkIjoiNjRkYjcxMDQtYzhiNy00NGVhLWUxMDItMTFjZTg3MTI0MjAwIiwib3JkZXIiOjM3OTkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cDovL2l0dW5lcy5hcHBsZS5jb20vYXBwL2lkMTYwNDgyNTAyNiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm5ldXhzLmFzc3VyZSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYXNzdXJlOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuYXNzdXJlLnByby9PZmZpY2lhbCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjBjNWJiYTgyZTcwYTJiNjI0MDU4NzFhZjgwOTAyMGEwNzdkMTEwZDc2NWMwNzk4ZWI2NjBhZDVkMzEzMWIzMjgiOnsiaWQiOiIwYzViYmE4MmU3MGEyYjYyNDA1ODcxYWY4MDkwMjBhMDc3ZDExMGQ3NjVjMDc5OGViNjYwYWQ1ZDMxMzFiMzI4IiwibmFtZSI6IkVkZ2UgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2VkZ2UuYXBwLyIsImltYWdlX2lkIjoiZjYwMWJjMjktNDI5OC00MjJmLWRiZjctMzRkYWMyODg0ZjAwIiwib3JkZXIiOjM4MjkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZWRnZS1iaXRjb2luLXdhbGxldC9pZDEzNDQ0MDAwOTEiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvLmVkZ2VzZWN1cmUuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJlZGdlOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9kZWVwLmVkZ2UuYXBwL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiOTE2MjhlMmFlMjIyOGFmMjE0NWJmYWMyMTA5M2FkN2JlNjgyODEwZWMxNmFmNTQwYTllMDE3YWQ2YjkzM2E4MSI6eyJpZCI6IjkxNjI4ZTJhZTIyMjhhZjIxNDViZmFjMjEwOTNhZDdiZTY4MjgxMGVjMTZhZjU0MGE5ZTAxN2FkNmI5MzNhODEiLCJuYW1lIjoiTmVmdGlXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbmVmdGlwZWRpYS5jb20vIiwiaW1hZ2VfaWQiOiIxZjgxMmRlYy1iZTNkLTQ0NmMtNTJmNy1hNzllYjBkZDU0MDAiLCJvcmRlciI6MzgzMDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOm51bGwsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLk5FRlRpUEVEaUEubXAiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im5lZnRpOi8vbmVmdGkuaWQvYXNzZXQvIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9uZWZ0aS5pZC9hc3NldC8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI3NDZmYTU5ZTIxNGJhNDZjZmE2ODhlOTU0MGE2YjM0NTBiNTE0ZTg5ZjM5YmQ5YzVhMDBiNWE3ZmRhYmE4MzUxIjp7ImlkIjoiNzQ2ZmE1OWUyMTRiYTQ2Y2ZhNjg4ZTk1NDBhNmIzNDUwYjUxNGU4OWYzOWJkOWM1YTAwYjVhN2ZkYWJhODM1MSIsIm5hbWUiOiJHb2xkQml0IiwiaG9tZXBhZ2UiOiJodHRwOi8vZ29sZGJpdC5pby9nYmFwcC5waHAiLCJpbWFnZV9pZCI6IjExOTc0ZWYxLTIxYWItNDgwNi1hMmIxLTM2MmMzMTQ5OTkwMCIsIm9yZGVyIjozODMxMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdHcvYXBwL2dvbGRiaXTpjKLljIUvaWQxNTUxOTE0MDMwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZ29sZGJpdHByby53YWxsZXQiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImdvbGRiaXQ6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjU4NTkwNzZhZGU2MDhmYmM0ZTlkM2ZlMmY5NWU4NTI3ZGU4MGY4NDUxZWNiYjFkY2VkNTRjYTg0ZGVhZTBkZDYiOnsiaWQiOiI1ODU5MDc2YWRlNjA4ZmJjNGU5ZDNmZTJmOTVlODUyN2RlODBmODQ1MWVjYmIxZGNlZDU0Y2E4NGRlYWUwZGQ2IiwibmFtZSI6IkNvaW5ncmlnIiwiaG9tZXBhZ2UiOiJodHRwczovL2NvaW5ncmlnLmNvbSIsImltYWdlX2lkIjoiMThlMzhlNDEtYTM4Ny00NDAyLWNhMzEtNmQyZDVlYjkxMTAwIiwib3JkZXIiOjM4MzIwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvY29pbmdyaWctY3J5cHRvLWJ0Yy13YWxsZXQvaWQxNTgzNDY0NDUxIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uY29pbmdyaWciLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImNvaW5ncmlnOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5rLmNvaW5ncmlnLmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImMzOWQ4ZWU0NjhlNTA0NzRmZGYzYTBiZDZiOTgxYmU0MDRkNDY3MWUyNzAyYTNkNjMzYWFlOTViY2JhYTAzMmEiOnsiaWQiOiJjMzlkOGVlNDY4ZTUwNDc0ZmRmM2EwYmQ2Yjk4MWJlNDA0ZDQ2NzFlMjcwMmEzZDYzM2FhZTk1YmNiYWEwMzJhIiwibmFtZSI6IlhGVU4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3hmdW4uaW8iLCJpbWFnZV9pZCI6ImE2NjVmOGYzLTA5ZWYtNGQxNy0yYmQwLTI2ZGNhNDUxODQwMCIsIm9yZGVyIjozODMzMCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL3hmdW4td2FsbGV0L2lkMTYxMjIyNTkxMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnhmdW4ud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ4ZnVud2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly94ZnVuLmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiYzI5YzkyMzdlOTJiYzE4ZTE0MWU1MmFiYTNhYTZkMDRiMWFmYmU5OTUyYTBhYjJmOTZkYmQ4NjUzNjQ1YzFkZiI6eyJpZCI6ImMyOWM5MjM3ZTkyYmMxOGUxNDFlNTJhYmEzYWE2ZDA0YjFhZmJlOTk1MmEwYWIyZjk2ZGJkODY1MzY0NWMxZGYiLCJuYW1lIjoiQW5jcnlwdG8gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5hbnRpZXJzb2x1dGlvbnMuY29tLyIsImltYWdlX2lkIjoiZDQzODIzMjktZTI4OC00ZDdhLTBhYzgtM2ViMGZhY2ZiOTAwIiwib3JkZXIiOjM4MzYwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9pbi9hcHAvYW5jcnlwdG8td2FsbGV0L2lkMTQ1MzY1NzY1MCIsImFuZHJvaWQiOm51bGwsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYW5jcnlwdG86Ly9hcHAiLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjc5N2M2MTVlMmM1NTZiNjEwYzA0OGViMzU1MzVmMjEyYzBkZDU4ZGU1ZDAzZTc2MzEyMGU5MGE3ZDEzNTBhNzciOnsiaWQiOiI3OTdjNjE1ZTJjNTU2YjYxMGMwNDhlYjM1NTM1ZjIxMmMwZGQ1OGRlNWQwM2U3NjMxMjBlOTBhN2QxMzUwYTc3IiwibmFtZSI6ImlUb2tlbiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lml0b2tlbi5jb20vIiwiaW1hZ2VfaWQiOiI1Y2Q2MGMzNC0wMzhkLTQ3MGMtYzAyNC1kNThmNjQyNjAyMDAiLCJvcmRlciI6Mzg0MDAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pZDE0MzM4ODMwMTIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5odW9iaW9uY2hhaW53YWxsZXQuZ3AiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Imh1b2Jpd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCIwMGUzOWY4MzU5ODhkMWJiNzgzYjJhMDc0OGUxOGJjNjI3OGRlYzAzNDkyZDAwYjBlMTAyYTQ2NmNkOGIzZDc3Ijp7ImlkIjoiMDBlMzlmODM1OTg4ZDFiYjc4M2IyYTA3NDhlMThiYzYyNzhkZWMwMzQ5MmQwMGIwZTEwMmE0NjZjZDhiM2Q3NyIsIm5hbWUiOiJaZWx1cyIsImhvbWVwYWdlIjoiaHR0cHM6Ly96ZWx1cy5pbyIsImltYWdlX2lkIjoiYWViYTIxMDUtNmM4NC00NjQyLWY0NDEtYjNmNTgxN2FjNDAwIiwib3JkZXIiOjM4NDEwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvemVsdXMvaWQxNTg4NDMwMzQzIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uemVsdXMud2FsbGV0IiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ6ZWx1c3dhbGxldDovLyIsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMTFjNTQ4N2U0ZDhkZDhiZjMyZDRjOTIyMjIzNjNkZjgyOTZhMjczMDdiMjUzMWJlMWUyNTc3MDM2NTM5MmVjYiI6eyJpZCI6IjExYzU0ODdlNGQ4ZGQ4YmYzMmQ0YzkyMjIyMzYzZGY4Mjk2YTI3MzA3YjI1MzFiZTFlMjU3NzAzNjUzOTJlY2IiLCJuYW1lIjoiQ2FyZCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vY2FyZHN0YWNrLmNvbS9lYXJuLXRvZ2V0aGVyIiwiaW1hZ2VfaWQiOiIzMjU0MjhjZi1jMjEyLTRkODMtYTQzNC03ZjQ4OTAyZDJjMDAiLCJvcmRlciI6Mzg0MzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2NhcmRzdGFjay5jb20vaW9zIiwiYW5kcm9pZCI6Imh0dHBzOi8vY2FyZHN0YWNrLmNvbS9hbmRyb2lkIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJjYXJkd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuY2FyZHN0YWNrLmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImM2ZjNkMDRhNGUxYTUxZTdkMjA0NWYzNDdhNWViZGFiMzBmYzYwMDk1MGE3NDBmY2EyMWYwYzkyZTIzMGVlMDUiOnsiaWQiOiJjNmYzZDA0YTRlMWE1MWU3ZDIwNDVmMzQ3YTVlYmRhYjMwZmM2MDA5NTBhNzQwZmNhMjFmMGM5MmUyMzBlZTA1IiwibmFtZSI6IkFyaWFuZWUgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2FyaWFuZWUub3JnIiwiaW1hZ2VfaWQiOiJhY2U5MzhhOS1jOTA2LTRiOWUtZjY4My1iODVmMWFiNzI4MDAiLCJvcmRlciI6Mzg0NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2ZyL2FwcC9hcmlhbmVlLXdhbGxldC9pZDE0MzU3ODI1MDciLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5hcmlhbmVlLndhbGxldCIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY29tLmFyaWFuZWUud2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcmlhbmVlLm5ldCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImI4MjNmYjBkNzIyOGVmOGUzYzBiYzk2MDdkZjllZDc5ZGFlMmFiM2EyODExZDMzZjIyYWRlNGY1NzNjMTgyMzIiOnsiaWQiOiJiODIzZmIwZDcyMjhlZjhlM2MwYmM5NjA3ZGY5ZWQ3OWRhZTJhYjNhMjgxMWQzM2YyMmFkZTRmNTczYzE4MjMyIiwibmFtZSI6IlNsYXZpIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zbGF2aS5pby8iLCJpbWFnZV9pZCI6IjI4MmNlMDYwLTBiZWItNDIzNi1iN2IwLTFiMzRjYzZjOGYwMCIsIm9yZGVyIjozODQ3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZW4vYXBwL3NsYXZpLXdhbGxldC9pZDE2MTAxMjU0OTY/bD1lbiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmRlZml3YWxsZXRtb2JpbGUiLCJtYWMiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2VuL2FwcC9zbGF2aS13YWxsZXQvaWQxNjEwMTI1NDk2P2w9ZW4iLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJzbGF2aXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd3d3LnNsYXZpd2FsbGV0LmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMTk4NmU3Yzg3NGJiOTA2ZjA1N2Q1ZDY0YTQ4MDZjMDA0ZTAyMTY4OTUzNmU1MjI4Yzc0ZDY0YTYwNThlOGJhYyI6eyJpZCI6IjE5ODZlN2M4NzRiYjkwNmYwNTdkNWQ2NGE0ODA2YzAwNGUwMjE2ODk1MzZlNTIyOGM3NGQ2NGE2MDU4ZThiYWMiLCJuYW1lIjoiRGVmaWFudCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZGVmaWFudGFwcC50ZWNoLyIsImltYWdlX2lkIjoiMTFhOTZjYTQtMzU5Mi00MmFlLWM3ODEtMmI3MjY1ZWM5MjAwIiwib3JkZXIiOjM4NTAwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvZGVmaWFudC13YWxsZXQvaWQxNTU5NjIyNzU2IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hci5jb20uYW5kaW5hc21hcnQuZGVmaWFudCZobD1lbiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiZGVmaWFudGFwcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGVmaWFudGFwcC50ZWNoLyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImUzNzg3ZWE5OGQwMTRjYTc3ZTJjMzc5NGRiOTdjMDJlZjhiY2IzOTM0NzcwNWY1ZTc5NTAyYTU1NDM0YTFlY2YiOnsiaWQiOiJlMzc4N2VhOThkMDE0Y2E3N2UyYzM3OTRkYjk3YzAyZWY4YmNiMzkzNDc3MDVmNWU3OTUwMmE1NTQzNGExZWNmIiwibmFtZSI6IlRLIEZpbmFuY2UiLCJob21lcGFnZSI6Imh0dHBzOi8vdHJ1c3RrZXlzLm5ldHdvcmsvIiwiaW1hZ2VfaWQiOiJjNDA2NmY2OC0yMjQ3LTQ5YmYtYWM4YS1hNjc3YmZhODE4MDAiLCJvcmRlciI6Mzg1ODAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3ZuL2FwcC90ay1maW5hbmNlL2lkMTYwMTk2ODk2NyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnRydXN0a2V5c25ldHdvcmsiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InRrOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly90cnVzdGtleXMubmV0d29yayJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjg2YjlmYTdjODEwMWJmNGM5YTc5NjhiMGM1NmRmMzdhNjRhMmI2ZmIzOWU5MDIxNzNkY2U1ZGIyZTM0ZmE5ZmQiOnsiaWQiOiI4NmI5ZmE3YzgxMDFiZjRjOWE3OTY4YjBjNTZkZjM3YTY0YTJiNmZiMzllOTAyMTczZGNlNWRiMmUzNGZhOWZkIiwibmFtZSI6IkhhdmVuIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9oYXZlbnN1aXRlLmlvIiwiaW1hZ2VfaWQiOiJiNDFmYzNmMi1hODc0LTQ1YWUtNGQ0Zi1jZGY0N2RhODk1MDAiLCJvcmRlciI6Mzg2NzAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3NnL2FwcC9oYXZlbi13YWxsZXQvaWQxNjM0NTk2NTQ1IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby53YWxsZXQuaGF2ZW4iLCJtYWMiOiIiLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiZDljN2VjOTQyMThkZTY1NGNhYmNlODQ2YmIyNmU2Y2EwZWQ4NDk1YjRjZWE5ZDM5ZGVmODNiYTM3N2NhYWIyMCI6eyJpZCI6ImQ5YzdlYzk0MjE4ZGU2NTRjYWJjZTg0NmJiMjZlNmNhMGVkODQ5NWI0Y2VhOWQzOWRlZjgzYmEzNzdjYWFiMjAiLCJuYW1lIjoiVm9sdDogRGVGaSIsImhvbWVwYWdlIjoiaHR0cHM6Ly92b2x0YWdlLmZpbmFuY2UvYXBwIiwiaW1hZ2VfaWQiOiI1MWQ3ODNjYi0wNjg2LTRmZmEtZTY2MS1lZGNhMGMzODAwMDAiLCJvcmRlciI6Mzg3NjAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92b2x0LWRlZmkvaWQ2NDQ0MTU5MjM3IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1maW5hbmNlLnZvbHRhZ2UuYXBwIiwibWFjIjpudWxsLCJ3aW5kb3dzIjpudWxsLCJsaW51eCI6bnVsbCwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ2b2x0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9nZXQudm9sdGFnZS5maW5hbmNlIn0sImRlc2t0b3AiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9fSwiMmFjYTg1Yjc0ZjJmYzZhZjU1NDAzNmUyMmU0ZjdmMmVlYWRhODMwMjMzODgwODdhZWU0NDg4ZjVkOTY5Nzk3MyI6eyJpZCI6IjJhY2E4NWI3NGYyZmM2YWY1NTQwMzZlMjJlNGY3ZjJlZWFkYTgzMDIzMzg4MDg3YWVlNDQ4OGY1ZDk2OTc5NzMiLCJuYW1lIjoiaU1lIiwiaG9tZXBhZ2UiOiJodHRwczovL2ltZW0uYXBwLyIsImltYWdlX2lkIjoiMjVhYTNhYmYtOTAxYi00ZDgyLWJiODktYzVhZGU1NGMwYzAwIiwib3JkZXIiOjM4ODcwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvaW1lLW1lc3Nlbmdlci9pZDE0NTA0ODA4MjIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5pTWUuYW5kcm9pZCIsIm1hYyI6IiIsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IndjOi8vIiwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI1MWEyNmZlZGY2ZTZjOGM0ODE4N2M2NmE2NjI5NzY0N2IwNDZkYmYwM2IyYTA4ZDgxNTBmOGFjYjMxNDk4NDg4Ijp7ImlkIjoiNTFhMjZmZWRmNmU2YzhjNDgxODdjNjZhNjYyOTc2NDdiMDQ2ZGJmMDNiMmEwOGQ4MTUwZjhhY2IzMTQ5ODQ4OCIsIm5hbWUiOiJNUENXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lm1wY3dhbGxldC54eXovIiwiaW1hZ2VfaWQiOiI2MzZmZjdkNC03OWNlLTQxZDYtZWRlNS04NWM5ZjhhMWQ5MDAiLCJvcmRlciI6MzkwMTAsImFwcCI6eyJicm93c2VyIjpudWxsLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9taW5kdHJ1c3QvaWQ2NDQzNTIyOTg4IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD14eXoubXBjd2FsbGV0LnBybyZwbGk9MSIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjhjODMzYWVmODczNDlmZTdjMTg3MzE4ZTYwZGI2MDBhMWY4MTAzNWZkZGExODM3MmViZGExZjAzOWVhMDI3MzMiOnsiaWQiOiI4YzgzM2FlZjg3MzQ5ZmU3YzE4NzMxOGU2MGRiNjAwYTFmODEwMzVmZGRhMTgzNzJlYmRhMWYwMzllYTAyNzMzIiwibmFtZSI6IlRSRUFTVVJFIiwiaG9tZXBhZ2UiOiJodHRwczovL3RyZWFzdXJld2FsbGV0LmNvLyIsImltYWdlX2lkIjoiNmI1ZDQ1ZjYtMTE3Yy00NGEwLWQ3YjAtNzFjMjg4NjRhMTAwIiwib3JkZXIiOjM5MDMwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjpudWxsLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jcnlwdG8udHJlYXN1cmUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfSwiZGVza3RvcCI6eyJuYXRpdmUiOm51bGwsInVuaXZlcnNhbCI6bnVsbH19LCI3NjVkMTVjZGUzYTAyZTA4OGZiYzcxMmNhYmQ1MjdlYzdkOGVmYzMyYzUxNzdmZDQ3MzM3NzYwYjFhNWU3ZWM3Ijp7ImlkIjoiNzY1ZDE1Y2RlM2EwMmUwODhmYmM3MTJjYWJkNTI3ZWM3ZDhlZmMzMmM1MTc3ZmQ0NzMzNzc2MGIxYTVlN2VjNyIsIm5hbWUiOiJTZW5kZXIiLCJob21lcGFnZSI6Imh0dHBzOi8vc2VuZGVyLm9yZy8iLCJpbWFnZV9pZCI6IjZmYjQ2MjgyLTNkMTUtNGM4YS00MWFlLTBkNTIxMTVlM2YwMCIsIm9yZGVyIjozOTA3MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3NlbmRlci13YWxsZXQvaWQxNjM3ODIxNzYyIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uc2VuZGVyX3dhbGxldF9tb2JpbGUiLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9zZW5kZXItd2FsbGV0L2VwYXBpaGRwbGFqY2RubmtkZWlhaGxnaWdvZmxvaWJnP3V0bV9zb3VyY2U9Y2hyb21lLW50cC1pY29uIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sImNjMTE3ZjJhNjBhYzlkODgwYmI0NWFkOWMxY2EwMWQ5ZjM1ZDgxY2Y4YzQ4OWVjZDBlNzg5ZjE1Mzc1NDA2NGUiOnsiaWQiOiJjYzExN2YyYTYwYWM5ZDg4MGJiNDVhZDljMWNhMDFkOWYzNWQ4MWNmOGM0ODllY2QwZTc4OWYxNTM3NTQwNjRlIiwibmFtZSI6Ik5GSUQgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL25maWQub25lLyIsImltYWdlX2lkIjoiYmM3MzJhZTUtYzRlMy00OGEyLTliZWItMDc3ZjM0MWNjNjAwIiwib3JkZXIiOjc5NTgwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vbmZpZC5vbmUvIiwiaW9zIjoiIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9uZmlkLm9uZS8ifX0sIjI2MjM3MjcyZjEzMmE3YmVhMDM4MGNjNTRiMjU5NjdlODRmZmE4ZDc4YjlkNWQ2OGZlNjVkMDhmNmRlY2U0NDQiOnsiaWQiOiIyNjIzNzI3MmYxMzJhN2JlYTAzODBjYzU0YjI1OTY3ZTg0ZmZhOGQ3OGI5ZDVkNjhmZTY1ZDA4ZjZkZWNlNDQ0IiwibmFtZSI6IlZlbGdhem0iLCJob21lcGFnZSI6Imh0dHBzOi8vdmVsZ2F6bS5jb20vIiwiaW1hZ2VfaWQiOiI1MzU5NjMwYS1hNWRkLTQxMDYtNjQ4Mi00MTM1YmVkY2UyMDAiLCJvcmRlciI6Nzk2NDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91YS9hcHAvdmVsZ2F6bS9pZDY3NDM5OTkzMzIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS52ZWxnYXptX25ldyIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoidmVsZ2F6bTovL3djIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJhYWU0MGEwMGM5N2FlZGJmZGZmNGE1Nzk4ZTdhODcxYjkxNmQ2ODdlNzkwZmYzY2YxMmU5MjY3ZTZiYWFjYzc5Ijp7ImlkIjoiYWFlNDBhMDBjOTdhZWRiZmRmZjRhNTc5OGU3YTg3MWI5MTZkNjg3ZTc5MGZmM2NmMTJlOTI2N2U2YmFhY2M3OSIsIm5hbWUiOiJTYXVjZXJTd2FwIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuc2F1Y2Vyc3dhcC5maW5hbmNlL3NhdWNlcnN3YXAtd2FsbGV0IiwiaW1hZ2VfaWQiOiJlZDdhZTQ4Yy1kOGQyLTQzZjQtNjA1OS01NGM4ZTVjMjRjMDAiLCJvcmRlciI6Nzk2NjAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvc2F1Y2Vyc3dhcC1oZWRlcmEtd2FsbGV0L2lkNjc0NzQwNTQ4OSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnNhdWNlcnN3YXAubW9iaWxlIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3d3dy5zYXVjZXJzd2FwLmZpbmFuY2UvYXBwIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJjMmM1NjFiYTcxZWExNmEzYjljOTAwM2E3N2QyZmFkM2RjNGY1OTc3NTBmMGFjZDM4NWQzZTEyZGRmZTU1NzkzIjp7ImlkIjoiYzJjNTYxYmE3MWVhMTZhM2I5YzkwMDNhNzdkMmZhZDNkYzRmNTk3NzUwZjBhY2QzODVkM2UxMmRkZmU1NTc5MyIsIm5hbWUiOiJTdGF0aWNCaXQiLCJob21lcGFnZSI6Imh0dHBzOi8vc3RhdGljYml0LmlvIiwiaW1hZ2VfaWQiOiJlN2M1OGYzMi0zYTViLTQwZWQtZjc1Ni0zMzhlOTE1ZDBkMDAiLCJvcmRlciI6Nzk3MDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc3RhdGljYml0L2lkNjc0NTUyOTQyNiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uc3RhdGljYml0LndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoic3RhdGljYml0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9saW5rLnN0YXRpY2JpdC5pbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiOTE4YjAyYzIyMjMyOTI2M2ZjZjdjZDU1NWY0YTUxMWI1NWY0MjExZWRlMGMzYWE2YjQ4MWZjNzkwZGEwY2QyZiI6eyJpZCI6IjkxOGIwMmMyMjIzMjkyNjNmY2Y3Y2Q1NTVmNGE1MTFiNTVmNDIxMWVkZTBjM2FhNmI0ODFmYzc5MGRhMGNkMmYiLCJuYW1lIjoiVktYIFdBTExFVCIsImhvbWVwYWdlIjoiaHR0cHM6Ly92a2luaGEuY29tL2Rvd25sb2FkIiwiaW1hZ2VfaWQiOiIxYTUzODQ3Ni1iNDhhLTRjODItMDU4MC00ODY5ZGU4NjA0MDAiLCJvcmRlciI6Nzk4NTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmtpbmhhLndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoidmt4d2FsbGV0Oi8vd2MiLCJ1bml2ZXJzYWwiOiJodHRwczovL3ZraW5oYS5jb20vd2FsbGV0In0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJjMmFiYjE2Y2ZkMzcwMWYwODc0MzNhODFhMDYyODQ5OWUxOTE1MGI1NDk4NjY0YWE3M2IwNmRmMjg5OWQ5ZDIwIjp7ImlkIjoiYzJhYmIxNmNmZDM3MDFmMDg3NDMzYTgxYTA2Mjg0OTllMTkxNTBiNTQ5ODY2NGFhNzNiMDZkZjI4OTlkOWQyMCIsIm5hbWUiOiJEZm5zIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5kZm5zLmNvLyIsImltYWdlX2lkIjoiZjc3ZGRlZGQtNWEyYi00N2VjLTM0MTEtNjEwYzQ1MzU4YzAwIiwib3JkZXIiOjc5OTMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLmRmbnMuaW8vIiwiaW9zIjoiIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAuZGZucy5pby8ifX0sIjYyYzkxOWEzMTFlMDYwNTA2MjAzNDliZjFlMDQ0MmJhNGI1NDczYzRmYzQ3NzMzYzUzZDIxYTY0YWNlOWYwN2EiOnsiaWQiOiI2MmM5MTlhMzExZTA2MDUwNjIwMzQ5YmYxZTA0NDJiYTRiNTQ3M2M0ZmM0NzczM2M1M2QyMWE2NGFjZTlmMDdhIiwibmFtZSI6Ik9YUEFZIiwiaG9tZXBhZ2UiOiJodHRwczovL294cGF5d2FsbGV0LmNvbSIsImltYWdlX2lkIjoiMjQzZDQ5YTEtMDA3MC00MzhjLTY4YzctMDllODUyMzhiOTAwIiwib3JkZXIiOjc5OTcwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6IiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm94V2FsbGV0LnByb2R1Y3Rpb24iLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vb3hwYXl3YWxsZXQuY29tL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIwMzVkZWQwZjI2M2U0YTY0YmYyYzg0ZGIwNmI3M2U2YjRjNTExNTkyOWVhNDA3Y2MyYTMxMjdlZTZmMzkyZTBlIjp7ImlkIjoiMDM1ZGVkMGYyNjNlNGE2NGJmMmM4NGRiMDZiNzNlNmI0YzUxMTU5MjllYTQwN2NjMmEzMTI3ZWU2ZjM5MmUwZSIsIm5hbWUiOiJFbGFzdG9zIEVzc2VudGlhbHMiLCJob21lcGFnZSI6Imh0dHBzOi8vZWxhc3Rvcy5uZXQvd2FsbGV0IiwiaW1hZ2VfaWQiOiJhODIzNjllNi1mNmNjLTQzNjQtMWI0NS1kMzg4YjNmODQ0MDAiLCJvcmRlciI6ODAwNDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZWxhc3Rvcy1lc3NlbnRpYWxzL2lkMTU2ODkzMTc0MyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8ud2ViM2Vzc2VudGlhbHMuYXBwIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJlc3NlbnRpYWxzOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9lc3NlbnRpYWxzLndlYjNlc3NlbnRpYWxzLmlvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI2MmJjOWY5M2E3N2ZiZjZlODA3ZWEyYTNhNGFhYjBjYTJlOTQyZjdlNWJmMjhkMTBkYmIxNThiMmYyMDM4MDVlIjp7ImlkIjoiNjJiYzlmOTNhNzdmYmY2ZTgwN2VhMmEzYTRhYWIwY2EyZTk0MmY3ZTViZjI4ZDEwZGJiMTU4YjJmMjAzODA1ZSIsIm5hbWUiOiJDb3JuV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5jb3Jud2FsbGV0LmlvLyIsImltYWdlX2lkIjoiOWI3Mzk4YjMtZjk2Yy00ZTVlLWUxODktMWI2OWM5MjY3NTAwIiwib3JkZXIiOjgwMDUwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2Nvcm53YWxsZXQvaWQ2NzU1NjUwODgxIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuY29ybndhbGxldC5pby8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjMzNDQ5M2U3NGM5M2Q1ODk1MDAzMmI1NjhkYTQ1MGE2MGE0NTdiM2IyZTJkODZlYWQ2NjQyYzk1NTkyNzQ4NGIiOnsiaWQiOiIzMzQ0OTNlNzRjOTNkNTg5NTAwMzJiNTY4ZGE0NTBhNjBhNDU3YjNiMmUyZDg2ZWFkNjY0MmM5NTU5Mjc0ODRiIiwibmFtZSI6IlRUQ2hhaW4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3R0LWNoYWluLmlvLyIsImltYWdlX2lkIjoiNDE3NjQ5NDktNjg2Zi00NmU2LTliZmYtZTEyYzA1OTE2NjAwIiwib3JkZXIiOjgwMDYwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6IiIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3R0Y2hhaW4td2FsbGV0L2hiY2FlbGRqaWlqZmZuZ2xrYWVnamRrYWJpcGFqZmplP2hsPXpoLUNOJnV0bV9zb3VyY2U9ZXh0X3NpZGViYXIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLnR0Y2hhaW4iLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJkMGNhOTlmZjUyYjk5YWJjNDg3NDNkYWQwZjdmYzg5MWUwNDFiZTczNTc0ZjdmYWM0YWZlNWQ0YmI4Mzg0NWM4Ijp7ImlkIjoiZDBjYTk5ZmY1MmI5OWFiYzQ4NzQzZGFkMGY3ZmM4OTFlMDQxYmU3MzU3NGY3ZmFjNGFmZTVkNGJiODM4NDVjOCIsIm5hbWUiOiJDb2luYmFzZSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LmNvaW5iYXNlLmNvbS8iLCJpbWFnZV9pZCI6IjU5NDYyN2JkLTZkMzUtNDA2YS04ZDJiLTMxZTBiNWYwM2MwMCIsIm9yZGVyIjo4MDA5MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9iYXNlLWZvcm1lcmx5LWNvaW5iYXNlLXdhbGxldC9pZDEyNzgzODM0NTUiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS5jb2luYmFzZS53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJjYjQ3MzcxNDY5YTU5NThiMWIwYTRmZmM4MGU5ZWNjOWIzZWU1ZDRmZjE1Y2FjMTkzNjk5NjI2YTJhODUyNzFmIjp7ImlkIjoiY2I0NzM3MTQ2OWE1OTU4YjFiMGE0ZmZjODBlOWVjYzliM2VlNWQ0ZmYxNWNhYzE5MzY5OTYyNmEyYTg1MjcxZiIsIm5hbWUiOiJHR1AgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2dncC5nZy9lbiIsImltYWdlX2lkIjoiNDcxYjM5ZjYtZWZiNS00N2FlLTE5MGQtNzY5YTU3YTNjMzAwIiwib3JkZXIiOjgwMTMwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2dncC13YWxsZXQvaWQ2NjkyNjI3OTkwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZ2dwX193YWxsZXQmcGxpPTEiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6InByb21vLmdncC5nZy8/cmVmPSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMWVjMWFmMDE0NWFmOTljMmFhYzc5ZWE0NGM1NzZmZWExZTQ5ODkwNDAwMjIzMDYwODVmZDZkMGQxMWE5OGIyZSI6eyJpZCI6IjFlYzFhZjAxNDVhZjk5YzJhYWM3OWVhNDRjNTc2ZmVhMWU0OTg5MDQwMDIyMzA2MDg1ZmQ2ZDBkMTFhOThiMmUiLCJuYW1lIjoiR3VhcmRhIiwiaG9tZXBhZ2UiOiJodHRwczovL2d1YXJkYS5jb20vIiwiaW1hZ2VfaWQiOiIzM2ZkY2U3Mi1jOTBkLTQzMWYtNGUyYS1hZDdhYTczZmQ3MDAiLCJvcmRlciI6ODAxNTAsImFwcCI6eyJicm93c2VyIjoiaHR0cHM6Ly9ndWFyZGEuY29tL2FwcCIsImlvcyI6IiIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL2d1YXJkYS9ocGdsZmhnZm5oYmdwamRlbmpnbWRnb2VpYXBwYWZsbiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20uZ3VhcmRhLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2d1YXJkYS5jb20vYXBwIn19LCI1NDQ5MzMyZjE0MTk5Y2MwMzI0OWUyNzI4M2RjZTc3MDdkNDM0MmEwOTJkZjk2ODIyZjQ1MTY3MGEwOTUxMGE4Ijp7ImlkIjoiNTQ0OTMzMmYxNDE5OWNjMDMyNDllMjcyODNkY2U3NzA3ZDQzNDJhMDkyZGY5NjgyMmY0NTE2NzBhMDk1MTBhOCIsIm5hbWUiOiJOdWxsVHJhY2UiLCJob21lcGFnZSI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL251bGx0cmFjZS9pZDY3NTg0MTE4NTkiLCJpbWFnZV9pZCI6ImVkNDk2MzY5LWNmMDItNGM5OS1mNTdhLTI3Y2Q1ZDYxNzIwMCIsIm9yZGVyIjo4MDE2MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hdWRpb3pvbmUvaWQ2NzU4NDExODU5IiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9udWxsdHJhY2UuYXBwIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJhZmZlNGMzOTgzMzZlM2JlZWQxMTYzNjhhNTliMTQ4ZjNhMGEzNjRmZGMyZTMzNjBiNWQ5NDZlMTM5NGZkNjIyIjp7ImlkIjoiYWZmZTRjMzk4MzM2ZTNiZWVkMTE2MzY4YTU5YjE0OGYzYTBhMzY0ZmRjMmUzMzYwYjVkOTQ2ZTEzOTRmZDYyMiIsIm5hbWUiOiJCZWVTd2FybSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LmJlZXN3YXJtLmFwcCIsImltYWdlX2lkIjoiZDA5ZmZkNTEtY2M2My00MTgxLTk4YzEtYzU5YTllZDgxZTAwIiwib3JkZXIiOjgwMTcwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vd2FsbGV0LmJlZXN3YXJtLmFwcCIsImlvcyI6IiIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0LmJlZXN3YXJtLmFwcCJ9fSwiZmQ2OWMzOWE2ZWY0ZmJjNzE3MTcxNTczNDQxYzNiNzBmYmVkZjczYjZmNmJjOWFhNzlhYTRkOTRkNDRhMjIxZiI6eyJpZCI6ImZkNjljMzlhNmVmNGZiYzcxNzE3MTU3MzQ0MWMzYjcwZmJlZGY3M2I2ZjZiYzlhYTc5YWE0ZDk0ZDQ0YTIyMWYiLCJuYW1lIjoiQW55Yml0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5hbnliaXQuaW8vIiwiaW1hZ2VfaWQiOiI0NDk2NzE4NC1lZTJjLTRmZjgtZTBmOS1iMGY2ZTk3ZWFiMDAiLCJvcmRlciI6ODAyMDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYW55Yml0LWNsYXNzaWMvaWQ2NzQwMTk5ODQzIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiYW55Yml0Oi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI5YThmNzYwMWQyNGRiMzZkMGNjODJkZjRiN2FkYzExZWI4MDQ1MWIyZjY1MWJmMjAzYjRlMmY4Njk2ZjE2NTg2Ijp7ImlkIjoiOWE4Zjc2MDFkMjRkYjM2ZDBjYzgyZGY0YjdhZGMxMWViODA0NTFiMmY2NTFiZjIwM2I0ZTJmODY5NmYxNjU4NiIsIm5hbWUiOiJEZUJveCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZGVib3gucHJvIiwiaW1hZ2VfaWQiOiJlNTk2NzBjOC0yNDhlLTRiM2MtMTc3MS0yNmQ3MTI5M2RhMDAiLCJvcmRlciI6ODAyNDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZGVib3gtJUU1JThBJUEwJUU1JUFGJTg2JUU0JUJBJUJBJUU1JUEzJUFCJUU0JUI4JTkzJUU1JUIxJTlFJUU5JTgwJTlBJUU0JUJGJUExLSVFNyVBNCVCRSVFNCVCQSVBNCVFNSVCNyVBNSVFNSU4NSVCNy9pZDY0NDQ0ODUyMjA/bD16aC1IYW5zLUNOIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udG0uc2VjdXJpdHkud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJEZWJveDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGVib3gucHJvL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJkOTQ0YjZkOTY3ZTA4OWM2NjQyNDEwZTA5ZGNjYzBlOGNhM2UyZmE1MjFjY2FlMjllNjFkNDdjZDNkN2I5Nzc3Ijp7ImlkIjoiZDk0NGI2ZDk2N2UwODljNjY0MjQxMGUwOWRjY2MwZThjYTNlMmZhNTIxY2NhZTI5ZTYxZDQ3Y2QzZDdiOTc3NyIsIm5hbWUiOiJEcm9wcCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9kcm9wcC5jYyIsImltYWdlX2lkIjoiOTFiNzFiNzItZjliNi00NGViLTc3MjAtYTY3NDU0OWRmODAwIiwib3JkZXIiOjgwMjYwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2Ryb3BwLXBheW1lbnRzLXdhbGxldC9pZDE1NDQ4OTQ0MDQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNjLmRyb3BwLndhbGxldCZobD1lbl9VUyIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiZHJvcHA6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3BheW1lbnRzbGluay5kcm9wcC5jYyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZWMxZmRkZWM3OGFjMmFlNGQzYzJlMTIxNTc0MDM5OTg4NTM4MTgxOWM5MWE0MjU0MDA2MTc3ZGYwZTg2Njg4ZCI6eyJpZCI6ImVjMWZkZGVjNzhhYzJhZTRkM2MyZTEyMTU3NDAzOTk4ODUzODE4MTljOTFhNDI1NDAwNjE3N2RmMGU4NjY4OGQiLCJuYW1lIjoiVUtleSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vdWtleS5jb20iLCJpbWFnZV9pZCI6ImMzNTQ3OWI3LWMyMjgtNDg1OS0xZjliLTQwNjQ5M2YwMDAwMCIsIm9yZGVyIjo4MDMwMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2ZyL2FwcC91a2V5LWNyeXB0by1iaXRjb2luLXdhbGxldC9pZDY3NTgyNjUyNjQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWFwcC51a2V5LmlvIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJ1a2V5LXdhbGxldDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLnVrZXkuaW8vd2MvY29ubmVjdCJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZTg2YjVmYzU2YzM2NjE3MjYyNDhhN2EzZjk5ZmFlNjhkY2EwY2M3ZmE1MDNlMmNlOTZjMTg3Mzk3M2ZlYTNmNSI6eyJpZCI6ImU4NmI1ZmM1NmMzNjYxNzI2MjQ4YTdhM2Y5OWZhZTY4ZGNhMGNjN2ZhNTAzZTJjZTk2YzE4NzM5NzNmZWEzZjUiLCJuYW1lIjoiQ2lwaGVyVHJhZGUiLCJob21lcGFnZSI6Imh0dHBzOi8vY2lwaGVydHJhZGUub3JnIiwiaW1hZ2VfaWQiOiJmNTM1ZTFlNi0yMTg5LTQzMDUtMGEwZC0xNDdmODMwMzFjMDAiLCJvcmRlciI6ODAzMzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcuY2lwaGVydHJhZGUuYXBwIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJjaXBoZXJ0cmFkZTovL3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9jaXBoZXJ0cmFkZS5vcmcvd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImEyZjE4MjU3OTc1NzA3Y2E3ZGQ1OTMyMmZkY2MzZWEwMjgyYmFkZWMyMzYzZTBhMWRiNjkwMWUzMjYyODU2ZmEiOnsiaWQiOiJhMmYxODI1Nzk3NTcwN2NhN2RkNTkzMjJmZGNjM2VhMDI4MmJhZGVjMjM2M2UwYTFkYjY5MDFlMzI2Mjg1NmZhIiwibmFtZSI6IkRvbWFXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0LmRvbWEuaW8iLCJpbWFnZV9pZCI6ImE0ZjkzNzM3LTAxMzYtNDlmNy0yNmI2LTQ2OGE4OTE5YmUwMCIsIm9yZGVyIjo4MDQwMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9kb21hLXdhbGxldC9pZDY3NTU2NDg1MTkiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5Eb21hd2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJnb2xkd2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJiY2NmZGZlMDIwYjZkZjdiZjdiZGVjNjAyOTdiZTYzYjhjYTRhYjY0NjhiZDBlMGZkOTVhNDcyZGEwNzZiYWEzIjp7ImlkIjoiYmNjZmRmZTAyMGI2ZGY3YmY3YmRlYzYwMjk3YmU2M2I4Y2E0YWI2NDY4YmQwZTBmZDk1YTQ3MmRhMDc2YmFhMyIsIm5hbWUiOiJHUlJOUGF5IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5ncnJuLm5nIiwiaW1hZ2VfaWQiOiJhYzg3M2E1Mi1mNzc1LTQwOTgtZmQ1NC0xZjBhODg0OGRhMDAiLCJvcmRlciI6ODA0MjAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvZ3JybnBheS9pZDY3NTQ0NTA4MzgiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5ncnJuLm5nLnBheSZwY2FtcGFpZ25pZD13ZWJfc2hhcmUiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6Imdycm5wYXk6Ly93YyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZ3JybnBheS5ncnJuLmlvL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIxNjE4MTEzNDUwMzYwOGJjNjgzYTNmMDcxYjk5ZWJjMjU4MWYxMzRkYWZiMzUwNzU2Yjg2ZmM5ODQ3MjZkZDk0Ijp7ImlkIjoiMTYxODExMzQ1MDM2MDhiYzY4M2EzZjA3MWI5OWViYzI1ODFmMTM0ZGFmYjM1MDc1NmI4NmZjOTg0NzI2ZGQ5NCIsIm5hbWUiOiJIZXggVHJ1c3QiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmhleHRydXN0LmNvbSIsImltYWdlX2lkIjoiMTA1ODU0ZDEtOWE4MC00OTAyLTA2NzMtNTExZTVjM2QxNzAwIiwib3JkZXIiOjgwNDUwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vaGV4c2FmZS5oZXh0cnVzdC5jb20vIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9oay9hcHAvaGV4LXNhZmUtbW9iaWxlLWFwcC9pZDY0NTAxOTc2NTc/bD1lbi1HQiIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vaGV4c2FmZS5oZXh0cnVzdC5jb20vIn19LCIyODg5MjYzNTA0YTZhZDM0ZGI1NjMzZjQ3Y2NlZDM3NjExZjM1MTc4YzE1OTYwNDg3M2E5NWYwMGNlY2FiM2E0Ijp7ImlkIjoiMjg4OTI2MzUwNGE2YWQzNGRiNTYzM2Y0N2NjZWQzNzYxMWYzNTE3OGMxNTk2MDQ4NzNhOTVmMDBjZWNhYjNhNCIsIm5hbWUiOiJUb3BOb2QiLCJob21lcGFnZSI6Imh0dHBzOi8vdG9wbm9kLmNvbS8iLCJpbWFnZV9pZCI6IjhiZDU1NzQyLWMwZDctNDk5Ni00ZTBmLWE3YmU3NDIxMDIwMCIsIm9yZGVyIjo4MDQ3MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC90b3Bub2QvZHBsbXBvbW5nbWxwbG1kYmxvaWhmb3BubmFraWRkZm0/aGw9emgtQ04mdXRtX3NvdXJjZT1leHRfc2lkZWJhciIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20udG9wbm9kIiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiOTk3YTM1NWM4ZjY4MjQ2ODcwNmE3NmNmZjFiMDA0YTcxMTVmNTA1ZmI5NjJkYWM1NGI2ZTliNDQyZGQxYzM4MCI6eyJpZCI6Ijk5N2EzNTVjOGY2ODI0Njg3MDZhNzZjZmYxYjAwNGE3MTE1ZjUwNWZiOTYyZGFjNTRiNmU5YjQ0MmRkMWMzODAiLCJuYW1lIjoiRnJlaWdodGVyIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5mcmVpZ2h0ZXIuYXBwLyIsImltYWdlX2lkIjoiMTE0YWE4NzUtNDg3YS00ZDg2LTVjODctNmYyMmY0NTU5MTAwIiwib3JkZXIiOjgwNTIwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2ZyZWlnaHRlci9pZDY3NDM5NDc3MjAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5zdGVsbGFyLmZyZWlnaHRlcndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiZnJlaWdodGVyd2FsbGV0Oi8vd2MtcmVkaXJlY3QiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjQ4ODc5NzQ4OWU2MjA3ZDI4NGE3OTYzODE1OTY0NTNkYTYwMzk5ZDJkMmVmOGE4OGM2MTI2ZmY0YWFmOTQ5MWMiOnsiaWQiOiI0ODg3OTc0ODllNjIwN2QyODRhNzk2MzgxNTk2NDUzZGE2MDM5OWQyZDJlZjhhODhjNjEyNmZmNGFhZjk0OTFjIiwibmFtZSI6IktyaXB0b0siLCJob21lcGFnZSI6Imh0dHBzOi8va3JpcHRvay5pbyIsImltYWdlX2lkIjoiZmJiNzE1ZTEtMjgwYy00OWMwLWQ2YTctZjMyOGFhZDFhMzAwIiwib3JkZXIiOjgwNTMwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdHIvYXBwL2tyaXB0b2svaWQ2NzUyMzUwMDIyP2w9dHIiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5rcmlwdG9rYXNhbS5jcnlwdG93YWxsZXQiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6ImtyaXB0b2s6Ly93YyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vZGV2LWFwaS5rcmlwdG9rLmlvL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI0ZTMxYjU4NjczODQ2ODU1NGVlZmMxZGY5ZWM5NTRhYzgxMzk4Yjc2NjBkZWQ0ZTMyNzUwMjk5YmE3ZWE1MmRmIjp7ImlkIjoiNGUzMWI1ODY3Mzg0Njg1NTRlZWZjMWRmOWVjOTU0YWM4MTM5OGI3NjYwZGVkNGUzMjc1MDI5OWJhN2VhNTJkZiIsIm5hbWUiOiJXYWxsZXQgVG9kYXkiLCJob21lcGFnZSI6Imh0dHBzOi8vd2FsbGV0MmRheS5jb20vIiwiaW1hZ2VfaWQiOiIyODMyYjUxMC00NzdmLTRlNzYtMDljNC0zNzYyOTdkOGU2MDAiLCJvcmRlciI6ODA2MDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udG9kYXkud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJ3YWxsZXR0b2RheTovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vd2FsbGV0MmRheS5jb20vd2MifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjRjMzNlNDk3YmY0MDE3ZTdkZjJkYjU3MDI4MmQyN2U2ZTg2NjAwNmQzZTBmYWU1ZTI4M2M3M2MxMGE5NmRmNDYiOnsiaWQiOiI0YzMzZTQ5N2JmNDAxN2U3ZGYyZGI1NzAyODJkMjdlNmU4NjYwMDZkM2UwZmFlNWUyODNjNzNjMTBhOTZkZjQ2IiwibmFtZSI6Ikx1bWluYSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbHVtaW5hd2FsbGV0Lm9yZyIsImltYWdlX2lkIjoiMTJhYzgwMGItODVmYS00MTgxLTY1MTgtYWY3YzBlMTVhNDAwIiwib3JkZXIiOjgwNjIwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6IiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmx1bWluYXdhbGxldC5hcHAiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6Imx1bWluYTovL3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9sdW1pbmF3YWxsZXQub3JnL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJiZDhhNzk5YWVkMzliMjg0Y2Y0YTJjMWE3NjVhM2QwNDdhMmNkNzA5ZTA2ZGIyMWJhYTM2OWFjNWMxZmZlNzc0Ijp7ImlkIjoiYmQ4YTc5OWFlZDM5YjI4NGNmNGEyYzFhNzY1YTNkMDQ3YTJjZDcwOWUwNmRiMjFiYWEzNjlhYzVjMWZmZTc3NCIsIm5hbWUiOiJTYXR1IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zYXR1d2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6Ijk4NDFiZmI0LTUyZDUtNDAzNS0wNDFhLTZhZWQ2YWJiZWQwMCIsIm9yZGVyIjo4MDYzMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zYXR1LXdhbGxldC1jcnlwdG8td2FsbGV0cy9pZDY3NTkzMzY2NjQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5jcnlwdG9uZXJkLlNhdHVXYWxsZXQmcGNhbXBhaWduaWQ9d2ViX3NoYXJlIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9zYXR1LXdhbGxldC9mZWFpZ2pha2VkYW1naGlibGdlZ2dtZGZpZWllY2xtYSIsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6ImNvbS5zYXR1d2FsbGV0LmV4dGVuc2lvbiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJzYXR1d2FsbGV0Oi8vd2MiLCJ1bml2ZXJzYWwiOiJodHRwczovL3NhdHV3YWxsZXQuY29tL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJlYmE4YzY2ODc5ZGYxYjA2NTRjOGU1MTUxMDBlYzcxMjdhMmQyOTk0NTNlMzI5ZjNhNWM0N2VhY2IyZmE3OGMxIjp7ImlkIjoiZWJhOGM2Njg3OWRmMWIwNjU0YzhlNTE1MTAwZWM3MTI3YTJkMjk5NDUzZTMyOWYzYTVjNDdlYWNiMmZhNzhjMSIsIm5hbWUiOiJOaXhXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbml4d2FsbGV0LnZlcmNlbC5hcHAiLCJpbWFnZV9pZCI6ImE5N2I5MTgzLTZmMjgtNDUxYy1mOTNkLTYxNjMyNTY3YmIwMCIsIm9yZGVyIjo4MDcxMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL25peHdhbGxldC52ZXJjZWwuYXBwIiwiaW9zIjoiIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvbml4d2FsbGV0L25ra2FpZGFwaWxkYmtqbW5mZWllZXBtZWpnaGdtaXBpIiwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLm5peHdhbGxldC5leHRlbnNpb24iLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9uaXh3YWxsZXQudmVyY2VsLmFwcCJ9fSwiZmQzYTU5YWUxMWYyNzlhOGNjZThlYzliOGI5YTRlYjNhN2Q4MTgzYWUxMWUxYmYxZGYwOGQ3YmZmYWE1MjEwMiI6eyJpZCI6ImZkM2E1OWFlMTFmMjc5YThjY2U4ZWM5YjhiOWE0ZWIzYTdkODE4M2FlMTFlMWJmMWRmMDhkN2JmZmFhNTIxMDIiLCJuYW1lIjoiVVhVWSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LnV4dXkuY29tLyIsImltYWdlX2lkIjoiMjY1OTdhY2UtYjQzYi00MjY3LWU5MDctMTE4ZmQ3Yzc4MDAwIiwib3JkZXIiOjgwNzIwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2lkNjc0NDAxMDUzOSIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnV4dXkuZmFzdCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoidXh1eWFwcDovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbGluay51eHV5LmlkIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI2YmIzMWI2ZjQwNTE2ZjlmNjM4NzQxZWUwMjM3ZjAwOWViYjQ2NGY3OWUwMGFjMjQ5NzJmN2M0ODc1OTFhZTNhIjp7ImlkIjoiNmJiMzFiNmY0MDUxNmY5ZjYzODc0MWVlMDIzN2YwMDllYmI0NjRmNzllMDBhYzI0OTcyZjdjNDg3NTkxYWUzYSIsIm5hbWUiOiJGcmVlaG9sZCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vZnJlZWhvbGQuZmluYW5jZS8iLCJpbWFnZV9pZCI6IjBlOGFjNDg5LWYwYmEtNGI1OS0yNDE1LTdkODEzMWEzZjgwMCIsIm9yZGVyIjo4MDczMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9mcmVlaG9sZC13YWxsZXQvaWQ2NTA0Mjc5NTgxIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoiZnJlZWhvbGRhcHA6Ly93YWxsZXRjb25uZWN0L3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9mcmVlaG9sZC5maW5hbmNlL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJlN2I1OTQ3Zjk5NjBjMzAyNmU0MmViYzU3NTAyN2JhN2Q3OGRlZDgxNDAwOTNlODAwY2U5MWM3ZjlkM2IzMTExIjp7ImlkIjoiZTdiNTk0N2Y5OTYwYzMwMjZlNDJlYmM1NzUwMjdiYTdkNzhkZWQ4MTQwMDkzZTgwMGNlOTFjN2Y5ZDNiMzExMSIsIm5hbWUiOiJIQVNIV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5lc2lnbnVzLmNvbSIsImltYWdlX2lkIjoiMWUyYmYxMWYtMTQzNS00NDY5LWI2OTItODUzYmFkNDEwNjAwIiwib3JkZXIiOjgwNzYwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vZXMvYXBwL2hhc2h3YWxsZXQtbWFuYWdlci9pZDY0NDM0ODQwNjMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5lc2lnbnVzLmhhc2h3YWxsZXRtYW5hZ2VyJnBsaT0xIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJoYXNod2FsbGV0Oi8vYXBwL3djIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI1MWEyMWFjMzk0MzVkNjFkMjhiZGMxMjYxODYyYmFjNDFhOTE4ZjlhMDYyNjlkNjg3NDlkMTBmNmRlZjJiNjA0Ijp7ImlkIjoiNTFhMjFhYzM5NDM1ZDYxZDI4YmRjMTI2MTg2MmJhYzQxYTkxOGY5YTA2MjY5ZDY4NzQ5ZDEwZjZkZWYyYjYwNCIsIm5hbWUiOiJMeHhEYW9XYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3Lmx4eGRhby5uZXQvIiwiaW1hZ2VfaWQiOiI0YzE3OWEwNi0zZDFmLTQwOGQtNGQ2Ny05M2RlNzA5OWUyMDAiLCJvcmRlciI6ODA3OTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvbHh4LWRhby1jcnlwdG8td2FsbGV0LWFwcC9pZDY3NjQ5MDA0MjQiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5seHhkYW8ud2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9vZ2JkZmxhYmFvZW1uZG5naW9lZHBlZGtjaWVpbmZjYT91dG1fc291cmNlPWl0ZW0tc2hhcmUtY2IiLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJuZXQubHh4ZGFvLndhbGxldCIsIm1vYmlsZSI6eyJuYXRpdmUiOiJseHhkYW86Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2x4eGRhby5uZXQifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sImZmOGM2ZjQwNWYxNGNiYjIxZmE5YjBhYjUzMzgxNTliODU4MjJmN2NhYjdmMTA0MGQ0YzRlMjZiZjYzZmYyMzMiOnsiaWQiOiJmZjhjNmY0MDVmMTRjYmIyMWZhOWIwYWI1MzM4MTU5Yjg1ODIyZjdjYWI3ZjEwNDBkNGM0ZTI2YmY2M2ZmMjMzIiwibmFtZSI6InBsdWciLCJob21lcGFnZSI6Imh0dHBzOi8vcGx1Z3dhbGxldC5vb28vIiwiaW1hZ2VfaWQiOiI5NWVmYWUyMC03NzEyLTRkZjgtMDU3OC05ZjExN2I4MGQxMDAiLCJvcmRlciI6ODA4MDAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvcGx1Zy1jcnlwdG8td2FsbGV0L2lkMTU5OTU3MDE5NyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y28ucHN5Y2hlZGVsaWMucGx1ZyZobD1lbi1VUyIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvcGx1Zy9jZmJmZGhpbWlmZG1kZWhqbWtkb2JwY2pmZWZibGtqbSIsImZpcmVmb3giOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL3BsdWcvP3V0bV9zb3VyY2U9YWRkb25zLm1vemlsbGEub3JnJnV0bV9tZWRpdW09cmVmZXJyYWwmdXRtX2NvbnRlbnQ9c2VhcmNoaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9hZGRvbi9wbHVnLyIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6Im9vby5wbHVnd2FsbGV0IiwibW9iaWxlIjp7Im5hdGl2ZSI6InBsdWc6Ly8iLCJ1bml2ZXJzYWwiOiJwbHVnd2FsbGV0Lm9vbyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiZWRmYzlmN2FkNjJjNDljYjBkOThmMzg1MmZiMmM1ZThhZjgzYmQ4MjkyZmM3YzBhZDEzNjkxNDFmZTE5Yzg3ZiI6eyJpZCI6ImVkZmM5ZjdhZDYyYzQ5Y2IwZDk4ZjM4NTJmYjJjNWU4YWY4M2JkODI5MmZjN2MwYWQxMzY5MTQxZmUxOWM4N2YiLCJuYW1lIjoiU2lyaXVzIE1YIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5wcm94aW1heC5sdGQvZW4vcHJpdmFjeS1zaXJpdXNteCIsImltYWdlX2lkIjoiMzBiYjA2ODUtMjQzYy00NmI1LTRjODktMTJiM2U2M2JkODAwIiwib3JkZXIiOjgwODEwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vc2lyaXVzbXguc2lyaXVzY2hhaW4uaW8iLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9zaXJpdXMtbXgvaWQ2NzQ2NzEyMjI0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1hcHAuc2lyaXVzLm14IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcGxpbmsubXVsdGl4dy5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3Npcml1c214LnNpcml1c2NoYWluLmlvIn19LCI5MjA3NDg2NjQwY2NiZTU2NDFiNTgxYjljNjNkMTRmOWRmZGM0NDZiNjAzOWE4ZDIyOTM1YWRiMzY0ZDZkMGE3Ijp7ImlkIjoiOTIwNzQ4NjY0MGNjYmU1NjQxYjU4MWI5YzYzZDE0ZjlkZmRjNDQ2YjYwMzlhOGQyMjkzNWFkYjM2NGQ2ZDBhNyIsIm5hbWUiOiJCbG9GaW4gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dhbGxldC5ibG9maW4uY29tLyIsImltYWdlX2lkIjoiM2YzYTVlZTctYTBkMS00NTRkLTYzMTMtZDg4YjNlMWZlNzAwIiwib3JkZXIiOjgwODIwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkNjc1MzIxMDkxOT9wdD0xMjQ0MjUwMDEmY3Q9d2FsbGV0Y29ubmVjdCZtdD04IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYmxvZmluLndhbGxldC53YWxsZXQmY3Q9d2FsbGV0Y29ubmVjdCZtdD04IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiIiwiZmlyZWZveCI6IiIsInNhZmFyaSI6IiIsImVkZ2UiOiIiLCJvcGVyYSI6IiJ9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6IiIsIm1vYmlsZSI6eyJuYXRpdmUiOiJibG9maW4td2FsbGV0Oi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93YWxsZXQuYmxvZmluLmNvbS9hcHAvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJiY2Q2YjIzMjkwNTg3YTc1YmNjYjA4ZDRkZGQwNzE4YWMxYzkzMDViYWE1MDliMzUwNDlkOTEwNmViNGE3YjExIjp7ImlkIjoiYmNkNmIyMzI5MDU4N2E3NWJjY2IwOGQ0ZGRkMDcxOGFjMWM5MzA1YmFhNTA5YjM1MDQ5ZDkxMDZlYjRhN2IxMSIsIm5hbWUiOiJXb2sgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dva3dhbGxldC5jb20iLCJpbWFnZV9pZCI6IjVlMzk3M2Q0LTBkNDctNGZkMS0yY2UxLWQyNjhkNzA3YmMwMCIsIm9yZGVyIjo4MDgzMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC93b2t3YWxsZXQvaWQ2NzYxMjUwMTcyIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6IiIsImZpcmVmb3giOiIiLCJzYWZhcmkiOiIiLCJlZGdlIjoiIiwib3BlcmEiOiIifSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiIiLCJtb2JpbGUiOnsibmF0aXZlIjoid29rd2FsbGV0Oi8vd2MiLCJ1bml2ZXJzYWwiOiJodHRwczovL3dva3dhbGxldC5jb20ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjYxYmQ5ODQyNTA4MWI3MzAwNjAxZjQ0N2ExMGNiODBlZWY2OTFjMmM0YmEyOGI1OTA5ZmM0NDI1MDExZWM0MDIiOnsiaWQiOiI2MWJkOTg0MjUwODFiNzMwMDYwMWY0NDdhMTBjYjgwZWVmNjkxYzJjNGJhMjhiNTkwOWZjNDQyNTAxMWVjNDAyIiwibmFtZSI6IlN1cGVyIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9zdXBlci13YWxsZXQvYWxoYmRsamtobW5qY2FrbXBjaGZpZGhtYWZpa2Nvb20/aGw9ZW4mcGxpPTEiLCJpbWFnZV9pZCI6IjY3Y2JiMmMxLWM4NTYtNGU2Yy04ZWJjLTdlMmY1ZmYxMmQwMCIsIm9yZGVyIjo4MDkyMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC9zdXBlci13YWxsZXQvYWxoYmRsamtobW5qY2FrbXBjaGZpZGhtYWZpa2Nvb20/aGw9ZW4mcGxpPTEiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiY29tLnN1cGVyZWFybi53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI2Yjc3MGM0YTBmODA0NzIxOThiNTc3OTgxNzEwZjI5ZTVhMmQ1MmQ2ZjY0YWY2MTZiNDlhZWVhOGUxYjdjYWJmIjp7ImlkIjoiNmI3NzBjNGEwZjgwNDcyMTk4YjU3Nzk4MTcxMGYyOWU1YTJkNTJkNmY2NGFmNjE2YjQ5YWVlYThlMWI3Y2FiZiIsIm5hbWUiOiJBcmNhIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9hcmNhd2FsbGV0LmFwcC8iLCJpbWFnZV9pZCI6IjgwY2JhNjAzLTNkZjctNDM5Yy0yOWZjLTlkNWZmMWZjNjQwMCIsIm9yZGVyIjo4MDk1MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIgaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvYXJjYS13YWxsZXQvaWQ2NzU3NzYwNTg0ICIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9aW8uY29uc3RlbGxhdGlvbm5ldHdvcmsuYXJjYSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYXJjYXdhbGxldDovL3djIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcmNhd2FsbGV0LmFwcC93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMmI4NTg0ODRhNjI1MDQ4NzliN2E3NjBhMGU2MjEzNjYxNmI5ZmRlYjUzYjcyZjBiYTFhYjlkZWQzZmZkNzhjNSI6eyJpZCI6IjJiODU4NDg0YTYyNTA0ODc5YjdhNzYwYTBlNjIxMzY2MTZiOWZkZWI1M2I3MmYwYmExYWI5ZGVkM2ZmZDc4YzUiLCJuYW1lIjoiQnJpZGdlIFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cubXRwZWxlcmluLmNvbS9icmlkZ2Utd2FsbGV0IiwiaW1hZ2VfaWQiOiI1MjEyY2EzNi0wYWZjLTQ1MGUtMzU1YS1lMGMwZWQ4N2Y5MDAiLCJvcmRlciI6ODA5NjAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYnJpZGdlLXdhbGxldC1iaXRjb2luLWNyeXB0by9pZDE0ODE4NTk2ODAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5tdHBlbGVyaW4uYnJpZGdlIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL2JyaWRnZS5tdHBlbGVyaW4uY29tL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCI5OGJiZmIxNmQxMTFlZTNkMzllYjkzMTFjOTVjMWRkOWRkMDk3YzQ3YzRkYzY2NjUxOTJlZDI5M2YzNmE3YzFjIjp7ImlkIjoiOThiYmZiMTZkMTExZWUzZDM5ZWI5MzExYzk1YzFkZDlkZDA5N2M0N2M0ZGM2NjY1MTkyZWQyOTNmMzZhN2MxYyIsIm5hbWUiOiJNb25lZGEiLCJob21lcGFnZSI6Imh0dHBzOi8vbW9uZWRhLmNvbSIsImltYWdlX2lkIjoiNGRiYTc4YmMtMjViNS00ZGViLTYyMTUtNzgzOGFhZTE2ZjAwIiwib3JkZXIiOjgxMDAwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL21vbmVkYS9pZDY3NDE4NjkyMzYiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5tb25lZGEuaW8iLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOiIiLCJmaXJlZm94IjoiIiwic2FmYXJpIjoiIiwiZWRnZSI6IiIsIm9wZXJhIjoiIn0sImluamVjdGVkIjpudWxsLCJyZG5zIjoiIiwibW9iaWxlIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXV0aC5tb25lZGEuY29tIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIyNTYyNmI2NjAwNTJkNGZlMTU5MjZhNDhiZjNlMGFlOWFkZTViOGI2ZGFjZGQzZDA3Mjc5NWM2NjJkYmRiM2VlIjp7ImlkIjoiMjU2MjZiNjYwMDUyZDRmZTE1OTI2YTQ4YmYzZTBhZTlhZGU1YjhiNmRhY2RkM2QwNzI3OTVjNjYyZGJkYjNlZSIsIm5hbWUiOiJPcGVubG9vcCBDb25uZWN0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5jcnlwdG8uaGF1ZGkuanAvb3Blbmxvb3AvIiwiaW1hZ2VfaWQiOiJkOWE1NzMxZS02YWMzLTRjYzQtYjc1My01ZTM1ODQxZjBiMDAiLCJvcmRlciI6ODEwMTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvb3Blbmxvb3AtY29ubmVjdC9pZDY3NjI3MzgyODMiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWpwLmhhdWRpLmNyeXB0by5vcGVubG9vcGNvbm5lY3QiLCJtYWMiOiJodHRwczovL3d3dy5jcnlwdG8uaGF1ZGkuanAvb3Blbmxvb3AvZG93bmxvYWRzLyNtYWMiLCJ3aW5kb3dzIjoiaHR0cHM6Ly9hcHBzLm1pY3Jvc29mdC5jb20vZGV0YWlsLzlwcGowc3hnMzh2biIsImxpbnV4IjoiaHR0cHM6Ly93d3cuY3J5cHRvLmhhdWRpLmpwL29wZW5sb29wL2Rvd25sb2Fkcy8jbGludXgiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6Im9wZW5sb29wOi8vIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly93d3cuY3J5cHRvLmhhdWRpLmpwL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoib3Blbmxvb3A6Ly8iLCJ1bml2ZXJzYWwiOiIifX0sIjI5MDUwMDYxOThmMGYzOGRlZjAwMTAzMzg0OTgzYTVmYzZjMTdmYTYxOTQ5YzEzNDE1MTVkMmUzZDhlYTE0ZTUiOnsiaWQiOiIyOTA1MDA2MTk4ZjBmMzhkZWYwMDEwMzM4NDk4M2E1ZmM2YzE3ZmE2MTk0OWMxMzQxNTE1ZDJlM2Q4ZWExNGU1IiwibmFtZSI6IlpLWCBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vemt4d2FsbGV0LmNvbS8iLCJpbWFnZV9pZCI6ImRkNGYyYjBiLWQ5NTgtNDFhNi01MzUyLTA5ZGRiOGY0YTQwMCIsIm9yZGVyIjo4MTA1MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiIiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjoiaHR0cHM6Ly9jaHJvbWV3ZWJzdG9yZS5nb29nbGUuY29tL2RldGFpbC96a3gtd2ViMy13YWxsZXQvZmliZmFhbmdnaGFiZGJuZGFtaWFjZW9haGlhamZnY2siLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJjb20uemt4LmFwcC53YWxsZXQiLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCIyNmE1ODIwNjdiNGY5NjBlOTEwNDc2ODcwNGVjNmZhNjQyOTcwNDUwYWNlZmEwNGM3ODJkYmJjY2M1NzViM2I4Ijp7ImlkIjoiMjZhNTgyMDY3YjRmOTYwZTkxMDQ3Njg3MDRlYzZmYTY0Mjk3MDQ1MGFjZWZhMDRjNzgyZGJiY2NjNTc1YjNiOCIsIm5hbWUiOiJNeSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vbXl3YWxsZXQuaW8vIiwiaW1hZ2VfaWQiOiI0MTg2OTAwOS04MGMwLTRkYWEtZWJmYi1lZGZlZGZlYzE3MDAiLCJvcmRlciI6ODEwODAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hZS9hcHAvbXl0b253YWxsZXQtYW55d2F5LXRvbi13YWxsZXQvaWQ2NDY0Njc3ODQ0IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcubXl0b253YWxsZXQuYXBwIiwibWFjIjoiaHR0cHM6Ly9nZXQubXl0b253YWxsZXQuaW8vIiwid2luZG93cyI6Imh0dHBzOi8vZ2V0Lm15dG9ud2FsbGV0LmlvLyIsImxpbnV4IjoiaHR0cHM6Ly9nZXQubXl0b253YWxsZXQuaW8vIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJteXdhbGxldC13YzovLyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vbXkudHQvd2MvIn0sImRlc2t0b3AiOnsibmF0aXZlIjoibXl3YWxsZXQtd2M6Ly8iLCJ1bml2ZXJzYWwiOiIifX0sImUwZGYwYjE1YWJkMjEzMGVlN2MxZWY2M2NjNWM1YmI4ZDdhYzU1NGRmN2U5NmJkZDZjOGUyNWMwMzlmMzE5MWMiOnsiaWQiOiJlMGRmMGIxNWFiZDIxMzBlZTdjMWVmNjNjYzVjNWJiOGQ3YWM1NTRkZjdlOTZiZGQ2YzhlMjVjMDM5ZjMxOTFjIiwibmFtZSI6IlNhbmN0dW0gV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3dlYi5zYW5jdHVtd2FsbGV0LmFwcC93Yz91cmk9PHdjX3VyaT4iLCJpbWFnZV9pZCI6IjkyYmM5YTk3LWY3ZjctNDkwYi0zOTgxLTEwZWRiNDY0MDMwMCIsIm9yZGVyIjo4MTExMCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL3dlYi5zYW5jdHVtd2FsbGV0LmFwcC8iLCJpb3MiOiIiLCJhbmRyb2lkIjoiIiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiJodHRwczovL3dlYi5zYW5jdHVtd2FsbGV0LmFwcC8ifX0sIjFjMDE0ZmI4NjUxZDBlYTExMWNlYzZjMDI1NDZkYjUwNzllMTUxMmM0N2E4MjdjNjRlNjMxOTAyNTE1NjY2NGYiOnsiaWQiOiIxYzAxNGZiODY1MWQwZWExMTFjZWM2YzAyNTQ2ZGI1MDc5ZTE1MTJjNDdhODI3YzY0ZTYzMTkwMjUxNTY2NjRmIiwibmFtZSI6IktJTUwgV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2tpbWx3YWxsZXQuY29tLyIsImltYWdlX2lkIjoiMDM2ZDQwZTItMjRmMy00YTk5LWJhYzUtN2ZkYjBkMWE0NDAwIiwib3JkZXIiOjgxMTMwLCJhcHAiOnsiYnJvd3NlciI6Imh0dHBzOi8vYXBwLmtpbWx3YWxsZXQuY29tLyIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2tpbWwtd2FsbGV0L2lkNjc0NjkyOTUzMCIsImFuZHJvaWQiOiIiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImtpbWx3YWxsZXQ6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2FwcC5raW1sd2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmtpbWx3YWxsZXQuY29tLyJ9fSwiNzU1M2ZmMTUzMzk0ODc3YzVhMmM4NWM4YzI5ZDQ5NzQyMDNiMWQxMDE3Y2NhYjYzNjJmNDJiMjAzZGJkZmMwMSI6eyJpZCI6Ijc1NTNmZjE1MzM5NDg3N2M1YTJjODVjOGMyOWQ0OTc0MjAzYjFkMTAxN2NjYWI2MzYyZjQyYjIwM2RiZGZjMDEiLCJuYW1lIjoiS2F0eiBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8va2F0endhbGxldC5jb20iLCJpbWFnZV9pZCI6IjZjY2FkMjRiLTZhMzItNGViYS03M2Y5LTZiMTE1ZTc1YzAwMCIsIm9yZGVyIjo4MTE0MCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC94cnAtd2FsbGV0LWJ5LWthdHovaWQ2NzQ5NDQyNDczIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20ua2F0endhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9rYXR6d2FsbGV0LmNvbSJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiYTFlMTRkYTNkYzE2OGUzYzU2MzJlN2M0ZmY4MmNhMWUxYzk0MTY3NGU2YTI5NWE1NTg0OWQ4ZGExNGEzMDRlMiI6eyJpZCI6ImExZTE0ZGEzZGMxNjhlM2M1NjMyZTdjNGZmODJjYTFlMWM5NDE2NzRlNmEyOTVhNTU4NDlkOGRhMTRhMzA0ZTIiLCJuYW1lIjoiREFSVFMtV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2FwcC53YWxsZXQuZGFydHMubmUuanAiLCJpbWFnZV9pZCI6IjNlNzVmZTZmLWU3MTQtNDBlMS0wZmZiLWM0NzMwNzZlMGQwMCIsIm9yZGVyIjo4MTE3MCwiYXBwIjp7ImJyb3dzZXIiOiJodHRwczovL2FwcC53YWxsZXQuZGFydHMubmUuanAvIiwiaW9zIjoiIiwiYW5kcm9pZCI6IiIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiaHR0cHM6Ly9hcHAud2FsbGV0LmRhcnRzLm5lLmpwLyJ9fSwiOTMyNDRkZTIzYmE5MWU1MmUwZDJhOTJhYzEzNzBiMGVmMGFiMzIxMjBlYjhlODNjNGJkMDE0ZjNkNWQ2YjcwOSI6eyJpZCI6IjkzMjQ0ZGUyM2JhOTFlNTJlMGQyYTkyYWMxMzcwYjBlZjBhYjMyMTIwZWI4ZTgzYzRiZDAxNGYzZDVkNmI3MDkiLCJuYW1lIjoiVGFsaXNtYW4iLCJob21lcGFnZSI6Imh0dHBzOi8vdGFsaXNtYW4ueHl6IiwiaW1hZ2VfaWQiOiI3YjhhZjMyNC0xYjE0LTQ0ZWItZDBiNS1jYTk4NTUwYTY5MDAiLCJvcmRlciI6ODExODAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdGFsaXNtYW4td2FsbGV0L2lkNjc2MTQyNzI0MCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9eHl6LnRhbGlzbWFuLmFwcCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6Imh0dHBzOi8vY2hyb21ld2Vic3RvcmUuZ29vZ2xlLmNvbS9kZXRhaWwvdGFsaXNtYW4td2FsbGV0L2Zpam5namdjamhqbW1wY21rZWlvbWxnbHBlaWlqa2xkP2hsPWVuIiwiZmlyZWZveCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvYWRkb24vdGFsaXNtYW4td2FsbGV0LWV4dGVuc2lvbi8iLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOiJ4eXoudGFsaXNtYW4iLCJtb2JpbGUiOnsibmF0aXZlIjoidGFsaXNtYW46Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3RhbGlzbWFuLnh5ei93YyJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMzgzOGZkYzZjMzk2NDAyM2Y0OWQ2NzkwYWY0YmQwODcwZjhjMDdjNmQzYWE4Y2UxZTAxZjI3MzIzNzRkYTQ4NiI6eyJpZCI6IjM4MzhmZGM2YzM5NjQwMjNmNDlkNjc5MGFmNGJkMDg3MGY4YzA3YzZkM2FhOGNlMWUwMWYyNzMyMzc0ZGE0ODYiLCJuYW1lIjoiS2FpYSBXYWxsZXQiLCJob21lcGFnZSI6Imh0dHBzOi8vd3d3LmthaWF3YWxsZXQuaW8vIiwiaW1hZ2VfaWQiOiJmNTRkMjIxOC05NDQyLTQ5MjEtODkzZC0zNmQ4ZmU4MjkxMDAiLCJvcmRlciI6ODExOTAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9rci9hcHAva2FpYS13YWxsZXQvaWQ2NTAyODk2Mzg3IiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5rbHV0Y2gud2FsbGV0JnBjYW1wYWlnbmlkPXdlYl9zaGFyZSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoia2FpYXdhbGxldDovL3dhbGxldCIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLmthaWF3YWxsZXQuaW8ifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjljNzhhZWU3ZDhhNzcxMjU1OTQyMzM0ZDA2ZDJjYmFiODllMjE3OGVlNDlmZWU0ZWEzYjZjNzgwMzJmY2FjNzYiOnsiaWQiOiI5Yzc4YWVlN2Q4YTc3MTI1NTk0MjMzNGQwNmQyY2JhYjg5ZTIxNzhlZTQ5ZmVlNGVhM2I2Yzc4MDMyZmNhYzc2IiwibmFtZSI6IlNjb3B1bHkiLCJob21lcGFnZSI6Imh0dHBzOi8vc2NvcHVseS5jb20iLCJpbWFnZV9pZCI6Ijg5ZGVlNDY2LTFkZTYtNDRlMi1mMDBkLTllOWQ1ZWVjZWMwMCIsIm9yZGVyIjo4MTIwMCwiYXBwIjp7ImJyb3dzZXIiOiIiLCJpb3MiOiJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9pZDEzODM0MDIyMTg/cGxhdGZvcm09aXBob25lIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uc2RleC5hcHAiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InNjb3B1bHk6Ly93YyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLnNjb3B1bHkuY29tL3djIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJhNDYwNDAyMmJmOTE5OWNhNmQ3NjJjNTY2M2Q4YTYxODZhOWNhNGI2MDdiOWRjYjI5YmNiODEwNTRkNmYxMDkxIjp7ImlkIjoiYTQ2MDQwMjJiZjkxOTljYTZkNzYyYzU2NjNkOGE2MTg2YTljYTRiNjA3YjlkY2IyOWJjYjgxMDU0ZDZmMTA5MSIsIm5hbWUiOiJTd2lmdEV4IFdhbGxldCIsImhvbWVwYWdlIjoiaHR0cHM6Ly9zd2lmdGV4Y2hhbmdlLmlvLyIsImltYWdlX2lkIjoiNTRjMDZjNmEtMzMzZC00OWQ2LWYyZmQtN2U4OWQyMDY4NTAwIiwib3JkZXIiOjgxMjEwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL3N3aWZ0ZXgtd2FsbGV0L2lkNjc1OTA4MDkzMCIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b3JnLmFwcC5zd2lmdEV4LndhbGxldCZwY2FtcGFpZ25pZD13ZWJfc2hhcmUiLCJtYWMiOiIiLCJ3aW5kb3dzIjoiIiwibGludXgiOiIiLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6InN3aWZ0RXg6Ly9hcHAuc3dpZnRleGNoYW5nZS5pbyIsInVuaXZlcnNhbCI6Imh0dHBzOi8vYXBwLnN3aWZ0ZXhjaGFuZ2UuaW8vIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJlM2Q2MTE3ODUwNDM1YjEzNTliODFkN2NlZjg2OWY2ODUxYzAwYWQyMTI1Y2FkYjA0ZjRlMDAzYmU4MDc0YWY2Ijp7ImlkIjoiZTNkNjExNzg1MDQzNWIxMzU5YjgxZDdjZWY4NjlmNjg1MWMwMGFkMjEyNWNhZGIwNGY0ZTAwM2JlODA3NGFmNiIsIm5hbWUiOiJNeW5hV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5teW5hd2FsbGV0LmNvLmpwL3NlcnZpY2VzIiwiaW1hZ2VfaWQiOiJhYzMzNDk2ZC1jZGY0LTQ2ZjQtOTQ2Ny0zZGI5M2IzMGJiMDAiLCJvcmRlciI6ODEyMzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvJUUzJTgzJTlFJUUzJTgyJUE0JUUzJTgzJThBJUUzJTgyJUE2JUUzJTgyJUE5JUUzJTgzJUFDJUUzJTgzJTgzJUUzJTgzJTg4L2lkNjc1MTgxMzcxNyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9anAuY28ubXluYXdhbGxldC5NeW5hV2FsbGV0IiwibWFjIjoiIiwid2luZG93cyI6IiIsImxpbnV4IjoiIiwiY2hyb21lIjpudWxsLCJmaXJlZm94IjpudWxsLCJzYWZhcmkiOm51bGwsImVkZ2UiOm51bGwsIm9wZXJhIjpudWxsfSwiaW5qZWN0ZWQiOm51bGwsInJkbnMiOm51bGwsIm1vYmlsZSI6eyJuYXRpdmUiOiJteW5hd2FsbGV0Oi8vd2M/dXJpPXdjOmFiYzEyMyIsInVuaXZlcnNhbCI6IiJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiMjFjYjNmZTk2NzU5MDlhZWRlNWRiZjRjMjdmNjU0YzBjNjZkOGZiMTI3MmY0OTdhZGIwZjEyZWQwMWIwYTU5OSI6eyJpZCI6IjIxY2IzZmU5Njc1OTA5YWVkZTVkYmY0YzI3ZjY1NGMwYzY2ZDhmYjEyNzJmNDk3YWRiMGYxMmVkMDFiMGE1OTkiLCJuYW1lIjoiQmlub3ggV2FsbGV0IiwiaG9tZXBhZ2UiOiJodHRwczovL2Jpbm94LnNwYWNlICIsImltYWdlX2lkIjoiNWYyOTA5NzgtYzgzYS00MjZjLTllY2ItNGY3NDViODJhNDAwIiwib3JkZXIiOjgxMzMwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6IiIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmJpbm94LndhbGxldCIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiYmlub3g6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL2Jpbm94LnNwYWNlL3djLmh0bWwifSwiZGVza3RvcCI6eyJuYXRpdmUiOiIiLCJ1bml2ZXJzYWwiOiIifX0sIjcxNzE5NzM4ZDBlZDJlYWJhMDU4ODRiN2FjYjM1ODJmOTlmMjI0Y2VmOTM4NWU0ZGQ1YmFiMWZjZDEyMjljZWEiOnsiaWQiOiI3MTcxOTczOGQwZWQyZWFiYTA1ODg0YjdhY2IzNTgyZjk5ZjIyNGNlZjkzODVlNGRkNWJhYjFmY2QxMjI5Y2VhIiwibmFtZSI6IkN5cGVyIiwiaG9tZXBhZ2UiOiJodHRwczovL3d3dy5jeXBlcmNoYXQubmV0LyIsImltYWdlX2lkIjoiZDQ4OTM0ZWMtMzViOS00OTI5LWRmYzMtYWRlN2QzNGU0NzAwIiwib3JkZXIiOjgxMzQwLCJhcHAiOnsiYnJvd3NlciI6IiIsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vbXkvYXBwL2N5cGVyL2lkNjc1NDU1MjE5MyIsImFuZHJvaWQiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLm16bC5jeXBlciIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoiY3lwZXI6Ly9hcHAvd2FsbGV0L2luZGV4IiwidW5pdmVyc2FsIjoiIn0sImRlc2t0b3AiOnsibmF0aXZlIjoiIiwidW5pdmVyc2FsIjoiIn19LCJmYjg5Nzk3YTc1ZjQ1NDdiM2M5MGMxZWViMzc4ZDBkZjA0MjNlYTc1NjA2YmIwMTkzYzRkODczZWYyZTIxNTBiIjp7ImlkIjoiZmI4OTc5N2E3NWY0NTQ3YjNjOTBjMWVlYjM3OGQwZGYwNDIzZWE3NTYwNmJiMDE5M2M0ZDg3M2VmMmUyMTUwYiIsIm5hbWUiOiJXYWxsZXR2ZXJzZSIsImhvbWVwYWdlIjoiaHR0cHM6Ly93YWxsZXR2ZXJzZS5pby8iLCJpbWFnZV9pZCI6ImNhOTExMzhlLTA1NDYtNGNmZS0wNzFkLTIxODEyNDFkYzYwMCIsIm9yZGVyIjoxMDU3NzAsImFwcCI6eyJicm93c2VyIjoiIiwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvd2FsbGV0LXZlcnNlLWRlZmktYnV5LWNyeXB0by9pZDY0NjI2NzI2NjAiLCJhbmRyb2lkIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS53YWxsZXR2ZXJzZSIsIm1hYyI6IiIsIndpbmRvd3MiOiIiLCJsaW51eCI6IiIsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjoid2FsbGV0dmVyc2U6Ly8iLCJ1bml2ZXJzYWwiOiJodHRwczovL3d2di50byJ9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6IiIsInVuaXZlcnNhbCI6IiJ9fSwiNmJjYzI0ZjhkZjhkYTk5ODlkMzA3MTczMmU3OWNlZDNlZjc1ZDQwNWQ0YWFiMmFmOGYxOTgxMDVlMDNhYWNlMSI6eyJpZCI6IjZiY2MyNGY4ZGY4ZGE5OTg5ZDMwNzE3MzJlNzljZWQzZWY3NWQ0MDVkNGFhYjJhZjhmMTk4MTA1ZTAzYWFjZTEiLCJuYW1lIjoiQmVyYVNpZyIsImhvbWVwYWdlIjoiaHR0cHM6Ly9iZXJhc2lnLmNvbSIsImltYWdlX2lkIjoiNDFlMjM0YTctZDAwZS00YjA4LWY5MGItMGQ1ZTg2MjMxYzAwIiwib3JkZXIiOjEwNTc4MCwiYXBwIjp7ImJyb3dzZXIiOm51bGwsImlvcyI6Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2JlcmFzaWctd2FsbGV0LW9uLWJlcmFjaGFpbi9pZDY1MDIwNTI1MzUiLCJhbmRyb2lkIjpudWxsLCJtYWMiOm51bGwsIndpbmRvd3MiOm51bGwsImxpbnV4IjpudWxsLCJjaHJvbWUiOm51bGwsImZpcmVmb3giOm51bGwsInNhZmFyaSI6bnVsbCwiZWRnZSI6bnVsbCwib3BlcmEiOm51bGx9LCJpbmplY3RlZCI6bnVsbCwicmRucyI6bnVsbCwibW9iaWxlIjp7Im5hdGl2ZSI6ImJlcmFzaWc6Ly8iLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX0sIjk2ZmFjY2EyMzA5ZDk5Zjg0OGFhYThkOTAyMDZjOGYwNmVmMDY1MTFkOTdjNDk0YjI3ZWI5Y2ZhOTU3MTUzZWYiOnsiaWQiOiI5NmZhY2NhMjMwOWQ5OWY4NDhhYWE4ZDkwMjA2YzhmMDZlZjA2NTExZDk3YzQ5NGIyN2ViOWNmYTk1NzE1M2VmIiwibmFtZSI6IlRoZSByZWFsIHUiLCJob21lcGFnZSI6Imh0dHBzOi8vdGhlcmVhbHUub3JnIiwiaW1hZ2VfaWQiOiIyMTk3NTQ2NC1jMWI3LTRiZWYtMDQ2Ni0wNzI1YzY5MDBmMDAiLCJvcmRlciI6MTA1NzkwLCJhcHAiOnsiYnJvd3NlciI6bnVsbCwiaW9zIjoiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdHJ1LXRoZS1yZWFsLXUvaWQxNjM2MTc5MzkwIiwiYW5kcm9pZCI6Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udGhlcmVhbHlvdSZobD1lbl9HQiIsIm1hYyI6bnVsbCwid2luZG93cyI6bnVsbCwibGludXgiOm51bGwsImNocm9tZSI6bnVsbCwiZmlyZWZveCI6bnVsbCwic2FmYXJpIjpudWxsLCJlZGdlIjpudWxsLCJvcGVyYSI6bnVsbH0sImluamVjdGVkIjpudWxsLCJyZG5zIjpudWxsLCJtb2JpbGUiOnsibmF0aXZlIjpudWxsLCJ1bml2ZXJzYWwiOm51bGx9LCJkZXNrdG9wIjp7Im5hdGl2ZSI6bnVsbCwidW5pdmVyc2FsIjpudWxsfX19LCJjb3VudCI6NjI4LCJ0b3RhbCI6NjI4fQ=="}},"time_used":100,"timings":{"blocked":0,"dns":2,"connect":0,"send":0,"wait":82,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
